Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

After reading some Python material and seeing some Python code a few years back I decided to give it a whirl. I decided to start with Python to solve the problems on Project Euler and was throughly impressed with the language. Since then I've went on to learn Django, and now use it primarily for my web applications. I would love to have a career programming in this language, however I fear the future of the language is currently in a state of uncertainness. With Google and other major companies embracing it there may be some hope, what are your thoughts on Python, do you see many job opportunities out there?


locked by World Engineer Nov 28 '13 at 5:06

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not constructive by Mark Trapp Nov 20 '11 at 8:40

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

@chrisw: Please remove "For those of you who may not know what Project Euler is... So, with that being said." A link is sufficient. Please focus on the question, omitting personal background. – S.Lott Mar 17 '11 at 14:20
@S.Lott You have the rep to edit questions, perhaps you should make use of it. I have proposed said edit. – Matthew Read Mar 17 '11 at 14:33
Thanks, the change has been made. I'm still a tad new so appreciate the information. – chrisw Mar 17 '11 at 14:35
@S.Lott No, but you improve the question and a pleasant "I edited this because X" comment is equally edifying. – Matthew Read Mar 17 '11 at 14:39
@Matthew Read: "equally edifying" to some perhaps. Others seem to learn better via hands-on. Also, I'm uncomfortable rewriting questions in a big way. I find a lot of questions very confusing, and find I need to ask for clarification. Other folks are -- clearly -- much smarter at guessing the intent behind a question. I prefer to ask questions and ask for changes because I may not have understood the question at all. – S.Lott Mar 17 '11 at 14:59
up vote 21 down vote accepted

Even if python (or any other language) stops being used I don't think it's wasted time to have learnt that language. The basic principles of programming are always the same and the hardest part (modelling what you want to achieve) is something that will always remain no matter what language you use. Technical nuances of a specific language might even help you to learn another language quicker or give you ideas to implement yourself in a language etc.

As Steve McConnell points out many times in "Code Complete" you should program into your language, not in your language.

+1 For a Code Complete reference. – chrisw Mar 17 '11 at 14:07
This doesn't answer the OP's question (although I am not downvoting). There are many programming languages to choose from that will give valuable experience in learning new languages; if you only have limited time, then you need to turn to other criteria. – jprete Mar 17 '11 at 16:55
@jprete: However, if there's jobs in the short run, there's going to be time to learn the next language. – David Thornley Apr 19 '11 at 19:57

The job market for Python isn't that large compared to the major languages like Java, but that probably means it's relatively stable (as there's little competition, and work does need to be done).

The job market is smaller than for Java; that means there is less demand, but also that there is less supply. That doesn't necessarily mean it will be harder (or easier) to find a job. FWIW, i've read Python-using employers mention that it's easier to find good Python programmers than good Java programmers, for precisely this reason. – Tom Anderson Mar 17 '11 at 17:10
@TomAnderson I second this. I've seen enough "PHP programmers" who show their true colors two weeks in as yet another [Drupal | Joomla | etc.] point-and-click 'ninja' (ugh). Case and point, more demand implies more glut and shameless self-marketing of non-existent skillsets in the talent. I realize that I may sound bitter, but at least I'm aware of it. – Droogans Nov 17 '11 at 15:30

Because you like a language - just use it. Don't worry about what the industry as a whole is doing.

I used python in a recent project because I just needed a scripting language. I didn't want to deal with an ide/compiling. Nor did I want it to have anything to do with the web like javascript or php. I just needed a general scripting language. So python was perfect for my task at hand.

Just my thoughts on this: use languages because you like them or NEED them. Build projects that use these languages and freely add these languages that you know to your resume. Don't just specialize in one language. Know a few of the most important ones. Languages go in and out of fashion all the time so it's best not to put all your eggs in one basket. But if you have a need to use a particular language, go for it.

Python is great and it's very popular and ultra portable. I have python running on both my macs and pc's.


There is no uncertainty about Python's future that isn't shared by every other major programming language. It's one of the lowest-risk languages in terms of the chance of getting no return on your investment of time.

I guess my question was more on the certainty of the job market, is it worth the investment of time to learn and master? – chrisw Mar 17 '11 at 14:06

It's been major programming language for quite some time already. It's the fifth most popular language (after Java, C, C++ and C#) and it's market share is steadily growing. So I wouldn't worry at all about future of Python.


There's popular, and then there's the most popular. Have no doubt, Python is a popular language. It's just not the most popular. Picking a language because it is the most popular is an OK strategy, but it's not the only strategy. Consider:

  • In my city (Seattle) you can see dozens of advertisements a month asking for a background in Python. That means there are probably thousands of Python jobs worldwide.
  • That said, there are orders of magnitude more jobs for PHP, C#, or Java.
  • However, there are also orders of magnitude more PHP, C#, and Java programmers competing for those jobs.

If you are an average or below average junior programmer, working in a market that only supports line-of-busines type software development, then yeah, you may want to focus on PHP, Java, or C#. However, if you are an above average programmer in a large market, you may want to distinguish yourself from the crowd by adding languages like Python to your toolkit. If you are a brilliant programmer with a long and successful track record, you can specialize in MUMPS or FORTRAN II, or INTERCAL, and still find work.


do you see many job opportunities out there?

Define many. If it's not PHP level or ASP then it's decent to little job opportunities for me. If i can't choose a city to live in and get a job for that programming language then it's few imo.

You can judge for yourself with this:

As a future major programming language: In my personal opinion, only if, they fix the rift between 2.6 and 3.0. As in when they convert all the existing libraries to 3.0.


+1: Nice chart. Here's the same chart with C, C++, and C# added to the previous languages. What is interesting to me is that the need for C++ has remained relatively stable, and while Javascript and C# started along the same growth rate, C# has leveled off and the need for JS has continued to grow. – oosterwal Mar 17 '11 at 21:37
Try SQL, it's waaay up there with C. – mythicalprogrammer Mar 18 '11 at 15:16

You don't have to choose between Python and some other language. Languages come and go. I have been paid to program in FORTRAN, C, C++, Ada, Emacs-LISP, Tcl, Java, Perl, Python, Ruby, Javascript, Groovy, and a few others. There are plenty of teams just looking for good people, assuming that good people will quickly be productive in any language. I have found such teams to be more fun than the folks trying to hire an <insert-popular-language> programmer.


Python is a great language and has a brilliant ecosystem. The popularity of python is due to ease of use, multiplatform readiness and a huge set of libraries. Python is slow, like all interpreted languages, but easily extensible with the ctypes module. There's enormous academic investment in python and it's many scientific libraries means it will be an excellent alternative to MATLAB and MAPLE in universities. In terms of product develoment, Python shines on the web. It's one of many good platforms. For reasons I don't agree with, many big companies and hospitals still use JAVA and ASP for the web rather than Python. To some extent that limits Python's employment opportunities. While individual developers are enormously attracted to Python/Django, especially for deployment on the google app engine, teams of programmers often use these more complex tools. The big con of Python is that it's not the best for making "apps" to sell for the iphone, windows phone, tablet PCs, etc. It seems like the big push in programming these days is to write apps that can be distributed for iOS, windows mobile or android. And that's not Python's domain. I vastly prefer to hack python than objective C for example, a real mess of a language if you ask me, but the frenzie around iphone apps makes objective C the more popular and perhaps more employable language.


Not the answer you're looking for? Browse other questions tagged or ask your own question.