Krys Wilken wonders if Python is getting used more and more. Of course this can be called one of the biased posts, and it is quite true that personal preferences does create a bias. But there is something else to look for here. There seems to be a certain trend that picks up in the industry, especially about adopting a certain programming language.
In fact, yesterday I was wondering if a new programmer should start with Python. Today, I still think so, for following reasons:
- It is a language that lets you try various programming styles – procedural, object oriented and functional programming. Though not in entirety I believe it is one of the best languages to understand pros and cons of each approach. With all other a lot of the environment changes.
- Though the indentation is not liked by many, it is one of the best ways to illustrate importance of writing indented code. Python takes it to heart, and can cultivate a good habit in the new programmer.
- Because of the interactive shell (there is an alternative too), you can learn Python by usage. These are getting more and more common, but were not available for older languages. I have found Python to be one of the easiest languages to learn. It is easily available on multiple platforms with a host of tools to aid. And books like Dive Into Python make it irresistible.
- Python is open source and has gotten richer over time through community participation. There are host of applications and libraries available today to be used off-the-shelf. This has been the reason cited for Reddit adopting Python.
- The richness has made Python applicable on both, the web and the desktop. This has encouraged the new adopters to experiment and explore more.
Apart from this Python has been good for performance, maybe not at par with the fastest, but definitely above acceptable for most cases. It is a programming language that offers a good balance on both Web and the desktop, and I think that is the most critical factor for adoption. Many of the features listed above are present in other programming languages, but not many can boast of all of them together.
Not to say that Python is the best in the world. It has its share of problems and rants in the huge mailing lists. Also not to say that this post says anything bad about other programming languages. It is also quite possible some of the features listed above might be nuances for you. I think our judgement is a factor of our experience, habits and preferences. But it sure does highlight Python and that it might be entering the Hollywood from the Broadway.