5 Reasons Why You Should Learn Python Programming
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 !




















“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
You know you guys are real shiners. The moment author mentioned “Easy to Learn”, most of you jumped on the author’s throat. For all of you who made a big hoo haa on “East to Learn”, get a life. Perhaps, author was trying to say that the language is not CRYPTIC, and will not scare the newbies away.
I am planning to learn Python and this site a big motivation. Thanks Spyros
@Python Beginner : This is probably the best compliment I heard for codercaste. Thank you
Easy to learn I won’t agree python is known for its ease of learning. I preferring php is the best language for beginners , better to understand how web actually works, what is dos and don’t in web.
Hi,
Im a beginner to python. I dont know much about python, I dont know how to practice and do programs.
Can anyone one suggest me how to do programs easily, for that what i wanna know ? How to start my practice on python?
Waiting for the reply..
Thanks in advance..
Go to coursera website. Course called Learn to Program. Their using python to each beginners. Very useful, as is this blog. Thanks spyros.
Hi Raps,
Thank u so much for ur reply..
I used to program in assembly, FORTRAN and PL1 years ago – first at school, then for many years afterward, at work. It’s been a while, and I want to start doing programming again, even if it is just for fun. Sounds like Python is a good place to start?
davy, So you are the other programmer left on earth who knew PL1 a while back, nice to meet you!
I love python, and it might be a good fit depending on your needs. My suggestion is to work through some tutorials that make some cool little useful tools.
Also, the Object Oriented approach may catch you off guard, but stick with it, find some tutorials on the general concepts of OOP, and you will succeed! Best of luck!
very much useful site
I have to agree that “easy to learn” isn’t a /reason/ to learn something, but it depends on which hat you’re wearing.
As a “programmer” there are certain goals I need to achieve. The programming language is the tool used to achieve it. From this perspective the primary “reason” for choosing a particular language is its ability to achieve the goal effectively and efficiently.
Then there’s the “employee” perspective where the primary focus is finding quality work, and so the biggest “reason” for choosing a particular language to learn is that it’s one that’s in demand.
Third, you have the “management” perspective. The goal of these people will usually be to create a uniform development environment for all employees. They’ll generally prefer “Jack of All Trades” programming languages that are capable of achieving many goals at an acceptable sacrifice of effectiveness.
Programmers, IMO, would usually favor languages like C++, PHP, and others that specialize in one area. They’ll often be at odds with managers who want languages like Java or .NET for their well-roundedness. Employees will go to where the demand is, which will be whatever the managers are hiring for.
Those of us who are programmers and employees are stuck in the uncomfortable place of having to compromise effectiveness for our careers. And it can be a constant annoyance.
If you’re a programmer and a manager, well… that can be even more difficult to reconcile.