IronPython editor postscript

I earlier tried various editors I was considering using to teach IronPython.  One of the glaring omissions was Eclipse/PyDev, which has built-in support and is a very well-known IDE (particularly in the Java community).  The main reason that I skipped Eclipse was that when I was searching for an IDE to use professionally about five years ago I tried Eclipse (for Python, C, and C++ development) and I really hated it – the IDE was very slow (especially to launch), it was very Java-centric, and just didn’t suit me at all.  I’d briefly tried Eclipse before that as well, with similar results.

Over the last few days, I decided that I was probably being unfair, and since this was a choice for my students rather than for me personally, I really ought to try Eclipse (with the PyDev extensions).  I also noticed recently a post about using IronPython with NetBeans – I’d heard of NetBeans before, but only in a Java development context, and since I stay as far away from Java development as I can, I had no experience with NetBeans at all.

Eclipse/PyDev

I was right to re-examine Eclipse.  The things that I remember bothering me so much five years ago (speed, the interface) seem to have been completely addressed, and it looks like a quite usable product.  When adding PyDev (which was quite simple), there’s support for IronPython that appears completely built-in (although it’s still obvious that Java is the #1 choice).  It seemed like a quite reasonable contender, unlike I tried to actually configure it to use the IronPython interpreter (which has to be done manually).  I was using a completely standard, fresh, installation of IronPython 2.0.1 (from the .msi) installed in the default location (here ‘C:\Programs\Iron Python 2.0.1’) with ‘Eclipse Classic 3.5’ and version 6u14 of the Java Runtime.

I believe that, in theory, you can click the automatic configuration button, or manually locate the IronPython interpreter, and it’ll just work.  Unfortunately, for me nothing seemed to work.  The error message indicated that having spaces on the Eclipse path could be a problem (which seems pretty shocking in 2009), so I tried moving Eclipse to C:\, which didn’t help.  I tried moving IronPython to C:\ (and renaming the folder to have no spaces), and that didn’t help.  I imagine that someone more familiar with Eclipse, or with PyDev with CPython/Jython, might have been able to solve this easily.  However, if I can’t figure it out in 10 minutes, then I am not at all comfortable with telling my first-year students to use it (even though we walk through the installation together, some of them will need to do that by themselves as well).

NetBeans

It wasn’t entirely clear which version of NetBeans to use, but I presumed that the most appropriate was NetBeans 6.7 “Python EA2”.  Although the post I saw indicated that you needed to rename ipy.exe and ipyw.exe, I found that just selecting ipy.exe worked fine.  I quite liked this IDE, and it appeared (although I didn’t use it for long) that using IronPython worked fine.   There’s no graphical form designer, so NetBeans is in the same category as Komodo Edit (which I discussed previously).  In many ways, it’s probably a better choice than Komodo Edit (in that the IronPython integration is simpler to do, although it does require that Java is installed), although I don’t know if there is any way to provide .NET auto-complete.  It’s a fairly full-featured IDE, like Komodo and unlike DIE, which would normally be a positive, but in this specific case (first-year programming students) is actually a negative, since they need to ignore all the ‘team’ functionality, and you have to work within projects (which is true of Visual Studio as well).  This is an “early access” version – since I’m not familiar with NetBeans I don’t know how unreliable that makes it – it makes me a little nervous about suggesting it to students, but I certainly didn’t have any trouble with it myself.

Conclusion

If you’re able to get Eclipse/PyDev installed, then I suspect it might slightly beat out my previous recommendations of Komodo Edit and DIE; since I didn’t get it working, I can’t recommend it to the students.  NetBeans, however, will get added to the list of suggested tools (alongside Komodo Edit and DIE).  If I wasn’t so familiar with Komodo Edit, I’d probably use NetBeans as the editor I use to demonstrate, but it didn’t wow me so much that it overcomes the familiarity.

Choosing an IronPython editor for teaching

The Northtec D520 “Programming” course is changing to IronPython (from Visual Basic) this year, so I have to figure out what editor/IDE the students should use.  In some ways, Visual Studio would be ideal, since they need to get exposed to that during the course (and it’s an excellent IDE, with a really great form designer), but since there isn’t any real IronPython support in Visual Studio (hopefully coming in 2010), it’s not really a viable option.  Instead, they’ll start with a simpler editor, and then briefly learn how to use Visual Studio’s form designer and subclass the forms in IronPython (as described in IronPython in Action).

The requirements here are a bit different than when selecting an editor/IDE for actual development work.  Firstly, it needs to be free (at least for educational use), and it needs to be reasonably simple to use the basic functionality (since these are first-year students).  Code-completion isn’t necessary (on the one hand, it helps them out while they are learning – on the other, they rely a little too much on it), nor is a built-in debugger, or support for complex projects.

I considered seven different editors/IDEs – there are a couple of others, but they either seemed too young (e.g. IronPython IDE, IronEditor), or inappropriate for other reasons (e.g. ZeusEdit is not free, I can’t stand Eclipse.  UPDATE: I decided to try Eclipse and Netbeans after all).

Continue reading “Choosing an IronPython editor for teaching”

Useful / cute googling

Inspired by a Coding Horror post.  Things that I would demo to an “Intro to IT” class if I teach one again.

I don’t think you can get directly to NZE listings (i.e. “NZE:AIR” doesn’t work like “GOOG”) – you have to go via google.com/finance.  I don’t think UPC codes are used here, either.  Looking up a VIN number would be great, but I’m guessing that doesn’t work, and can’t be bothered going and reading my VIN at the moment).

“Santiago” (Mike Resnick)

This was in the collection of second-hand books that I bought a few years back, and which form the bulk of my unread stack.  To be honest, I wasn’t really expecting much, judging by the age and the cover (yes, I know the cliché, but without the cover, what’s left to judge by?).

However, I really enjoyed this novel, and thoroughly recommend it.  It’s a fairly typical setting, but there are interesting characters, especially the central character and the title character.  I quite enjoyed the way that the focus changes from section to section.  I also felt that it ended reasonably well – it wasn’t a super obvious ending, although it wasn’t a surprise either.

“The Return of Santiago” (Mike Resnick)

I really enjoyed “Santiago: A Myth of the Far Future”, so I was quite hopeful about this sequel.  However, while this was a good story, this wasn’t great.  It was pretty obvious how it would turn out all along, and the characters weren’t as interesting as in the original Santiago story.

I would still recommend reading it, but definitely check out the previous Santiago book first (especially since the sequel has spoilers for the first book).

Back to the short reviews/comments: that’s it!

“The Science of Discworld III: Darwin’s Watch” (Pratchett, Stewart & Cohen)

I really liked the first Science of Discworld, and enjoyed the second as well.  I’ve always liked the idea of mashing up educational material and fiction – here it’s loosely interspersed (odd chapters are lightly educational, even chapters are a related Discworld story), and I thought these were fairly well done.

This one, however, wasn’t that interesting.  I chose to read it now because of the Darwin anniversary stuff that was hot recently, so it seemed somewhat relevant.  The history was interesting, but the science wasn’t really.  The Discworld story was ok, but that part of the Science books has never been stellar (certainly not as good as a regular Discworld novel).

It was good enough that I’d still check out a Science of Discworld IV, but I’m not hanging out for it or anything.

ta-meyer@ihug.co.nz, t-meyer@ihug.co.nz, tameyer@ihug.co.nz

I was ihug customer #377024, and signed up 20 Aug 1997.  However, as of a couple of years ago, I wasn’t actively using my account (they finally made me angry enough to switch to someone else).  I kept the account alive to keep these email addresses – in particular ta-meyer@ihug.co.nz had been active since 1997, which was when I really started using the wider Internet (access from Mum and Dad’s in Whangarei previously was extremely expensive, so I didn’t really do that much).  It wasn’t my first email address, but it was the one I had for the longest time, and so was spread about all over the place.

I occasionally used the Ihug (now Vodafone) account as an emergency backup, but the cost didn’t really justify that.  I’ve monitored the email coming in for a while, and have moved/unsubscribed most of it.  Some of the rest I can’t unsubscribe to (or can’t easily), so will just have to bounce, because as of today, I’m killing these accounts.

As an aside: I would happily pay something less than $5 a month to keep these accounts indefinitely, with some sort of low bandwidth cap (e.g. 50MB/month), which would easily cover the negligible expenses that Vodafone incurs for hosting them.  I just don’t want a full account.  However, they don’t offer that, so I’ll never use an ISP’s email account again (I haven’t since these).

For now, if you need me and found this page, please use tony.meyer@gmail.com (using an ESP address is only a bit better than an ISP’s, but gmail is likely to be around for a while IMO).  You could use tony@tangomu.com or tony@badtomatoes.org if you’d prefer something that was wholly mine (but I don’t get a lot of mail there, so check them less often).

Goodbye ihug.

Graceling (Kristin Cashore)

Olyvia purchased this on my behalf – I had been given a voucher for Dymocks, which is a terrible choice, because there are so few Dymocks stores, and they are so far away from anywhere I go.  Time passed, and eventually reached the point where I one day to spend the voucher or lose it – losing it seemed a terrible waste, so Olyvia offered to go to Dymocks and purchase a book – basically she read out names over the phone until finding something I didn’t own.  I had never heard of Kristin Cashore before, and I like finding new authors, so it sounded fine to me.

I was more skeptical when Olyvia arrived home with the book.  For a start, it was a softcover edition, which I particularly dislike (I like paperback, because it’s comfortable to read, and I like hardback, because it looks nice and ages well, but softcover has none of the advantages and many of the disadvantages).  In addition, the cover is terrible – it has a moderately attractive women in light armour holding a sword – it looks like a bad book trying to attract teen readers.

However, once I got around to reading it, I was pleasantly surprised.   The ‘magic’ of the world is that some people have extreme talents – rather than just being really good at something, they are ‘magically’ good at it.  In a really nice touch, the talent might be anything, even the mediocre (it reminded me of the heroes with mediocre talents in Lafferty‘s Playing for Keeps).  Although the central characters have talents that are far more impressive, the general way that ‘graces’ were developed was very enjoyable.

The central characters, Katsa and Po, were both well developed, and enjoyable to read.  The antagonist was a little weak – we never really get to know him, so there’s less at stake than with a more developed villain.  However, his ability was suitably impressive, and his lack didn’t detract from the story’s other strengths too much.

(Minor spoiler alert). I did feel that the book ended rather suddenly – although it was obvious that it was getting close to the end (there weren’t many pages to turn), the story only seemed part-way through.  I was really expecting a partial conclusion with a sequel (or two) to finish the story off – although this is probably partly due to the ubiquity of trilogies within the genre).  However, with only a small number of pages to go, the story is completely resolved.  Although it ended cleanly and it did create a real echo of surprise to match the character’s surprise, it still felt quite rushed.

In general, this felt like a really good story by a slightly inexperienced writer.  I think someone with more experience would have been able to flesh out the antagonist more and create a less rushed ending – although these would probably both have meant a longer book.  The story changes a little abruptly about a third of the way through, and I think a more experienced writer would have tied the parts together a little better as well.

Overall, it was a very enjoyable read (it’s unfortunate that the publisher didn’t find a better cover artist), and I highly recommend reading it.  I hope to read more from Cashore in the future, and expect that later novels will have more polish than this one, while hopefully retaining the originality and great character development found here.

Foxmask (Juliet Marillier)

This is the sequel to Wolfskin – to understand the relationships that underlay the characters, it would certainly be best to have read Wolfskin first, although this is a standalone story, not part two of two (or three), which is certainly refreshing.  I purchased this at the same time as Wolfskin, so I wasn’t then aware that I’d love that book so much.  By the time I got to reading Foxmask, though, I had reasonably high hopes for anything from Marillier.

Although I enjoyed Foxmask, it wasn’t quite as fantastic as Wolfskin.  The basic story has a lot of promise, mostly as a result of the earlier book – Somerled, the antagonist from Wolfskin, was so clearly the villain of the piece, but also clearly had the potential for redemption.  Here, we can find out whether he did manage to redeem himself – but Marillier made the sensible decision to place the story a little later in time, so that although the story answers that question, it’s not actually the central focus of the story.  That means that Foxmask is more of a standalone story than a direct sequel, which is a benefit, in my opinion.

Although Thorvald, Sam, and Creidhe are interesting characters, I was never as drawn to them as the Wolfskin characters – and the antagonist of Foxmask is far more on the black side of grey than Somerled ever was, which makes him a lot less interesting.  You can see how he might have made the decisions that he did, but they are still more evil.

The weakest part of the book was the character Keeper.  For some reason, I was never interested or attracted to this character, and that made it harder to understand the relationships that he formed with the other characters.  The strongest part was the development of Thorvald’s character, particularly the leadership development with the other men of the island.

The magic in Foxmask is a little more overt than that of Wolfskin, which also detracts slightly from the story.  It’s also a little darker in some ways (although there’s probably less death, the reader knows the characters that die or suffer better, so they are more intense).

Overall, however, this is still an excellent novel.  If this was the first Marillier novel I read, I’m not sure I would be so eager to seek out more of her work – probably I would just hope to remember to buy one next time I see it, rather than actively looking for it, but I absolutely recommend reading it, especially since it wraps up the Wolfskin story a little more.