Why do developers choose one programming language over another? (2002)

tosh1 pts0 comments

Joel on Software - May 5, 2002

Joel<br>on Software<br>painless software management

Home

What's Going On Here?

Complete Archive

Other Languages

Discuss

Book Reviews

Email the Author

Content Management

Bug Tracking

Interview Questions

Sunday, May 5, 2002

Why do developers choose one programming language over another for a given task?

Sometimes I choose raw C when I need blazing speed.

When I want something that will run on Windows with as small a distribution as possible, I often choose C++ with MFC statically linked.

When we need a GUI that will run on Mac, Windows, and Linux, a common choice is Java (although the GUI will not be perfect, it will work.)

For rapid GUI development and really smooth UIs, I like Visual Basic, but I know that I'm going to have to pay the price in the size of the distributable and the fact that I'll be locked into Windows.

For a command-line tool that must run on any UNIX machine and doesn't need to be fast, perl is a good choice.

If you have to run inside a web browser, JavaScript is the really the only choice. In a SQL stored procedure, you usually get to choose between one vendor's proprietary SQL derivative or go home.

What's the Point?

But I hardly ever choose a language based on syntax. Yeah, I prefer the {}; languages (C/C++/C#/Java). And I have lots of opinions as to what makes a "good" syntax. But I wouldn't accept a 20 MB runtime just to get semicolons.

Which makes me wonder a bit about .NET's cross-language strategy. The idea is, choose any language you want, there are zillions, and they all work the same way.

VB.NET and C#.NET are virtually identical except for tiny syntactic differences. And other languages that want to be part of the .NET world need to support at least a core set of features and types or they won't be able to Play Well With Others. But how do I develop a UNIX command line utility in .NET? How do I develop a tiny Windows EXE in less than 16K in .NET?

It seems like .NET gives us a "choice" of languages precisely where we couldn't care less about it -- in the syntax.

If you speak another language fluently and you liked this article, make a contribution by translating it!

To receive an occasional message when I write a major new article, please subscribe to my spam-free mailing list.

Email:

Home | Fog Creek Software | Bug Tracking<br>| Content Management<br>| Personal Homepage | Archive<br>The contents of these pages represent the opinions of one<br>person.<br>All contents Copyright 1999-2002 by Joel Spolsky. All...

choose language software languages windows choice

Related Articles