Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The Myth of the Super Programming Language (alarmingdevelopment.org)
14 points by pw on May 12, 2010 | hide | past | favorite | 7 comments


Sadly, not much in the way of any reasoning. Paul Graham etal have give reasons why they think Lisp is great, and their secret weapon. What is authors reasons for saying that is false.

I used to program in a hugely popular language, in which it was a pain to even open a file. It took ages to find out how to open it in append mode. How to format a decimal ... moving a piece of code into a try catch block was painful. Often one's productivity can suffer due to a language no matter how proficient one is in it.

Given the same amount of expertise in 2 languages, if i can write the same feature in much less time in one language, then it is more powerful.


Don't you think the burden of proof is the other way around? We see selection effects all the time. Shouldn't you expect super programmers to get more done because they're simply better programmers?

It's a strawman argument to say that, "well, Lisp is more powerful than assembly." Of course. But is it more powerful than C#? Maybe, but the Lisp advocate should be the one asked for proof.


iirc, the Lisp guy did offer some proof. Like macros.

One aspect that should be remembered is availability of libraries to do your tasks. I've read that CL just did not have a good enough set to use. Reddit was written in Lisp and then moved to python. One reason was threads, the other was that py had a lot of stable libs that could be reused.


"Given the same amount of expertise in 2 languages, if i can write the same feature in much less time in one language, then it is more powerful."

I think the author overstates his argument by not accepting the above. However there is a case to argue that such productivity gains are small compared to the productivity of a "really smart" programmer to that of the average, i.e 10Xs. Also it is valid to raise the issue of maintenance problems if really smart programmers use languages and techniques that average programmers has difficulty understanding.


Actually when i said the above, I should have clarified - for _me_ its more powerful. Your other points are very true. Smart or experienced programmers develop a product using X language, average programmers come to maintain it and cannot understand it. But what is the solution ? Should a good programmer dumb down his program for the sake of average ones to come ?

And yes, a smart programmer is way more productive than the average: could be more intelligent, a faster learner, or reuses what's there rather than reinvent the wheel. Smart programmer _often_ write simpler and clearer code -- I've seen newbies and average types writing convoluted buggy code for what could be done simply.

Smart programmers also sometimes realize that they might have a problem understanding their own code a while later and so use clearer, simpler techniques. So it can work both ways. Often they use more portable calls, or methods that will be backward compatible.


"But what is the solution ? Should a good programmer dumb down his program for the sake of average ones to come ?"

Sadly, I've seen this. I worked for a company where some really smart people wrote a kick-ass fast, lightweight, and powerful Web framework in Java. It was sweet, ran great, and was making money like crazy driving Web apps.

Company ends up getting bought, and the new owners decide that Web apps are now to be built using J2EE (as it was called then) with WAR files, EJBs, and all that shit. Why? Plug-and-play Java coders FTW. Seems the last thing they wanted to have to count on was having smart, motivated developers.

(By coincidence, most of the smart, motivated developers ended up leaving shortly thereafter.)


I agree. Poor programmers write convoluted messes. Poor but smart programmers write over-complex code. Smart programmers write simple elegant code. A good language is one that make it easier to write simple elegant code.

But I am not convinced that a manager, I am not one myself, would see that the benefit of non-mainstream languages out weigh the costs. Will they be able to find smart programmers willing to maintain the code? Will these smart programmers cost too much? Will they be able to find anyone with experience with a particular non-mainstream language?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: