5 Reasons Why You Should Learn Python Programming
Posted by Spyros in Python Programming, tags: dive into python, learn python, python coder, Python Programming, python programming language
If you are new to Python programming or in computer programming in general, it would certainly be important for you to get some information on the advantages and disadvantages of the language and understand why would somebody want to use it. In this post, i will not enter into the technical details of the language nor use fancy words to describe you some of the language specifics. My intention is to give you some simple insight so that you can decide for yourself whether or not it would be a good idea for you to choose Python as your main programming language or just use it for certain projects.
Why Use Python ?
There are some very good reasons for which you would want to use python that i will be enlisting for you below : (please bear in mind that there might be more reasons why one should use python, but this is what i feel about the language based on my own experience with it)
1. Python is Easy to Learn
This is one of the most important things about Python and is in fact one of the main reasons why this is a very solid first programming language choice. Python’s overall structure is very clear and pretty easy for newcomers to programming to master. Since it is a high level language, this means that simple operations like string copies and such are done in very clear and easy syntax and using few commands (just one in most cases).
2. Python is Fast to Program
As you become more competent in Python programming, you will notice that you can code some pretty complicated scripts that do lots of work for you in a matter of hours or even minutes. Python’s nature lies within the scripting languages that are created to target the fast and easy programming variants. Therefore, if you wish to create various scripts to simplify casual everyday work, Python is surely the language of choice.
3. Python Has a Clear Syntax
You may feel that this is not that important but for scripting languages it really is a great asset. For instance, if you happen to be a perl programmer (or hacker), you may have already faced dozens of perl lines of code that look like hieroglyphic even to their very programmers. Python is pretty easy to descramble and you are most likely to remember what your source code does even after a long time passes.
4. Python Has Solid Documentation and a Large Set of Modules
Most of the times you will be finding very nice references and documentation on the modules that you need to use (not all times though, i must warn). The great thing is that Python has a very large set of modules virtually allowing you to do just about anything you can imagine with the language. However, you would probably need to elaborate a bit in order to discover the ins and outs of some modules (like twisted for instance).
5. Python is Cross Platform, Also Featuring Nice GUIs
A great thing about Python that you will most probably love if you tend to use lots of operating systems is its cross platform compatibility. Python can run on virtually any machine you can thing of and therefore your creations will run everywhere 99% of times. Moreover, Python cooperates very nicely with cross platform GUIs like GTK or Qt. As a result of that, you can create GUIs that run on most platforms without having to readjust the source code for each one.
There are probably the 5 most important things that I can think of that you should be aware of before selecting to use Python. If you are still doubtful about whether it is a good choice to select Python or not, please take my word for it, it’s one of the best choices you could make
And if you are really up to it, the best source to learn the python essentials is definately the free Dive Into Python ebook !

Entries (RSS)
“easy to learn” argument doesn’t make sense. it’s not a reason to learn a language. many things are easy to learn. but it doesn’t mean i should learn how to do those things. i’m sure other arguments are similarly meaningless.
btw, i love python
Your argument does not make sense. If you are in the process of learning a new programming language, you care about it being easy to learn. At least, people with common sense do. I’m sure your other comments would be similarly meaningless.
Spyros:
“Easy to learn” is absolutely no incentive to learn something; the value of the knowledge and how readily it translates to practical benefit is of ultimate consideration, not how little effort you can get away with expending in the process of learning.
It is lazy to care about how “easy” something is as long as it does not verge into the realm of “unreasonably difficult”; giving easily-accessible power unto the hands of those incapable of truly mastering it is only paving the road to your own disaster.
I don’t totally disagree with that S. However, i still believe that “easy to learn” is a motive towards starting to learn something, though most times it shouldn’t be.
The truth is that we are humans and humans like “easy stuff”. I feel that if someone had to choose over programming in assembly or python, they would choose the latter.
We both know that assembly is the lowest level programming language but it is quite difficult to master (if you’re not into reverse engineering, would double the effort).
Python, on the other hand, is way easier. Arguably or not, that still counts as an opinion maker.
Easy to learn means Developer should understand easily the architecture of the language like PHP . If you want to integrate some thing like API and JS frameworks you can integrated easily instead of search where to integrate. Is this make sence ?
Easy to learn is a valid argument, to a degree. BASIC is easy to learn too, though, but it does practically nothing.
(I love Python!)
tnx 4 d help..I rily nid such reference about thiz programming language bcoz I’l be d one 2 report diz on claz…
i like python
“Easy to learn” convinced me.
Too much time is wasted in wrangling with some obscurity in a programming language than actually actually learning to program. Being easy to learn is a good incentive to a person new to programming, it is not obstructive and also it complements the wide range of real world uses Python has. People want to learn something useful(even for complex tasks) and uncomplicated, Python is both.
The counterpoint to easy =/= good is:
Generating a headache fighting with your tools (not the problem you’re paid to solve)does not mean your work is fruitful :p
Couldn’t have said that better myself RPotato. You’re right on spot !
Easy to Learn is a perfect argument. If you are a beginner or just new to the language.
Not all situations are hobby programmers sitting at home playing with their Ubuntu box.
“Easy to Learn” is a great argument for selecting a language for a project that has to get out the door fast and development options are limited.
Think of it in his analogy:
When considering the hire of a new employee – do you want the one who is “easy to train” or the one who is “Not so easy to train”?
Sometimes – time from start-to-finish is a key factor in development project decisions.. Anyone with half a brain and an ounce of common sense and experience in the field would know this. Stop trying to support “cartoon logic” arguments – its silly.
@EchoBinary: Exactly that ! Not everybody is keen on spending a vast amount of time for learning something as complicated as Scheme (i know, some will disagree, but that is my opinion about Scheme).
After all, in most, if not all, programming books, how “easy” a language is, is an important aspect.
There was a time in the past, for instance, when learning Ruby Rails was paused by me, because of its difficulty and the not so clear online resources (conventions are weird in Rails).
do why you guys think i NEED to learn python???? can u give a good reason?? please
Beginner, the post already talks about 5 reasons. You do not NEED to learn it. In fact, if you do not want to learn it, that is just ok.
I am an electrical engineer who has never programmed higher than gnu C on POSIX! I like your reasons for learning Python, because I want to make cross platform GUIs to support the work I do at much lower levels…. at minimum effort and maximum reliability. I care mostly about Linux and Mac, but I will want to have Windows options too (I will get someone else to do it
). Any advice on some frameworks good for building GUI “control panel” types of programs with Python? I will need to interface with /dev/tty… for serial I/O. Can Python do this?
@JPN
hi there, i would recommend the Qt framework, it’s cross platform and probably the best choice for python (though i’m kind of a gtk person). I don’t have personal experience programming serial I/O and the likes, but it seems that it’s more than possible. Please take a look :
http://mbed.org/projects/cookbook/wiki/PythonInteraction
Hi Spyros,
I love your website. Full of useful info.
Am currently learning python and loving it.
But we don’t know anything about you. Why don’t you have an ‘about’ page. Tell us who you are, what you do…
Thanks again!
Hi there
It’s nice to hear that you find useful information in this blog. In short, i’m a professional computer programmer, currently pursuing a phD in computer science. I’m generally very interested in computer programming and other computer related matters and this is why i created this blog
Woah, thanks.
What’s your PhD about? If you don’t mind me asking.
I still think you should create that ‘about’ page. I like to know my teachers a bit more.
Gives me context.
Good luck with your PhD.
It’s about computer science and i am just finishing my masters on information security. Please don’t think of me as a teacher, just as a friend interested in computers as much as you
Thanks for the wishes, have a nice time here