I first began with c++ when i was 12 and it was really frustrating(I managed to finish c++ for dummies) I'm 15 now and started python. The reason i started python is because i'm interested in security and want to be an ethical hacker. Python's syntax feels like a breathe of fresh air. What do you guys think of python? Oh, and is python a scripting language?
I love python. While I do believe it is not the perfect language for every task, I really like its syntax and features. As for whether or not it is a scripting language I would personally say yes, but I know someone will have a different definition by which it won't be.
Python is awesome. Interpreted languages in general are. I use python on almost a daily basis now at my job for the NMS we use. It's great just being able to pop open the interpreter and throw a program at it and do whatever needs done.
I can't wrap my head around Python - every time I try I get confused. I have a hard time with weakly typed languages in general - I feel much more comfortable in C, C++, Java, C#, etc. where I know the types I am using and what types I have to use. Python just feels too open-ended and I can't wrap my head around it.
I don't like it, I think it's a pretty terrible language actually, only useful for very small scripts and prototyping. It has no function overloading, bad class syntax with a "hidden" method parameter that you actually have to type explicitly, dumb operator overloading syntax, multiple-files is overcomplicated, inconsistent syntax (why is print not a function in 2.x? and/or/not... xor? nope), global interpreter lock (all the downsides of threads---synchronisation, bugs, deadlocks, race conditions---with none of the performance benefits), and, of course, program-breaking interpreter updates. I'm sure there's more, too.
Not trying to get into a Python vs Other Languages debate but just wanted to correct something.
only useful for very small scripts and prototyping.
That is quite wrong. It is very useful in small/medium and large production software which is evident in a huge list of commercial software and games that have used python in their software. To name a few BitTorrent, Blender 3D, Mercurial, Civilization IV, Eve Online, Battlefield 2, Django, Google App Engine, Autodesk Maya, GIMP and some big companies like Google use it for for many tasks including the backends of web apps such as Google Groups, Gmail, and Google Maps, as well as for some of its search-engine internals, Reddit uses it also, even NASA.
Other then that I can agree with most of your points but most of them really just deal with the person's preference in what type of language they like and their own personal opinion about syntax and other things.
I didn't say it couldn't be used for large projects, I said it wasn't suitable for them. And Zereo, many of those projects include Python, they aren't entirely or even mostly written in it. Most of them are written in C or C++ with Python used for small scripts.
Also, for future reference, saying "Reddit uses it" is not a good way to make me like something. You may as well tell me Hitler liked Python.
It's very popular for science and engineering applications. Partly because it's easy to teach scientists and engineers how to use it quickly, and partly because of really huge and powerful scientific, and mathematics libraries like numpy, scipy, etc.
Also it's popular because development is typically faster saving companies money.
It's performance problem isn't so much of an issue in all cases, because python libraries can be written in C or C++, and there are many non-performance critical applications as well.
Zenoss (popular NMS, commercial world) is written almost entirely in Python. And performs pretty well. I know people using it to monitor thousands of devices with no issue. We personally monitor close to 700 on it.
Again, I didn't say it couldn't be used for large projects, but that it's not suitable for them for the reason I've already mentioned. Some big projects may be written in Python but that doesn't mean they wouldn't be better if they had been written using something else.
python libraries can be written in C or C++, and there are many non-performance critical applications as well.
development is typically faster
don't go together, since writing libraries for Python in C++ is a huge pain in the ass because of its complicated API (although Boost.Python is excellent... or at least, the areas of the API that it actually covers are) and slower than writing in Python... so you're forced to choose between development time and performance. With something like C# or [spoiler]Java[/spoiler] (yes I know this forum doesn't have spoiler tags) you can probably get both.
there are many non-performance critical applications as well
Maybe the development of high performance python libraries is time consuming, I don't really know, but the fact that they are available, makes development faster and easier for people who use them, and the benefit is that they can get near C or C++ performance, for high precision science and engineering application, with simple and interpreted language, and C# and Java aren't interpreted languages so what good is that comparison. The fact that it's an interpreted language is a major part of the appeal.