Reviews and Ratings

Python is not matured language  
2.0
   
written about 9 years ago

My review will be little bit different. One year ago I started to learn Python programming language because I changed my job and in new company is necessary to learn Python among other programming languages. I am programming also in C++, Java, C# and I must say that Python is not programming language for developing business applications. Python lacks most of small functionalities which are critical to delivering sucesfull product to the customer.

I will try to describe main problems in Python. I am currently using Python version 2.6 so my review is focused on this version and is possible that higher versions has not these problems.

1) Python compile - you have project which has 100 files with code. And you will make some error on line in one of your files. You misspelled function name, but compiler will not tell you that there is an error. You will find out problem only if your application hit the problematic line of code. Not before. This kind of problem can happen if you hit by mistake to the keyboard before compiling product version of your product.

2) Python is slow. Create list in Python and try to create 10000 instances of your class and ad these objects to the list. C# language is about 50x faster !!!!

3) Compatibility. We have all projects in version 2.6. I want to upgrade Python version to 2.7. Do you think it is possible. NOT !. I am receiving some compiler errors and I need to add some lines of code. I can't afford to rewrite 100 files because risk that application will behave differently is too big. So it is necessary to check all 100 files - every line of code if it is doing what is required. Big projects are lasting 10 or more years and it is not possible to rewrite huge application everytime when new Python version comes out to the light. You need 100% compatibility with older versions. Try to create application in C# 2001 and try to compile it in C# 2013. It passes without problems.

4) Variants: The same problems as in Visual Basic 6.0 many years ago. You have string variable and you want to pass this variable to the function which expecting integer. compiler doesn't tell you that you have made mistake. Everything is compiling fine until customer find yout error in his production environment. This is big problem. Some peoples says it is advantage but if you are creating big systems you need absolutelly control and compiler should tell you these important things. Remeber we are talking about systems where one method is called for example from 10 other classes and if you change variable type or add new parameter you need warning from compiler !

5) Production environment.
You need to install Python libraries to the computer where your script will run. OK no problem. Your customer has about 100 computers and on every computer is Python. You want to upgrade to new version of Python language ( from 2.6 to 2.7 ) Your customer has to reinstall all 100 computers! You have also possiblity to create exe file but you also encounter different problems - this is beyond scope of this article...

I think Python is not matured language and I don't underestand that some peoples prefer this language over JAVA or C# language for example. JAVA and C# are very matured languages and Python doesn't gives you any profit if you choose this language instead of previously mentioned. So use Python in your school for some learning purposes but never use it for some commercial applications.

0 out of 1 users found the following review helpful.
Did this review help you? |