A Data Science Central Community
In the past few months, I have scripted with python for my job. I am really satisfied with its dynamic data type feature and the ease of using list. But then today in an interview for a job, the interviewer asked an algorithm question which need to use array and linkedlist to solve. I found that it is hard for me to think in array (there is no array in python, list is the one substitutes, but you don't need to know the length). Therefore I think python may not be a good starting language, especially it is not efficient in doing heavy calculation, and memory management.
As a programming beginner, better to use c/c++ or java first. If you are good in these languages, you must be good in python too.
I have opposite opinion about Python.
I think C/C++ or java has higher learning curve than Python, which is quite superb on prototype and fast development.
Also there are a lot of module for heavy calculating and parallel computation.
My previous data analysis project was working as the team leader for building up a data analysis system, which was all in Python. The system has work smoothly for last two years without any downtime. So I would say this is really depending on developer's ability.
Let me disagree with author, NumPy has all required stuff for matrices and array ops
Yes, numpy is cool in efficiency. And the numpy array behave similar as array in c/c++ and java.
But if you use numpy array, then why you use python? numpy array is static typed, it can only store elements of the same type. While python list is something very different. you can put whatever you want inside. Notice the topic. I am not saying python is bad, but saying python is bad for beginners, since once you get used to the dynamic typed feature and the ease of programming it offers, is quite hard for you to learn some lower level languages like c++.