Linked by Eugenia Loli on Tue 23rd Nov 2004 01:43 UTC, submitted by Lumbergh
Java JetBrains IDEA developer, Sergey Dmitriev, talks future programming paradigms and the problems with today's programming models.
Permalink for comment
RE symbols
by Howie S on Tue 23rd Nov 2004 18:36 UTC

I appreciate the feedback given so far, even though it tends to be discouraging my idea, but that's OK. Many great ideas have had to overcome a lot of discouraging words before suceeding in ways that no one else had envisioned.

The truth is, we are already on our way towards a more visual means of communicating our ideas for computer program functionality. UML is an excellent example of a step in that direction. Keeping in mind that UML is still relatively young, and it's use, if I'm not mistaken, not so wide spread, we can draw some conclusions:

a) Many programmers have little or no experience in using ing techniques, let alone believe they are beneficial to the process of creating well-designed, efficient and manageable code.

b) Most programmers are trained to think of programming based on a heritage of, as Sergey Dmitriev said, "limitations of programming which force the programmer to think like the computer rather than having the computer think more like the programmer."

c) Most people using UML see it as a means of * ing* higher-level structural and behavioural concepts, and not as a new visual symbolic language for *expressing* program structure and behaviour.

If there had not been the marriage of graphic design and usability with the logical needs of the machine, we'd all still be using the CLI in a GUI-less world. Having a nice GUI doesn't mean that the underlying commands themselves have vanished, but that we instead have a choice as to how we would like to evoke them - we can type them out in a terminal, or we can click a graphic - in either case the underlying actions and the returned result are often unchanged.

Similarly, symbolic representations of programing logic will not necessarily do away with more traditional means, but will provide a clearer set of tokens for which to accomplish the task. (As an aside, I am intregued by the comment about hieroglyphics. Perhaps an archeologist of the future will someday look upon the original Mac icons as some form of ancient hieroglyphics.)

So, to wrap things up for now, I firmly believe we will progress from UML as a ing language, to UML as a programming language (which is already being done), and so on and so on, to eventually create a series of symbolic languages which allow for a more intuitive and elegant representation of programming concepts.