Monday, January 30, 2006

Interesting Language Comparison Article

Stu highlighted this from Macintouch:

http://www.dmh2000.com/cjpr/index.shtml

I'm pretty independant of language but this article was interesting.

My comments...
  • Regarding the statement: "Maybe its just me, but C++ always leaves you wondering what you might have done wrong." - Is this true? Runtime errors in Java programs are not unknown and books like Effective C++ seem to highlight the pitfalls in C++, i.e. are the pitfalls really that bad to debug if you hit one?
  • I probably agree - some bits of C++ are complicated. However I don't see any other option if you want speed?? (or a hard to de-compile binary - Java, Python, etc, are all easier to reverse engineer because good tools exist for this).
  • In regard to execution speed, there are a few minor compiled languages with lots of 'dynamic flexibility' (e.g. Pliant and maybe Obj-C) but there doesn't seem to be any major language with those two features. I've had speed problems with other peoples Java programs and with Python (doing simple encryption and decryption of 1 MB of data). OK with Python you can write C/C++ sub-functions - but this 'two-language-thing' is not ideal unless you have a good hard split in functionality.
I'm not defending C++ here, to be honest I'm not sure what choice there is? Java is ok but is interpreted. C# might be superior to Java but is 'encumbered' with MS and is byte-code interpreted. Python is fast to development but you have to do 110% testing, in my experience, which is a pain on a small language (and as he said: would it be practical on a very large program???) . Objective-C is almost Mac-only and is not so popular. Etc, etc.

What I want is a language which is well supported across multiple platforms, is popular (so I don't end up with dead code) and has direct OO support. Ideally it would be nice if (a) is was a standard, (b) is easy to program in (whatever that means). Notice, after talking about speed I don't really care about it for PC/Mac applications. I guess speed is important for embedded, and it seems to be easier to convince people about 'C compatible' languages .

Some popularity data... not to be taken too seriously.
http://www.tiobe.com/tpci.htm
http://www.dedasys.com/articles/language_popularity.html

Would appreciate any feedback on my thoughts...

0 Comments:

Post a Comment

<< Home

Newer›  ‹Older