|
|
|
|
|
by gh1
3540 days ago
|
|
I think you should go for Python. 1. Python is definitely future proof. It is most likely going to be THE language in the near future. Machine learning and AI is most likely where most new breakthroughs will happen, and Python is well positioned to leverage this. Read more here http://blog.hackerrank.com/emerging-languages-still-overshad... 2. Python has a good standard library. It has been around for a while now, so it also has a huge number of high quality third party libraries. 3. Python is slow and this is a serious disadvantage. However writing Pythonic code is an aspect of Python that I absolutely love. I think Guido's guiding principle "code is read more often than it is written" is quite true and writing beautiful code is a thing worth learning. Other people will love you for it. |
|
Eh yes, and no. I don't wish to argue, because out-of-the-box, it's an interpreted language with a global lock, and it most definitely is slower than most compiled languages. Sometimes orders of magnitude so. On the other hand, computers are damn fast, the developer productivity gains of writing Python are huge, and there is a flip side, especially for somebody who wants to "really learn the language."
Within the CPython ecosystem, there are tons of well-established 3rd party libraries that take advantage of the speed of C, without your code ever needing to know. Take for example numpy/pandas or asyncio with uvloop. A step up from that, there's Cython, which is surprisingly robust and easy to use. It also makes interfacing with C code rather simple, and thus provides an avenue for optimizing speed-critical code paths without needing to know CPython internals to do so.
Outside of using CPython, there's the well-established PyPy, and the up-and-coming Pyston.
My point is, if you need a faster Python, with perhaps a little bit of effort it's out there.