archives

ACM Queue: On Usability of Programming Languages

(Oldish article; I didn't yet find this posted on LtU, apologies if this turns out to be a duplicate.) If you present a consistent model of some known kind of user, other kinds of users can potentially adapt, consciously or otherwise thinking via the role of the target user. If you apply this question to C++, for example, you will find major problems.

Programming: 50, 100 years from now

Since LtU is a little slow these days, I thought I'd ask for half-serious opinions about how 'systems' may be 'developed' in the far future.

There are some things today which seem destined to be replaced...eventually. One of them is the keyboard. A physical board with keys that have letter, numbers and symbols pre-printed. I don't know how, and I certainly don't know when, but there have to be better solutions to interfacing with a computer. In term of programming, the decline of the keyboard will have to mean the decline of text based languages. Could syntax wars be a thing of the past (in the future)? Modern architects sit in front of a two dimensional screen with a mouse, a keyboard and sometimes another, 3D enabling, device (at least that's the image I have of them). It looks like they all want to just reach into their screen and stretch a building wider with their two hands. Wouldn't programmers be able to accomplish more if they didn't have to remember whether the way to they need to type in toString or ToString?

At what level of abstraction might the majority of 'developers' of the future work? Today we have many assembly language programmers, but they are certainly not a majority. With Java, .NET, scripting languages, MOST developers don't even do explicit memory management. SQL 'developers' can usually get away with not having to worry about algorithms, underlying database, ifs, fors, whiles. Even in functional programming, pattern matching in Haskell seems more productive than car/cdr of lisp. List comprehensions reduce (eliminate?) the need to use fold/map/filter in programs we write today. I can't imagine what the (far) future holds.

What might PLT theorists of the far future work on? Might there still be PLT theorists? (do we have geometrists?) My, fairly shallow, understanding is that there are already established limits to how expressive a programming language can be (Incompleteness theorem, Halting problem,?).

Will there still be 'programmers' or 'developers' (hence the quotations)?

How much more do we need to learn before we can write the 'software' for a holodeck system? What do we need to learn to write the holodeck?

(I originally titled this "Programming: 100, 200, 500 years from now." But I have a hard time imagining how we might work 20 years out much less 200 years out...perhaps others can do better)

JOT: On The Next Move in Programming

We seem to be in denial that our industry is maturing, we are losing our elders, some of us don’t code any more and many of our new things are really good ideas from 20 or more years ago. Some good old ideas reappear because the technology is now available to commercially exploit them; others become popular because they provide a better approach to solving a particular problem. Reinvention and improvement of good old ideas is both scholarly and sound engineering provided the prior art is cited and explained as opposed to hyped or even patented. This means we need to look for the important small improvements and not just the big bang!

Nothing remarkably new in this article, but you might want to take a look. The article was inspired by The Next Move in Programming: A Conversation with Sun's Victoria Livschitz. Victoria Livschitz's ideas were discussed here in the past.

Diesel a successor to the Cecil language

I was looking for some more information on Cecil and happen to stumble across this, not sure if this is known yet around here or been talked about. I was pleasantly surprised to see this since i believe it's definitely ahead of it's time/the game when it comes to OO languages, good to see that work on this hasn't fizzled up.