Sunday, September 5, 2010

The three great virtues of programming language designers

Diligence, Patience, Humility.

3 comments:

Mathnerd314 said...

Humility is actually not a good virtue to have if you're a language designer. You have to believe that you can create a language better than anyone else's; I doubt that insulting every other language designer on the planet is a form of humility.
Similarly, you cannot be patient; you can't just wait for some language to appear that has what you need.
For now, though, I'll agree with diligence; it does take some work to get a language up and running.

Manuel J. Simoni said...

@Mathner: Of course I disagree ;)

What people should find insulting are languages by hubristic language designers that think that they can design a language bettern anyone else's (ha!), that are put into production when they're still in their infancy, because the designer was too impatient to fully work them out.

Designing new PLs is not a zero-sum game; a bad new PL may hinder intellectual progress in arbitrary ways, cause huge economic costs by inadequately addressing SE issues, and may be bad for the environment by unneededly wasting cycles.

Anonymous said...

Mathnerd314 said: "Humility is actually not a good virtue to have if you're a language designer. You have to believe that you can create a language better than anyone else's; I doubt that insulting every other language designer on the planet is a form of humility."

You only have to believe you can create a language better than anyone else for your particular problem. Is it hubris to think that you know and care more about the problem you're faced with today than, say, some Dutch guy thousands of miles away?