Archive for the 'Programming' Category

Eclipse Europa: evolution or revolution?

Sunday, July 1st, 2007

Eclipse Europa became available to the world on 29 June, and I’ve spent a few happy hours exploring what it can do.

My standard Eclipse set-up consists of the Eclipse SDK, DTP and the Derby plugin for database-related stuff, WTP for web-related stuff, Subversive for version control and PyDev for Python programming. Installation of Europa has upgraded the main SDK to version 3.3, DTP to version 1.5 and WTP to version 2.0.

So, what do I think of it so far? Overall, it looks more like an evolution than a revolution, with a large number of small additions and changes. None of these are particularly dramatic in their impact, but the cumulative effect is rather pleasing. Features I particularly like include

  • Streamlined workspace switching
  • The new minimize/maximize behaviour, which allows more flexible use of screen real estate
  • The ability to toggle display of invisible whitespace (handy for Python code)
  • Grouping of referenced JAR files under a single node in Package Explorer - much tidier!
  • The ability to hide the Console view and have it reappear whenever the program writes to the standard output or standard error streams

I haven’t had much opportunity to examine the changes in WTP yet, but DTP certainly seems to have improved significantly. There is now good support for HSQLDB and PostgreSQL, and query results can be displayed in either tabular or textual formats. One particularly nice new feature is a wizard for creating tables. To be precise, it generates the SQL DDL commands to create a table, and these can then be executed in the normal way, or saved to a file for future use.

I’ve encountered two problems, one minor, the other less so. The minor issue is with the Welcome screen. On my system (Ubuntu ‘Edgy’ Linux, AMD 64), I don’t get the nice graphical version, just this:

Eclipse 3.3 Welcome screen

Perhaps the Welcome screen is constructed using HTML and CSS, and there’s some problem with the CSS? In any case, there doesn’t seem to be any problem with the 32-bit Linux version, which displays the Welcome screen just fine on my PC at work.

The more serious issue (on my home PC, at least) is stability. Eclipse 3.2.2 was rock-solid for me, but 3.3 has locked up a few times already. I’m going to experiment with increasing memory allocation to see if that solves the problem.

Running before you can walk?

Monday, November 13th, 2006

Whilst scanning The Register today, I came across an advert for a book review that began “Calling all Rails developers that want to learn Ruby!” Maybe I’m just old-fashioned, but I would have thought it would be advisable to learn Ruby before trying to use Rails?

Django on a PDA

Saturday, October 28th, 2006

This is exceptionally cool, and a real testament to Python’s flexibility.

Python worms its way onto an iPod

Wednesday, October 18th, 2006

RavMonE.exe, the piece of malware that Apple have thoughtfully shipped with some recent iPods, is the W32/RJump worm — and its written in Python. Infamy for our favourite programming language, at last!

Student projects

Wednesday, October 11th, 2006

It’s that time of the year again, when our final-year students begin their project work. In the run-up to project selection, it was tremendously encouraging to see how many of them were keen on using Python in general, and the Django framework in particular. And it now looks like two or maybe three of my four students will be making significant use of Django. Java doesn’t go unrepresented either, with one student planning on doing interesting things with Eclipse and version control.

Anyway, I hope all of my guys get stuck in and do some good work. Projects that go well can be as rewarding for the supervisor as they are for the student!

An Eclipse buglet

Thursday, October 5th, 2006

Filed an Eclipse bug today. Nothing show-stopping - just an annoying little problem with how the Javadoc view displays the doc comment for a class. It’s Bug 159775 in Bugzilla :)

IronPython forks?

Tuesday, October 3rd, 2006

Fuzzyman reports that an active member of the IronPython community has released his own version of IronPython, containing various bug fixes and enhancements, because the IronPython team are apparently “unable to accept outside contributions”.

This is disappointing news. Hopefully, Microsoft will be able to sort out a better development model. IronPython is one of the most interesting things they’ve done lately, and it would be a shame if the project failed to build momentum simply because Microsoft couldn’t bring themselves to embrace an inclusive, community-driven approach to software development.

Another Django project comes along…

Friday, September 15th, 2006

Having only recently decided to get a personal Django-based project off the ground, I now find myself with an opportunity to use Django for a project at work. I think that RunLog is going to have to take a backseat while I concentrate on something a little more serious.

Why I like Django

Thursday, August 24th, 2006

I’ve recently been thinking about why I like Django, and why I’ve ended up spending time with it rather than with something else like TurboGears. It may be largely accidental, in that I came across Django before I’d heard of TurboGears. In fact, my prior experiences with CherryPy lead me to suspect that I’d have been pretty happy with TurboGears, had I discovered it sooner. But Django snared me first.

So why do I stick with Django for my experimentation with web frameworks? Here, in no particular order, is a list of the things it has that I particularly like:

  • A well-designed, easily-navigable, unfussy website, providing access to some excellent tutorials and other documentation
  • A simple, compact template language that forces business logic into the view code, where it belongs
  • A rich set of generic views that allow useful functionality to be delivered with a minimum of code
  • An attractive and highly capable administrative interface to the underlying database, generated for free from the data models

All pretty compelling, as far as I’m concerned. I wouldn’t rule out switching to another framework, but it would have to provide all of the above, and improve on some of it, to tempt me away from Django.

Is Django ‘the’ Python Web Framework?

Thursday, August 24th, 2006

Guido’s recent pronouncement recommending Django as ‘the’ Python Web Framework seems to have got some folk hot under the collar, and prompted a few criticisms of Django. I wonder whether Django’s image might suffer a little at the hands of people envious of the endorsement it appears to have received. I hope not.

Hopefully, people will realise that the comments of one individual, even one so illustrious as the BDFL, aren’t a serious threat to a project with the momentum that TurboGears has. But if Guido’s comments have the effect of dissuading Joe Programmer from writing Yet Another Python Web Framework, and encourage him to help make one of the existing successful frameworks even better, then they will have been well made.