Will multithreading make python less popular?

sturlamolden sturlamolden at yahoo.no
Thu Feb 19 17:55:00 CET 2009


On Feb 19, 4:39 pm, rushen... at gmail.com wrote:

> I really wanted to learn python, but as i said i don't want to make a
> dead investment. I hope someone can fix these design errors and maybe
> can write an interpreter in python :)

Java and Python has different strengths and weaknesses. There is no
such thing as "the perfect language". It all depends on what you want
to do.

Just be aware that scientists and engineers who need parallel
computers do not use Java or C#. A combination of a scripting language
with C or Fortran seems to be preferred. Popular scripting languages
numerical computing include Python, R, IDL, Perl, and Matlab.

You will find that in the Java community, threads are generally used
for other tasks than parallel computing, and mainly asynchronous I/O.
Java does not have a GIL, nor does Jython or Microsoft's IronPython.
But if you use threads for I/O, the GIL does not matter. Having more
than one CPU does not make your harddisk or network connection any
faster. The GIL does not matter before crunching numbers on the CPU
becomes the bottleneck. And when you finally get there, perhaps it is
time to look into some C programming? Those that complain about
CPython's GIL (or the GIL of Perl/PHP/Ruby for that matter) seem to be
developers who have no or little experience with parallel computers.
Yes, the GIL prevents Python threads from being used in a certain way.
But do you really need to use threads like that? Or do you just think
you do?

S.M.



More information about the Python-list mailing list