Sunday, September 09, 2007

Beware the March of IDEs

Shortly after I started fucking around with sockcheck.c, I got involved with one of those inevitable side projects that starts distracting from the problem at hand.

I decided I needed a decent Integrated Development Environment (IDE) for C/C++ in order to get the project done. Hacking around in jed (I hate vi) just wasn't cutting it.

Then I realized I had gone through this all before.

Twenty years ago next January I got my first "IBM compatible PC". It was a slick dual floppy 8mHz XT with EGA graphics. I bought it from a "friend" and paid about eight hundred bucks for it. The first thing I did was buy the $19.95 Power-C compiler.

Oddly enough, even though it only works on MS DOS, you can still buy it for $19.95.

Then next thing I dad was look for a decent editor. My friend had thrown in a bunch of software, including a text editor from DAK, another company that's still around for no apparent reason whatsoever.

In the 80s DAK sold mostly blank cassette tapes. By the time I got around to buying a PC in 1988 they had moved into the floppy disk business. Their "value add" at the time was including worthless software with their floppies.

And that was where I found "DAK Edit". I used it for all my C hacking until my programs got too large. It seems DAK's programmers had no idea what the "PageUp/Down" keys were for, so you had to hit the Up/Down arrows to navigate through your source code.

The search for a decent editor eventually led to Blackbeard, a decent DOS editor with all the bells and whistles. Blackbeard has passed on. You may be able to find a copy on some of those old BBS file dumps, but don't try to Google for it because some guy named Bill Blackbeard, who, as fate would have it, happens to be an editor, gets all the hits. Only oldtimers seem to remember it now.

In 1990 Borland introduced Turbo C++ 1.0, which was my first exposure to IDEs. It came on a half dozen floppies and shipped with twenty pounds of manuals. I bought it at the low, low introductory price of $99.95.

In 1992 Windows 3.1 came out and later that year Borland produced Borland C++ Professional. At $799, it was out of my price range until they offered a Turbo C++ upgrade for $99.95.

By this time I was writing shareware. Everything I did was written in BC++ and I was clam happy.

I could've hacked away forever on BC++, but '95 rolled around and MS DOS was, like the Pharaohs of ancient Egypt, history. In 1997 I gave in and bought Microsoft Visual C++, which I still have and still use.

Except recently all of my hacking has been on Linux.

If you run a Linux distribution that comes with the Synaptic Package Manager, don't waste your time searching for "IDE" or even "integrated". The only thing that shows up is eclipse.

Eclipse is fine. In fact it's damn near wonderful. But the version that Debian 4.0 supports leaves much to be desired. Go to www.eclipse.org and get the most recent version. Then go to (ugh) www.java.com and get the highest version you can find that isn't 1.6 (easier said than done). The GNU Java VM that ships with Debian doesn't play well with eclipse.

If you don't believe me, install it and try to insert a colon while you're inside eclipse. It'll crash and burn.

After I finally got the www.eclipse.org version installed & configured the sockcheck.c project started to cook. I hacked away on it for a weekend. The following Monday I decided to fire up Xvnc4 and work on it during lunch.

Crash.

Burn.

It turns out Xvnc4 & eclipse don't play well together.

In fact the only way I could get it to run remotely was to start an ssh session with X forwarding and run eclipse through Cygwin-X.

Slow, but it didn't crash.

I worked like this for a few days and then stumbled upon this page. There were IDEs I had never heard of. Sockcheck went to the back burner again while I tested alternatives.

So far anjuta seems to be the winner. It doesn't require Java (I hate Java), doesn't crash Xvnc4, and ships with Debian 4.0 (although it is impossible to find by searching using the aforementioned search terms).

Unfortunately, the latest version (2.2.1 - Debian ships with 1.4.something) will not compile. It demands versions of gnome and GTK+ that only ship with the "unstable" version of Debian.

So now my side project is installing Debian "lenny" on a VM to compile the new version.

It never ends.

No comments:

Post a Comment