This is TikiWiki v1.9.7 -Sirius- © 2002–2005 by the Tiki community. Mon 06 of Sep, 2010 [23:22 UTC]
  add
Menu [hide]

Programming Language

What is the best programming language?
backlinks print
similar comment
What is the best programming language?

If you have to ask the question, you probably lost the game already.

There is NO SUCH THING as the best programming language.
There may be a language, that is well suited to a particular PLACE, TIME, PURPOSE and TEAM... But, if any of those four categories change, and you think the same language still applies... "May the VCs have mercy on your startup"

I'm going to give a number of grossly simplified examples... please, have the decency of not starting a discussion of personal war stories of exceptional exceptions... this is meant as an illustrative example of "frequently (but not always) true examples of best practices"
And, forgive me, if I missed your favorite language-du-jour... hey, anybody who didn't invent at least a few languages of their own, is not a computer scientist at all!

  • C
    • if you are programming an embedded system, an operating system, or anything to the bare metal...
  • C++
    • if you are programming an application, and you want FAST, predictable performance, ..., and you can afford the developers
  • Java
    • if you're building something big... something that runs on the web... something that does not have to have 100% uptime... and you know how to scale it...
  • Ruby / Ruby-on-Rails?
    • If it lives at the intersection of web and database, and you want to prototype it fast, and you're ok with a bit of a stiff definition of schemas...
  • Perl
    • If you just need to get it done fast... and it involves mostly text processing, perhaps some database work
  • Fortran
    • If you're doing heavy math... and don't want to learn the C++ equivalents... Fortran rules (especially for academia)
  • Cobol
    • If you have a ton of Cobol code, to start with... obviously the path of least resistance is to stay with it... for now

Those are some examples, obviously not all inclusive...
I take pride in learning ALL new languages, there are some, that I've learned and then dropped (well, not dropped, but not practiced further):
  • PHP — cool, now what? Doesn't really give me anything that Java, Ruby or Perl doesn't give
  • Python — nice features, the indentation gives me bad memories of past... sort of a half-way-language — just skip it and move to Haskell, Erlang, Scala

Each language may have merits beyond it's pure language functionality... for example PHP has a lot of value, because there are numerous libraries and frameworks... Take SugarCRM as an example — nice to be able to build a full blown CRM + workflow web site, but just adding to SugarCRM — but, that really has nothing to do with the language itself.

What makes me cringe is when someone comes around, and says: "I just found out, that we should convert all of our code to language X — because it's the hottest, bestest (sp) thing since sliced bread... and everyone is using it" — I have lost count on the number of times when I've heard this.

Personally, I think that anyone who is a "one trick pony" — we should take his/her keyboard away...

"When the only tool you know is a hammer... all the problems start to look like nails..."

Created by: TaneliOtala last modification: Monday 20 of July, 2009 [07:59:47 UTC] by TaneliOtala