It's almost like Google payed people to advertise for it. My dad, who works with software engineers, told me that I should learn Python when he found out I started coding. My software engineer cousin told me that I should learn Python. He claimed that it was really "powerful", whatever that means.
We use an enterprise level network monitoring server called Zenoss that is written in almost entirely Python. It monitors a little over 800 devices via mostly SNMP, handles a couple different databases, all sorts of features and reporting utilities.
Basically, it's enterprise level software written in mostly Python. Its definitely a suitable language.
Too bad the backwards compatibility is a joke and the documentation is subpar, organization-wise.
And what the eff is it with len()? I don't mind procedural or OOP notation, but just make up your goddamn mind.
@Fred why did you post the same thing twice?
@OP Python is a great language, even though its speed will never match that of C++ and the likes, it was never designed to do so. It is a scripting language (depending on your definition of the term) and it is meant to be used on the web, for server side scripts, automated tasks, a beginner's language and the list goes on.
Python, like all (okay most) languages, has its uses, its pros and its cons.
I am not bashing any language[s] so please bare with me. Python is actually a good language to learn, although I do not know Python I have seen it being used in several companies.
It is good idea to learn Python but the only problem is it does not optimize for memory. A simple Project which might be 10,000 - 30,000 lines in Python would be around 2 - 3 megabytes whereas in C++ it would maximum be 500 Kilobytes so C++ has somewhat more potential when dealing with Enterprise Application but Python is easy to use and the syntax is easy to understand and good for small projects.
10,000 - 30,000 lines of python just to have a new version of python come out which changes most of it's syntax. They don't even provide a deprecated method for printing to the console. Yah i wouldn't have wanted to pick python then.
Python 3 did break backwards compatibility but they were very public about forewarning this. Python 2 is still maintained so it's not as bad as people in this thread would like to make out.
It's also worth noting that breaking backwards compatibility to fix fundamental issues is something more companies should embrace. GNOME and KDE have both done this with good success. Microsoft have stayed away from doing this with Windows and this has caused considerable amount of bloat in their kernel.
I don't know why people love python so much it doesn't feel like a suitable language IMO.
Sorry, but the fact that you're 12 years old means that this statement holds no substance whatsoever. You're too young and inexperienced to understand programming languages and software development to accurately make such a statement.
It was at least 5 years of "programming" before I actually started to understand the fundamentals of software development, methodologies etc. Language is only like 10% of the equation.
Python is hyped because it is a very beginners friendly language to learn, yet it also can be very powerful (Whole AAA games have been built in Python). The syntax is very elegant in my opinion and removes a lot of the bloat code that you see in other languages. I also like how they have somewhat of a standard way of formatting the code which makes it much easier to read other peoples code.
Another reason why it is so popular is the amount of modules available to use. And if there isn't a Python module for what you want it is fairly simple to wrap a C/C++ library to work with Python.
It might not have the speed of languages like C/C++ but in our day and age computers and becoming faster and faster and memory is becoming more abundant so this isn't as big as a issue anymore. More people are looking to get things done faster these days.
I mean just look at the basic "Hello World" program in Python compared to other languages. You can see how little code it takes to get things done in Python
print "Hello World!"
Then there is some neat features like being able to return multiple objects from a function, handling a undefined amount of arguments in a function and all them goodies.
If you are still asking why Python is so popular there is only way to find out. You have to try it. Do a google search and start playing around with the language or head over to http://www.codecademy.com/ and try they Python learning course. After you try it out you will know why it is becoming so popular