Are visual programming languages, etc. looked down upon or seen as uncreative?
Posted by Difficult-Ask683@reddit | learnprogramming | View on Reddit | 37 comments
I'm just curious.
ToThePillory@reddit
No, I don't think so, but they're not really used in the real industry. They may be interesting learning tools, but you'll probably outgrow them.
Rguttersohn@reddit
What is a visual programming language?
jessepence@reddit
I think they might mean something like Scratch.
Wikipedia seems to agree.
OP: Yes, people generally look down on these languages. If nothing else, they carry the stigma of being made for children which implies (usually correctly) that they are less powerful than mainstream languages.
It doesn't seem very efficient. You can almost certainly type out statements faster than you can drag and drop them together, and scripting languages like JavaScript & Python already give you the benefit of not needing to worry about low-level primitives.
someRedditUser3012@reddit
Scratch and such, sure. To give some perspective..
Integration tools are pretty much all visual programming by default with options to extend with code. Examples like MS Logic Apps, Workato, Dell Boomi, Oracle Integration Cloud are used in enterprises. Hand coding all of that is not the way to go in traditionally.
PLC's are another example of traditionally GUI type programming and totally normal.
Dennarb@reddit
I've also found that beginners struggle just as much with things like UE blueprints as they do with a typed language for more or less the same reasons.
To program, you have to develop a programming mindset, where you think about things in a logical progression; often breaking down problems and solutions into these logical steps based on the fundamentals of your programming paradigm (often OOP) and computing in general.
Just because a new programmer is connecting nodes instead of writing lines of code, doesn't mean they don't have to utilize this headspace. Sure you don't have to worry about "pesky syntax" but you still need to have code executed in the proper order, pass the correct types, and all those other code things.
Monk481@reddit
Great answer. I agree. It's learning logical problem solving and algorithmic thinking 🤔Â
Alone_Barracuda7197@reddit
Theres one on unity store that compiles straight to c# or what ever it is that unity uses its a paid one and I just never used it enough but seemed good.
desrtfx@reddit
OP means graphical language.
Mediocre-Brain9051@reddit
Excel. Scratch, and plenty of dsls for automation. There are probably many more.
RolandMT32@reddit
I was wondering this too.. I've never heard of a 'visual' programming language. Maybe something to do with Microsoft Visual Studio? Though the language itself isn't visual; I'm not sure, but I think the name "Visual Studio" referred to the fact that the IDE has GUI/dialog designers to help you build GUI dialogs, and it generates the code for you to build the dialog.
eliminate1337@reddit
MIT Scratch
mxldevs@reddit
Blueprints in UE, events in RPG Maker
BeastyBaiter@reddit
Same question. Do you mean visual basic? As that's just an ordinary language.
ValentineBlacker@reddit
If it works it works.
desrtfx@reddit
Using visual programming languages pays me a decent amount so that I can live a good life. Only uninformed, ignorant people look down on them where in reality the most important, system critical infrastructure (think: power plants, waste incineration plants, steel mills, gas compressor and transfer stations, refineries, production lines, etc.) are all programmed in visual programming languages commonly known under the umbrella of IEC 61131-3 programming languages. Those are the languages used to program PLCs and DCS.
On PC level, they are not where they could be. Far, far more would be possible as the Industrial Automation sector demonstrates.
In general, looking down on a language (doesn't matter visual or textual) is just plain dumb and mostly from uninformed, ignorant people. Each language has its justification of existence, and most of them (apart from the esoteric ones) have real world usage.
tandem_kayak@reddit
That sounds like a cool job. How did you get into that? Did you come from a software background, or something else?
ifandbut@reddit
For me, I want to school for electrical engineering but was also interested in coding.
After taking a few digital circuits and logic classes I found an elective that mentioned programming but was under EE instead of SWE/IT. I took it and flew through it had the advanced class.
I had no idea how common they were. Just about every factory with any automation, even as simple as a few conveyors, has one or twenty.
Got a job out of college more or less because I knew what a PLC and Ladder Logic was.
Today we still can't find enough food programmers. I've been at my company for 10 years now and we have only recently gotten up to full staff (4 guys) in the PLC group.
In-demand job. Hard as hell to automate the people who do the automation (us). Pay is decent and sometimes jobs give you OT (my last two did and it is why I have stayed for 10 years).
Downsides are travel (30%+), physically demanding (waking long distances and crawling under machinery), and sometimes you work in hostile environments (freezers, paint booths, old unguarded machinery).
Check the PLC sub for more info and tons of helpful people.
One-Payment434@reddit
For PLCs I prefer structured text, and IME this is much better than any graphical programming language. Note that not all PLCs are programmed in graphical languages.
I also used labview at one time, which was a traumatic experience.
For text-based languages we have a bunch of tools making development easier including revision control and comparising tools (diff), which I haven't seen for graphical programming languages.
ifandbut@reddit
Just because you prefer structured text doesn't mean the customer does. I have had several jobs where they put in the contract "Ladder Logic Only".
One-Payment434@reddit
Too bad for you. The project(s) I'm working on wouldn't be possible with ladder logic
ifandbut@reddit
I was also going to mention PLCs. I prefer programming them in ladder or SFC over C#.
eliminate1337@reddit
Visual programming languages aren’t used by professionals at all outside of some very niche ones like LabVIEW. We don’t look down on them because we don’t think about them at all.
desrtfx@reddit
Oh how wrong you are. The entire Industrial Automation industry, the very things that generate the power that you use, the very things that control production lines, waste incineration plants, steel mills, refineries, oilfields, etc. are quite commonly programmed in graphical programming languages.
One-Payment434@reddit
See my other comment, not all automation industry is using graphical programming. Maybe you should look over the fence.
eliminate1337@reddit
Industrial automation in a niche. Software engineers doing web and cloud stuff probably outnumber industrial automation engineers 100 to 1. Maybe you think they’re under appreciated which is fine but it’s true that the overwhelming majority of SWEs never think about graphical programming.
ishowsneed@reddit
They are designed for beginners (and often children, like Scratch is for games) to understand basic programming patterns, concepts and problem solving. They aren't widely used in the tech industry, with some limited exceptions (some widely used commercial game engines have them, but usually alongside regular programming languages). They do have a bad reputation, i guess.
desrtfx@reddit
Some are designed for beginners - FTFY
There are absolutely professional graphical programming languages, just mostly not on desktop applications (National Instruments LabView is a honorable exception). Graphical languages are used in Industrial Automation and there for some of the most critical systems on the planet, far more important than any banking, financial, healthcare, etc. application. They are used to control entire power plants, waste incineration plants, and much more.
ishowsneed@reddit
I did not know this since my job is very far from being related to industrial automation. Interesting. Though they still get a bad reputation for being associated with those beginner languages, which is most likely what op is referring to in this case
gofl-zimbard-37@reddit
I've encountered a number of them, but never found any that were very useful for real world use (they look great in demos). It's hard to beat the expressive power of plain text.
odisJhonston@reddit
there are several popular visual programming languages used in creative fields:
https://cycling74.com/products/max
https://derivative.ca/feature/application-building/76
Backson@reddit
I had the pleasure of working with visual programming a couple of times and I hated it every time. I prefer code. But tastes differ.
jfinch3@reddit
Professionally, your “creativity” is much less appreciated than your productivity and they simply are not productive tools at scale and are not used.
It’s not really a question of them being looked down on.
_Atomfinger_@reddit
They're is not looked down upon, but people tend not to use them all that much because they're inefficient compared to regular ol' code.
With code I can just type out what I need rather than dragging nodes together or finding the correct "shape" or "module" to connect together. I just type. It allows me to express a solution faster and more effectively than I could with a visual programming language.
Furthermore, visual programming languages don't really scale well with complexity. Visual programming languages aren't really dense with information, at least not compared to regular programming. Which means getting a sense of how data flows and transforms through a complex system, details and all, is a real pain with visual programming languages.
Whole_Bid_360@reddit
Also for some visual programming languages like Unreal engine blueprints collaboration is harder. If you get a merge conflict using blueprints you have to take just one of the person commits you can't edit them and combine them together like regular programming languages.
Various-Activity4786@reddit
Assuming you mean things like Alice or other drag and drop languages?
I think mostly just because text is more dense, more expressive, and more manipulatable than blocks on a screen. When you scale beyond a few thousand blocks it gets very hard to scale it visually.
You can kinda see the same thing in media. Movies and comics and tv shows often can’t hit the same depth as a novel because of that density.. some things are just better done abstractly with words than concretely with pictures.
mxldevs@reddit
People playing your game aren't going to give it bad reviews over your choice of programming.
Difficult-Value-3145@reddit
I wouldn't say there looked down on they have there place but I feel like they are limited beyond a point not for low level but then again whitecap I think it is has a visual version of lua for there development boards so idk