5 ms·
Visual programming have been quite successful in some constrained domains. The fundamental imitations is that visuals does not represent arbitrary levels of abs
by goto11 7y ago
Visual programming have been quite successful in some constrained domains. The fundamental imitations is that visuals does not represent arbitrary levels of abstractions very well. The visual way to represent abstractions is symbols (e.g symbols on a map), but when you go a level deeper to create symbols representing other symbols, then you end up with text.
- divan 7y agoI'll probably disagree here. Symbolic meaning is attached to the abstraction only on the second stage, when you have to express it. You can totally understand things and their relationships without attaching words to them – actually, people who learn foreign languages should be familiar with this feeling, when you understand thing, but can't attach words to them. Here is a quote of Albert Einstein (his actual quote, this time, from "Ideas and Opinions" :)): > (A) The words or the language, as they are written or spoken, do not seem to play any role in my mechanism of thought. The psychical entities which seem to serve as elements in thought are certain signs and more or less clear images which can be “voluntarily” reproduced and combined. > There is, of course, a certain connection between those elements and relevant logical concepts. It is also clear that the desire to arrive finally at logically connected concepts is the emotional basis of this rather vague play with the above-mentioned elements. But taken from a psychological viewpoint, this combinatory play seems to be the essential feature in productive thought — before there is any connection with logical construction in words or other kinds of signs which can be communicated to others. > (B) The above-mentioned elements are, in my case, of visual and some of muscular type. Conventional words or other signs have to be sought for laboriously only in a secondary stage, when the mentioned associative play is sufficiently established and can be reproduced at will.
- goto11 7y agoA programming language (visual or textual or whatever) is an expression. How thoughts and ideas are represented inside the mind is a different question.
- argd678 7y agoQuite right, for the sake of a visual mental support of a 3d imagine you’re limited to three dimensions, where as the mind doesn’t have these limitations and is n dimensional.
- divan 7y agoCan you provide any support to the claim that mind is "n dimensional"? My understanding is that findings in grid cells research suggest that brain's mechanism to deal with spatial information is exactly "3-dimensional", i.e. optimized to handle our real world space. Which kinda makes sense from the evolutionary perspective. That's why even a simple attempt to "understand" 4-dimensional object wreaks havoc in your mind, and we have to reduce it to some sorts of 3D projections or explain it with math formulas.
- argd678 7y agoIt’s because concepts are just dimensions of information, they don’t always have a physical representation, you can associate and create different levels of abstractions, have different views, sort of like an OLAP cube. You’re doing this all the time, consciously or not, you’re deciding on abstractions that cross cut problem domains. The author touches a bit on it, where he talked about zooming in and out for example to the right level, those are dimensions of the data beyond 3D, or wanting good code to visually look a certain way is another dimension. So those are possible in his model, but you can imagine needing say a function to be in two places at the same time since it’s related to two pieces of code, but you don’t want to duplicate it or draw lines cutting across the diagram to show this. The mind has no problem with say a function being in two places at the same time but not duplicated, but obviously this is impossible in the physical model.
- seanmcdirmid 7y agoI can’t think very well beyond three dimension. Maybe those who study higher arity spaces learn how to do that?
- 7y ago
- blablabla123 7y agoYeah, I've tried a handful of visual programming tools in the 90s before I got fluent in a normal programming language. It seemed very easy to start with the first steps and it was motivating how all the possibilities seemed to be one click away. But in reality the fun stopped really quickly and getting further would require deep understanding of the tool, i.e. reading a lot of - incomplete - documentation. Another tool, I forgot the name but it's used in certain parts of science, in particular it at least used to be in use at the LHC. It seemed quite complete but complex things would easily be difficult to see, at least in the short time I did something with it. IMHO Borland Delphi is the furthest visual programming went so far. I never really understood why IDE developers didn't pursue that path any further. (I know there's still a Delphi but almost nobody uses it.)
- Retra 7y agoIt seems you understand why perfectly well: it's a lot of work to do for little actual benefit. >Another tool, I forgot the name I suspect you might be referring to labVIEW?
- blablabla123 7y agoYeah probably. Still this is something I think of, also wondering whether eventually programming might become commoditized by new tools. So the question was already asked by other commenters, maybe there's an argument on can make why this won't work. Yes, I do. :)
- goto11 7y agoCan you mention some examples? I'm not familiar with Delphi.
- blablabla123 7y agoYes sure. Sorry, this is quite a stretch from the topic because Delphi hardly allows logic to be written visually in contrast to the other tools mentioned. But you can 'click' together your whole UI. It is very intuitive where to find the most important handlers (onClick for buttons, onSelect for list...), you double-click, a piece of code gets generated and your cursor lands within the generated stub code for that. Also you have a good browser for objects. Actually one time I was playing with some Direct3D plugin, that was really easy to get started with and to move something around (in the 90s!). Not knowing anything about maintainability or how to approach problems, this was really fun to work with. I think the Microsoft Visual Basic might resemble these things to some degree, but I never tried it. Also Object Pascal is a more powerful and concise language in comparison. Oh and I didn't mention the fabulous documentation. They really did their homework, once you built the help search index you could search for each available library function. Really cool stuff actually. I've tried other IDEs like Borland C++ Builder, KDevelop and the QT Designer, NetBeans, Eclipse but they didn't even come close to that. After a friend strongly recommended me to work with editors I completely lost interest in IDEs actually. (Nowadays I'd use some React boilerplate to quickly assemble a UI, but that was quite some work and practice ;))
- blunte 7y agoYes, and for illustrating a process of mostly transformations of data, visual representations are great - especially when you need to help a client understand what is happening.