The Hackety Mainfesto
For those of you that don't know, I've taken over a project by someone named _why. He dropped off of the face of the Internet back in March, and the community has picked up his works. Because I'll be writing about the project in the future, and because I feel these words are still relevant, I'm reprinting the two of his essays that led up to the creation of the project, Hackety Hack, here on my blog. Here's the second one.
Nearly four years ago, I wrote an essay called The Little Coder's Predicament. It's not too unusual. Lots of others like it have been written. The point is: programming just isn't available to people like it was with the Commodore 64. I also outlined my requirements for a new cross-platform programming environment for beginners.
The essay was widely linked on Slashdot, Reddit, Lambda, etc. I got lots of mail from people who both agreed and disagreed. Great. Nice. Good people all of them! And yet, nothing has changed. Not really!
I've been told of the Xbox development kit and possible programming of Wii channels. The Playstation actually had a language. But none if it has met my criteria for a proper coding platform.
Hello world should be one line.
In fact, downloading an MP3 should be one line!!
We just don't care right now, do we? Programmers have a paid gig. So business is happily slurping them up. Look at our books. Look at the programming sites. Programming is tightly coupled to business. Often the first example is an e-commerce site! Our books are like FIFTY DOLLARS!! For crying out loud.
This diatribe isn't about business being bad. Of course you need to feed your family and drive an Audi.
This diatribe is about adding some balance to the world of programming. Okay, so, let's take things into our own hands and bring hacking to the young folks.
Here are the rules by which Hackety Hack was established:
- Beginners should be greeted to Hackety Hack by a cartoon character. (For the sake of argument, let's call this character: Hacky Mouse.)
- Also, helpful sentences. Preferably short and with a period.
- Hackety Hack is fundamentally a browser and a programming language. For now, Gecko and Ruby.
- I'm only using Ruby because I know it. Hopefully, more languages can be added!
- Again, this isn't about Ruby, it's about simply offering a place for plainspeople to tinker with code.
- IDEs are a disaster. Newbs should see only one non-scary window free of tree controls and pinned windows and toolbars.
- As such, we want to stay away from project files and makefiles, the trappings of an IDE.
- Hackety Hack also adds simple libraries for common things.
- Common things are one-liners.
- Keep args and options to a minimum.
- In Ruby, blocks should be used to open up a method to more advanced possibilities.
- Help files are clean, short, simple. Lots of short examples. No frames.
- While all bug tickets are helpful and great, I just value tickets from beginners to a greater degree.
- Hackety Hack is free and will remain free henceforth.
Beyond that… anything which makes life easy and fun for Hackety Hackers is definitely encouraged, even demanded.