>>2749
And all this is because what you're coding is to do with syntax itself. Your program code is made to fit the problem's logical components, and this won't change. Object Oriented programming is not going to disappear, because it's ALWAYS going to be useful to separate aspects of your application/software into separate objects or components.
Visual programming (UE4's Blueprints) is INCREDIBLY primitive and tedious and clunky. Programming by hand can still be greatly improved from messing around with pointers in C++, but still, for that to happen you're still required to know WHY you're avoiding the low level code in the first place. So you still need a good programming education to use amazing tools. Otherwise you have no context for why you're doing whatever it is you're doing, you don't know what to do.
Programming by hand is just far more flexible and dynamic than any gui system could ever be (you're limited by very limited gui flexibility) - it gives a fine grained control, in a very compact amount of screen estate. You could NEVER program an OS with gui controls unless its design was extremely nuanced=specific=niche. You would need to create the visual parallel of IntelliSense, and it's just so complex (all systems design is) when you haven't even set out to know your project requirements yet because they're fucking interdependent with what you're able to innovate/achieve.
So basically nobody will get past strong typing ultimately because this is what underlies the very systems we use today = the very things we are actually creating off of. ASM to C++ you might say, but no, this pattern is much more general. It's not like Object Oriented programming will become something else next year. There is nothing that fits it better that becomes free from the previous underlying paradigm / "expression model". There's NOTHING more convenient AND flexible than strong static typing. If there was, it would also be about as obvious as OO programming,
and with flaws (like remembering what your custom compiler or memory pool manager is actually supposed to be fucking doing).
The path of least resistance is just to follow on from what other people are doing. If you need something like UE4's Blueprints, chances are, you're already encroaching on territory where the application is niche = you assume a lot of the context for using it (graphics/game). This is a required step when you make something specialized. We just don't usually have the resources to reinvent programming.
But of course if anyone DID reinvent programming from ASM (computing = "Turing machine"), it still wouldn't be dynamically typed, because that just offers no INFORMATION about a type.
It comes down to what expression even, itself, is. Parts of my programs are highly specific, and this is Inferred from the type/object. It's just part of the nature of programming itself, it's unavoidable. Unless you want to create something new (like UE4 Blueprints) where you assume certain things at certain times - but as I said, that has no general use because it's for a specific application.