Dynamo to me is a pretty functional programming language, in the sense that it is great to automate a lot of time consuming operations. In any powerful programming language you learn about at least two things: functions and classes.
Dynamo got functions down almost to a tee. Classes however seems to be a different can of worms. It doesn’t appear to lend itself for OOP, meaning you can’t easily make an object of a certain class and fill it with data.
Now imagine, if you will, the following. What used to irk me is that a function can only return one parameter. The value of that parameter can be a list. If you want to use the Original list or the new list for some new calculations, returning a different set of values - you’re out of luck, you’ll have to write a new function. Were it not for the powerful list operations in Dynamo: combine and transpose. Basically, you can run two operations on a list in one function, fetch the results in two seperate lists, and combine them. You’ll end up with one list containing two sublists, both having as many items as in the Original list (unless you’ve done some filtering first ofcourse). Now with transpose list, you’ll end up with as many sublists as there are items in the Original list, each sublist containing multiple values of multiple types (can be a string, or a number, a family definition, a point or a solid etc).
Sounds like the making of a class to me, with the exception that those properties aren’t read-only, meaning you can’t Get or Set a certain value in an individual instance of that class (unless you write a new abstract function to do so, but that would be taking the long route).
What I’m trying to get across here is this: how useful would it be to use what is in essence a Multi-dimensional array to make it behave as if it were some primitive sort of Class? And more to the point: how likely is it that Dynamo will support classes in the near future?