I’m not normally an IDE man. Gimme Emacs, or Sublime Text, and I’m rather happy — Emacs for my Samurai-side, Sublime Text for my Zen-side
I tried hard to like IDE’s, as the concept is great: get rid of boiler-plate; have everything you need under one roof; rainbows and unicorns dancing; etc. But, every time I try one, I feel like my eyeballs are going to explode from the glitter-explosion happening on my screen!
However, given that there are so many developers who use IDE’s day-in, day-out, I figured there had to be something to them I was missing out on.
So, I decided I would give IDE’s another chance. Only this time, I was going to compare my experience between local IDE’s (on my computer) and cloud-based IDE’s.
First, I Tried “Local” IDE’s… FAIL
Take these impressions of mine with a grain of salt, as I didn’t give them more than a few days chance each. It is perfectly possible that one of them may have grown on me. But, at what cost, I ask… at what cost?
- Eclipse is just horrible, slow, and clunky. I went in wanting to love it because of the EclipseFP version/plugin… but it foiled my fun.
- Netbeans is much better feeling upfront than Eclipse, but it just feels… huge.
- PHP Storm is actually rather badass for WordPress dev… after the 7 hours it takes to load. But, it’s way too much if I’m only doing front-end work.
- Visual Studio: I’m not willing to try it. I’m a bigot, that way.
Now, let’s be honest. I’m not a professional developer. I’m a DIY developer, which is my term for someone who does their own shit for their own websites and businesses … sort of like someone who fixes their own plumbing, cars, and electrical system (legality be damned).
So, my needs are rather small. I can certainly understand that if someone was coding in a syntax and library heavy language all day, that a full-fledged IDE could make some sense. Even IF they have to deal with their monstrous weight, slow load times, and crash-prone natures.
The Future: Cloud IDE’s
Next I tried out a number of the cloud based IDE’s. Of the two that are big-boy contenders, I had nearly opposite reactions:
- Cloud9 was very nice. No slower feeling than an IDE on my home computer. Well laid-out UI. Hooked up to Git easily. Only crashed about 10% of the time…
- Code Envy was a dud. First, it took multiple days just to get it to allow me to sign up (I tried via all of their methods and it crashed every time). Once I was finally able to register, on every attempt to start a project… crash, glitch, bug… I’ll wait a year.
The Holy Grail: Haskell IDE by FP Complete
In my noble quest to learn Haskell, I stumbled upon FPComplete.com and their online IDE that connects to their School of Haskell.
Holy living Bojangles, Batman!
I was reasonably impressed by Cloud9’s offering. I thought, “Hey, if this thing is about as fast as one of those behemoth IDE’s on my computer — but I don’t have to run it on my machine — then that’s a big win.”
But, the Haskell IDE was different. It was FAST, like blazing. I don’t what that means. I don’t know why. But, I was impressed.
Getting it set up with my Github account just worked. Pushing and pulling my first toy project just worked. And the coding environment is a nice combination of minimalistic (in a good, Zen sort of way) and … complete.
What’s In A Name: FP Complete
FP Complete is aptly named. ‘FP’ stands for ‘Functional Programming’, but it’s the ‘complete’ that’s the important word.
Unlike a lot of other languages, setting up a good Haskell development environment on your own machine is a giant pain in the ass. The language is a bit of cult thing compared to Java or Python, Ruby or PHP, and it shows in this regard.
FP Complete is on a mission to change that. This cloud IDE is a part of their mission. And it’s working!
I am one of the people in their target audience: someone new to Haskell who doesn’t need the hassle of the ‘set up’ getting in the way of learning the language itself.
The alternative would be like you coming to me to learn weightlifting, and me telling you, “No. First you need to learn how to make a barbell.”
And I suppose that’s the difference. Their IDE is meant to be both for working developers and for learning. They are having to take both considerations into account.
The other boys IDE’s were clearly not meant to help someone learn anything…
That might be fine, in theory. But in my experience, you are always better off if you approach your target audience with the assumption that they need clarity, organization, and concision. Whether they are pro’s or beginners, those truths are immutable — like variables should be :-).
The desktop IDE’s all suffered, not so much from feature bloat, but from feature chaos.
FP Complete’s Haskell IDE is a great antidote to that. And this is just the beginning of their project.
I’ll stick with Emacs — and a little Sublime Text — for most of my typing… unless I’m typing types (see what I did there), in which case I’ll be using the Haskell IDE online in the cloud.
Not Mentioned, But Freakin’ SWeeeeeeeeeeT
There are a few other “editors” that bill themselves as IDE’s, or light-weight IDE’s, that I played with as well. But it seemed like they were more like text-editors with benefits.
Most of these were LESS extendable than Sublime Text, and nowhere near as pretty to look at. Worst of all worlds!
However, there was ONE light-weight, language-specific, IDE that I absolutely fell in love with: Light Table.
It’s repl is instantaneous, no need to press enter (’cause that’s so hard), which sounds silly, but it’s actually quite addictive. And unlike the other IDE’s on the list, it doesn’t feel heavy. It’s fast and light.
Light Table isn’t even to version 1.0 yet, but it’s worth looking at if you’re into fun.
Now go lift something heavy,
- Don’t quote me on this, but I think Light Table is written in Clojure… also cool. (EDIT: Yeppers, just checked.) ↩