Hello everyone. As a programmer myself (blender is a hobby for me) and against this point of view, I would like expose my thoughts for anyone to argue back, because since I saw the current fields dessign, I’ve always thought it was very good.
We programmers always try to simplify things for other programmers, because trying to understand code made by other people is really difficult and time consuming.
Also, for non-programmers, we try even harder and set everything ready with the lowest probability of failure, as any missunderstanding may inccur in more work for us
I understand people, specially those with programming knowledge see this system as a way to “program geometry”. But the thing is, we computer scientists hardly ever do program everything ourselves. We make use of already made “APIs”, as they are less error-prone and easier to understand, even for less expert users.
This is the way I see current fields dessign, as an API. You don’t have to keep track of everything, because the system does for you. That is the importance of Fields, the fact that, as in shading, everything is ready to work, even if you connect two sockets with different type, the nodegroup has a well defined fallback that will fix it for you.
Try yourself, if you can do any programming, to program anything without variables*. It is actually possible! Just really inconvenient.
(* other than arguments in function calls)
This GN Fields were to work, people could use Blender GN with no programming language, which is probably most of the artists (even if this chat may not be a good sample), because anyone who has learned to program or has teached someone will remember the first wall you hit is actually understanding (associating) variables to values or objects. It is not that straightforward to understand that a name represents a thing that may vary in time.
In fact, I can’t think of a case that can’t be done with the current system, given the correct feature requests, and enough time for the developers.
Actually, if you really want variables, there is the python scripting possibility. Why does nobody use it? In my opinion, because it is harder, and more error-prone, just the inverse of using APIs.
So I think this Fields work actually does reduce errors related to different data types, while being easier to read and to follow (rather than keep reading var names), and easier for any new user to step in.
Feel free to disagree with me and reply