4 ms·
Praise text programming languages all you want and you will be correct. Programming languages used by coders are by far text based. However when you leave the
by kilon 10y ago
Praise text programming languages all you want and you will be correct. Programming languages used by coders are by far text based.
However when you leave the coder land and when you jump to user land this turns on its head. Overwhelming rejection of text based programming languages and overwhelming embrace of visual programming languages.
Every software that integrates a easy to learn scripting language like Python and Lua and later implements a visual programming language , users will pick the visual language in the vast majority of cases.
A very powerful visual programming language is Unreal's Blueprints which can completely replace the C++ Api for creating games of any sophistication. As a matter of fact as I have discovered it's easier to find documentation how to implement something with blueprints than C++.
It's a just a matter of time till visual programming languages overtake , text based languages because more and more apps prefer the visual coding route because this is why what the users ask.
Why ? Because it's easier to learn
It's easier to write, because there are no syntax or compiler errors.
But mostly it's easier to have fun with.
So if for an experience coder text based language is all he wants, for the user the choice is visual programming languages any day.
- torkable 10y ago[citation needed]
- justinmk 10y ago> Blueprints which can completely replace the C++ Api C++ is a rather low bar. > It's a just a matter of time ... That sets the upper limit to infinity, so it's a non-statement. > Because it's easier to learn It's easier to write, because there are no syntax or compiler errors. AST-constrained editing (e.g. lamdu[1]) will be very useful. But the lowest-common denominator cannot be "overtaken". That is why stdio is a binary stream, webapps are compiled to javascript, and programming is represented as text. Any advanced programming language that can't be represented and manipulated by ubiquitous tools will lose to one that does, so text will never--yes, never--be replaced as the common vernacular, for better or worse. To paraphrase Stephen Kell[2], Smalltalk lost because for whatever reason the people who hadn't yet "seen the light" continued to communicate and interoperate with each other. 1: http://www.lamdu.org/ http://www.lamdu.org/ 2: https://www.cl.cam.ac.uk/~srk31/research/papers/kell13operating.pdf https://www.cl.cam.ac.uk/~srk31/research/papers/kell13operat...
- hugozap 10y agoFor power users text based will always be preferred. Directed graphs look nice but visual programming has an important limitation: The ratio of useful information vs space is really small compared to text based representations. What can be represented in 10 lines of code needs a lot of space in the screen when using visual programming. With that said, I think there's a lot of room for improvement and maybe an hybrid model, where the expressiveness of text can be extended with visual cues. -
- grblovrflowerrr 10y agoI once mocked up what a hybrid model might look like: https://cdn-images-1.medium.com/max/640/1*a65r5zYR2hIc8UwfmFpmcw.png https://cdn-images-1.medium.com/max/640/1*a65r5zYR2hIc8UwfmF... But I found it was really difficult to define the layout rules and constraints. Eventually you have to start doing some collapsing or shift things around into different dimensions(which is a kinda cool proposition). I did some other design docs and mockups along the way but was eventually discouraged by the actual compiler implementation- not really my area of expertise and unfortunately I have another project taking up all of my time. Mainly I was interested in designing a language that would work well in VR. A nice property of a language like that is it would work well with touch-screen interfaces(Touch Develop has done some interesting work here).
- TeMPOraL 10y agoYour mockup reminds me of Mathcad[0]. It's used to create documents that look like math papers, except the formulas and code there can be executed "in situ". I had a semester of numerical methods on it at my university, and one thing I realized while using it is that, while cool for math expressions, it starts to get problematic when you start implementing more complex algorithms. Programming is a slightly different mental exercise than maths, and the code doesn't lend easily to that kind of representation. Not to say it's a thoroughly bad idea; I think there's a lot room for improvement over our flat, plaintext canvas we work with. [0] - https://en.wikipedia.org/wiki/Mathcad https://en.wikipedia.org/wiki/Mathcad
- 10y ago