[IAEP] Which Language?
acahalan at gmail.com
Mon Sep 28 00:43:26 EDT 2009
Benjamin M. Schwartz writes:
> and C/C++, but they each suffer from some combination of
> reduced functionality, problematic cross-platform guarantees,
> and increased difficulty of programming.
Let's not ignore Python, which suffers plenty:
1. Python has no language standard. The best you can claim is that
the language is defined by /usr/bin/python on some random system.
There is a history of breaking compatibility with new releases.
There exist several Python interpreters actually, which don't
run the same code. Python version 3 will probably break your code.
2. Python is a joke regarding performance. You know how Java is often
several times slower than C? Java beats Python by 20x or 30x.
3. Python being easy is **your** opinion. (and you're wrong)
4. Python has reduced functionality because it lacks inline assembly.
That particular language feature is the door to everything.
IMHO there is a limit to the value of "universally usable", but if
you want to push that goal you can. The most stable interfaces are
the CPU instructions, the Linux system call interface, and the X11
protocol. Bring along any interpreter you need, and statically link
all the binary executables. If you need Python 2, include a copy.
Be sure it doesn't need any /lib/*.so files to run; you can check
this by running ldd on the binary.
FWIW, plain C is an excellent choice. It's the easiest language.
Unless you tolerate FORTRAN or assembly, it's also the fastest.
More information about the IAEP