YCombinator and Programming Languages.

Hacker news is full of people bashing mainstream programming languages and promoting less common/exotic ones.

While I do not think that C++, Java, PHP etc are perfect, I think that people who bash them focus on the wrong things. I will try to explain why.

YCombinator was created by Paul Graham, whose famous success story of using Lisp in startup is well known. While I am not in position to argue with Paul Graham I think that a huge part of his success was because of his and partners CS background. I doubt that if I was there instead of them I would succeed as they did even if I was using Lisp. Or Haskell.

For example, google in its earliest stages was written in Java and Facebook in PHP. Linux and FreeBSD which drive most of the online infrastructure are written in plain C. At the end it doesn’t matter. What matters much is the understanding and knowledge of problem domain.

Those who think that if we replace C++, Java, PHP, C with Scala, Rust, Haskell and Clojure then problems with software will magically disappear are mistaken. Knowledge of algorithms, architecture, OS,Networks, Databases and various problems domains matter much more than the choice of the language. And many people on YCombinator are under impression of Paul Graham’s lisp story and keep pursuing the Holy Grail perfect programming language.

They do not understand that most of the success of Viaweb should be attributed not to the perfect language but to its founders who were great programmers that understood how things work and just happened to use Lisp as their language of choice.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s