views:

345

answers:

6
  • Matz (ruby language creator) once said it take 5 years to create a successful programming language.
  • The factor language starts to be successful and has been around for that ammount of years.

Is this a coincidence ?

This is more of an open question type (see the subjective tag), but this could be fun :-)

NB: stackoverflow says this question will be closed, but there are already 4272 questions with the subjective tag.

+5  A: 

Language syntax can be developed and formalized in a kind of BNF in a week. Parser can be implemented in another week (I'm speaking from experience). Interpreter takes longer (frankly, never finished one) but I'd estimate it for 2-3 months.

You see, the problem is in creative part -- design the language and market it. That takes years of prior thinking and years of post-implementation hard work.

Vladimir Dyuzhev
I really like this point of view. The hardest part seems to be to have opinion about the numerous parts of a programming language. Btw, we should probably say programming environment, since the syntax is just a small part of it.
zimbatm
Continuing on my thought. Sometimes I like to think of these different parts as orthogonal features. Type system (or lack of), threading model, REPL or compiled, explicit or implicit returns, ... All those could be studied on their own.To return on the orginal subject, maybe what takes time is to combine the features in a satisfying manner. Some of them mix well together, some don't. And trying all combinations is exponential on the number of features.
zimbatm
+2  A: 

To be pedantic it would take roughly 5 minutes to create a programming language. It wouldn't however be particular functional.

To create a Turing complete language would take, well, longer (and arguably "programming language" implies Turing completeness).

To create a successful programming language could take anything from a year to a decade or more.

cletus
+9  A: 

4 years, 6 months, 11 days, and 3 hours. Always. (give or take a few minutes for coffee)

Shog9
HAHA, this made me laugh! Love it!
Jason Heine
That means I am halfway! :)
leppie
A: 

In hours? Over 9000.

Manos Dilaverakis
+1  A: 

How long does it take to make a language or how long does it take to make a good language? Language design is hard, and it takes time. As Guido van Rossum says in Masterminds of Programming Languages:

Language design is one area where agile development methodologies just don't make sense—until the language is stable, few people want to use it, and you won't find the bugs in the language definition until you have so many users that it's too late to change things.

Of course there's plenty in the implementation that can be debugged like any old program, but the language design itself pretty much requires careful design up front, because the cost of bugs is so exorbitant.

You need to do a lot of planning up front. Look at PHP: say what you will about newer versions, but earlier versions simply weren't planned well enough. And the cost of making the language better has been very high.

If you're smart, you'll take the "easy way out" and make your language as simple as possible. It will still take a while, but the language will be vastly better.

Jason Baker
A: 

It depends on how complex you make it. The simplest programming language I can think of is brainfuck. It's consists only of 8 commands and is Turing-complete! I guess it can be implemented in a few days by an average programmer.

If you want it more complex than this then it will take more time.

neoneye