No good IDE for Django

January 22, 2009

I have been using Netbeans for the last month for develop Django. The Netbeans Project is quite promising in the “to be implemented” features because they have a roadmap to implement Django and that would be very nice. However basic things such as code completion is not usable. When you write an object name followed by a dot it offer every single subobject, method or whatever ignoring the object type. As well as this it don’t handle properly python packages not in standard directories even if you include them in the PYTHONPATH. Netbeans is a promising IDE for Django but, at this time it isn’t good enogh to simple python developing.

On the other hand I tried Eclipse some time ago. It has nice python support using PyDev but, as far as I know, there’s no plan to integrate Django into it. This means Django templates has not proper editor, but this is reasonable at this time. When I tried thid software some time ago PyDev use to halt and stop providing code completion needing to restart the IDE. As well as this it seems heavier than netbeans.

Both IDEs are java based, therefore you should program them using this language.

Beyond those I don’t know any other IDE but some editor enhanced such as ERIC4 and others I can’t put to work properly. Hopefully the new version of Kdevelop, and its plugin system, could be the answer.

Python platform for development

November 18, 2008

Most develop companies use to choose a development platform for all its projects. While this is probably not a good idea for big ones, I realize than doing so has some advantages for small ones. Get specialized is important in order to achieve the best productivity.

There are several platforms you can choose:

  • .Net/Mono
  • Java
  • Others

The first two are the ones most companies choose. Probably the most important features for those are they are quite extended, it’s possible to develop for a lot of  devices, has great IDEs, etc.

I would like to mention that Python at this level. Since Django became important in the web applications scenario, developers coming from PHP, Java and others has given it a chance, you can develop desktop applications (QT, wxWindows, etc.), web applicatrions (Django, Turbogears, etc.), mobile applications (PyS60, PythonCE, etc.). There are some IDEs such as Eclipse and Netbeans (6.5 or greater).

Python is much more faster to develop than Java (and probably .Net) as you can perform quite complex operation in a really simply manner, while it keep the code clean and readable due to its blocks (not like Perl).

On the other hands it miss namespaces (can be simulated some way using packages) and private variables.

On my view Python is one of the most interesting alternative to the major established develop platform.

Error message importance

September 4, 2008

Probably most of you don’t need to read this; but I need to write it anywhere so…

It’s really important to provide meaningful error messages in order to allow developers find and fix errors. This may be obvious but not everybody take sufficient care about this. I have spent about three days finding and fixing a really single error just because the error messages didn’t show any useful information.

I tried everything came into my mind, but until I decide to do the application deploy under a new version I didn’t found the error. I spent 3 days to find the error and just 3 minutes to fix it.