|
![](/i/fill.gif) |
Btw, one thing which people seldom take into account when comparing
languages, is their availability (tools, compilers, IDEs...), ease of use
(of those tools) and library availability for different platforms.
I might be somewhat of a minority among programming professionals
because I assume that the majority of professionals only program for
one single platform. However, I have programmed professionally (ie. as
my payjob) for three rather different platforms, all of them with their
own set of tools and design principles: Sparc/Solaris, PC/Windows and
iPhone/MacOS X. (Naturally I have also programmed quite a lot as a hobby
in Linux, but that's not drastically different from Sparc/Solaris.)
There are only two closely related languages which all these significantly
different platforms have in common: C and C++.
These two languages are supported out-of-the-box in all three platforms.
(Ok, Windows doesn't support it by default, but it only takes downloading
and installing MS Visual Studio Express, which is rather easy.) They also
are used to create native executables which don't require exotic runtime
libraries to work (at least for regular basic programs).
Java gets close, as it was designed from the start to be portable and
easy to use in a cross-platform way. Except that in this particular case
it fails because you can't develop Java apps for the iPhone. (Not that the
iPhone couldn't support it, but because Apple doesn't want to.) The same
could probably be said of many of the scripting languages (especially those
designed for web development).
However, basically any other language, especially those fancy ones, and
you are in a rather hopeless situation. Availability is poor or non-existent,
and even when there is availability, you often can't create native executables
and instead have to rely on heavy-duty runtime environments or libraries
which are very uncommon in those platforms.
Also sometimes it doesn't matter how fancy a programming language is,
if it lacks certain critical libraries and/or features, they are not very
practical. You can create some fancy quicksort-oneliners with them and do
all kind of "see how fancy and better this is than your" stuff, but when
it comes to implement something *practical*, they often fall short. Maybe
there's no good library support. Maybe it's something else.
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |