Friday 5 November 2010

Why Are There More Python Jobs Than Java?

I recently looked at the latest job ads and it seems there are now more Python jobs than Java vacancies. Although it's too early to say, but it could be put down to a lot of things - one of which is the recent case between Oracle, Apple and Google over their use of Java on the Android platform.

Although, there are still strong support for Java in the enterprise, more companies, mine included are looking for ways to move their applications forward to a platform and language that's above and beyond the control of one company. You know what this reminds me of? Remember the rosy days of Microsoft, they controlled everything - from the language to the operating systems. But with the advent of Linux and Mac-OSX, there's now more choices of operating systems and platforms.

What this means is that you don't have to be locked in or tied to Java, there's Python, Ruby, Perl and countless other languages that are not under the control of one profit-making company.

So, in a way this goes to explain why there's been a huge increase in people learning things other than Java. To give you an idea, run a search for Java and Python; and try to compare the number of vacancies for each one.

Another reason why Python is doing very well lately is the huge support from open source developers working on awesome frameworks like Django and Pylon. These frameworks are a breeze to learn and use - making Python alot more attractive -- along with the fact that it's not controlled by some huge corporation . I think the ease with which you can get a Django application running compare to that of any Java framework is another plus for Python. I have been a Java developer for the last 5 years, but it still baffles me how complex a simple Java app can get. On the other hand, getting Python/Django app running couldn't be smoother. There are no complex XML configuration files for each deployment... no over-bloated applications server to learn and configure.

Here's another example of how Python has progressed lately and gaining a lot of traction in many Mozilla projects. From the SUMO and AMO websites, to Socorro and the next-gen Firefox Sync server.In fact, it turns out that there's more you can do with Python which you can only dream about in Java. Very little applications have come out of Java on the desktop camp. We know Java works very well on the server side, but the you have to be a be prepared to spend more than the average company to have your Java applications hosted. This along with on-going problems in the Oracle camp add to seemingly decline and lack of glamour in Java compared to a few years ago.

So, with the recent problems with Oracle and lack of truly open source Java, won't it be wise to start investing in Python or Ruby for your next project? 

Have you tried Python/Django? Considering using something other than Java?
Would love to hear you thoughts.

Monday 1 November 2010

wxPython in Action

This year I decided to take the plunge and try to learn how to program GUI interfaces. As I'd been learning Python for a couple of years on and off I looked at the available options - which seemed mainly to be just four - Tkinter, PyGTK, PyQt and of course wxPython.

I discounted Tkinter as it is frequently said to not be good enough for large programming projects, and PyQt because it isn't Open Source and briefly looking at the license details put me off straight away.

If like me you have been trying to piece things together by using various online tutorials, I suggest you get a copy of this awesome book. It was written by the main developers of the WxPython itself - so they know what they are talking about.

Click here to by on Amazon.com