Wednesday, March 07, 2012

Why Only Designers Can Create New Programming Languages - Technology Review

Excerpt from an overview of a provocative programming reality check

Meanwhile, the languages designed by academics who are obsessed with internal consistency and correctness include a bunch of mostly dead tongues: Fortran, Cobol, Lisp, C and Smalltalk. The only exceptions are .NET and Java, which were the products of considerable investment by Microsoft and Sun.

In light of this history, as well as her own experience in academia, Lopes argues that the reason the ivory tower is no longer creating programming languages that people actually use is that it treats programming as a science, when really, it's more of a design discipline.

Why Only Designers Can Create New Programming Languages - Technology Review

4 comments:

Anonymous said...

I disagree with Lopes ... sounds like a touch of world weariness to me and he should take a nice long vacation.

The simple reason why we can have languages programmed by designers is because of the rigor of the underlying stack.

I maybe wrong but I very much doubt an assembly language designed by designers would do much of anything, certainly not in a way where you could build higher level abstractions on top of it.

Lopes is not recognizing the fact that programming (and software) is emerging from its 'hobbyist' phase and that today's developer are much less likely to choose proper programming languages (after all software is psychology in the end).

An analogy is with the auto industry ... there was a time where we could all maintain our cars and do significant amount of work and customization to them. The 50's and 60's even up till the 80's was the auto industry 'hobbyist' phase ... pop open a hood today and most of us don't want to get involved. The same is happening with computers in general ... to the benefit of commercial concerns.

Back to the real problem which I believe is two fold ... firstly education is a problem in that parts of academia is still catching up with industry but this is changing ... almost to the point where many of the best bits of software incubate in a university somewhere to be commercialized by students leaving.

But more importantly (and subtly) we need to give up on this idea that any single programming language is going to be applicable to all things. Its a fundamentally western ideal to pose battles between programming languages as a 'winner takes all' exercise. The fact is that there are efficiencies in having a 'lingua franca' but we also lose some precision along the way for dealing with exactly the right tool for the right job. We need to embrace heterogeneity and apply principles of convergence judiciously ... not just bet on programming 'horses' and blindly espouse their benefits.

Having been a programmer for so long I have seen my various pet languages go through the adoption curve ... I cringe when I see the computer media obsessed with 'memifying' everything creating hype which in turn forces people to use any specific tech far beyond its original intent which is followed by the eventual backlash where people say 'INSERT HERE is dead' and actually the technology goes on to live for another 20, 30 years.

Like any actor, musician who wants to play to an audience or mother who wants the world to know of their child's genious or even a soldier who wants to get a chance to illustrate their devotion to duty ... its understandable that all the hard work that Lopes does results in how he feels. But this is very common in science where hard work and graft support and underpin future breakthroughs ... its highly annoying that 'crowd think' results in us doing unholy things with javascript but I'm not going to worry, think back far enough and things were much worst in computers (and if javascript killed flash thats enough for me).

my thoughts only, Jim Fuller

Jim Fuller said...

I disagree with Lopes ... sounds like a touch of world weariness to me and he should take a nice long vacation.

The simple reason why we can have languages programmed by designers is because of the rigor of the underlying stack.

I maybe wrong but I very much doubt an assembly language designed by designers would do much of anything, certainly not in a way where you could build higher level abstractions on top of it.

Lopes is not recognizing the fact that programming (and software) is emerging from its 'hobbyist' phase and that today's developer are much less likely to choose proper programming languages (after all software is psychology in the end).

An analogy is with the auto industry ... there was a time where we could all maintain our cars and do significant amount of work and customization to them. The 50's and 60's even up till the 80's was the auto industry 'hobbyist' phase ... pop open a hood today and most of us don't want to get involved. The same is happening with computers in general ... to the benefit of commercial concerns.

Back to the real problem which I believe is two fold ... firstly education is a problem in that parts of academia is still catching up with industry but this is changing ... almost to the point where many of the best bits of software incubate in a university somewhere to be commercialized by students leaving.

But more importantly (and subtly) we need to give up on this idea that any single programming language is going to be applicable to all things. Its a fundamentally western ideal to pose battles between programming languages as a 'winner takes all' exercise. The fact is that there are efficiencies in having a 'lingua franca' but we also lose some precision along the way for dealing with exactly the right tool for the right job. We need to embrace heterogeneity and apply principles of convergence judiciously ... not just bet on programming 'horses' and blindly espouse their benefits.

Having been a programmer for so long I have seen my various pet languages go through the adoption curve ... I cringe when I see the computer media obsessed with 'memifying' everything creating hype which in turn forces people to use any specific tech far beyond its original intent which is followed by the eventual backlash where people say 'INSERT HERE is dead' and actually the technology goes on to live for another 20, 30 years.

Like any actor, musician who wants to play to an audience or mother who wants the world to know of their child's genious or even a soldier who wants to get a chance to illustrate their devotion to duty ... its understandable that all the hard work that Lopes does results in how he feels. But this is very common in science where hard work and graft support and underpin future breakthroughs ... its highly annoying that 'crowd think' results in us doing unholy things with javascript but I'm not going to worry, think back far enough and things were much worst in computers (and if javascript killed flash thats enough for me).

my thoughts only, Jim Fuller

Richard Schwartz said...

That article is just plain incoherent. .NET is not a programming language. FORTRAN, COBOL and C were not designed by academics. The large quote regarding Tim Berners-Lee has nothing at all to do with programming languages.

pbokelly said...

Thanks for the comments. I agree with your perspectives, but I was intrigued by the fact that the source article was taken seriously by Technology Review.