On Feb 19, 4:39 pm, rushen...@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. -- http://mail.python.org/mailman/listinfo/python-list