World Library  
Flag as Inappropriate
Email this Article

Hackety Hack

Hackety Hack
A simple program running in Hackety Hack.
Original author(s) why the lucky stiff and 50 friends
Developer(s) Steve Klabnik
Stable release 1.0 / December 25, 2010
Operating system Windows, Linux, Mac OS X
Available in Ruby
License MIT License

Hackety Hack is an open source application that teaches individuals how to create software. It combines an IDE with an extensive Lessons system. The cross-platform desktop application also has integration with the website, where "Hackers" can share what they've learned, ask questions, and submit feedback.


  • History 1
    • Post-Why development 1.1
    • Ruby Summer of Code 2010 1.2
  • Comparison with other educational software 2
    • Blocks vs Ruby 2.1
    • Comparison with similar projects 2.2
  • References 3


Hackety Hack was originally created by _why in order to solve "The Little Coder's Predicament":[1] that learning modern software development is complicated, and difficult. Why eventually developed The Bylaws of Hackety in the Hackety Manifesto[2] which lay down the guidelines for the project.

Why enlisted the help of a group of 25 parents and their children to get early feedback, who he referred to as "50 of my closest friends". The earliest iterations of Hackety Hack were based on an embedded Gecko browser, but this eventually transformed into the Shoes GUI toolkit.

Post-Why development

Why intended to release Hackety Hack 1.0 at the Art and Code Symposium.[3] In his talk,[4] he showed off a build that's known as "version 0.L," with promises of a 1.0 soon to follow. This never came to pass, as Why mysteriously disappeared in August 2009, deleting his projects. Because they were stored in git, the Ruby community was able to revive them. A small team kept working, releasing v0.9 on Christmas of 2009, and finally 1.0 on Christmas of 2010.

Ruby Summer of Code 2010

Hackety Hack was chosen as a project for the Ruby Summer of Code in 2010. Fela Winkelmolen was the student chosen to work on the project. Chris Redinger, Jeff Casimir, Sarah Mei, and Steve Klabnik are mentoring.

Comparison with other educational software

The two largest similar projects are Scratch and Alice. There are two major differences: Both of these projects use a graphical programming language based on the concept of "blocks," but Hackety Hack teaches Ruby. Both Scratch and Alice are university projects out of MIT and CMU, respectively, and Hackety Hack has no university affiliation.

Blocks vs Ruby

The difference of 'blocks vs. Ruby' stems from a shared belief: most programming languages require a lot of effort and knowledge before one can build more than the simplest of programs. The 'blocks' solution is to use the concepts of graphical programming so that beginners don't have to worry about syntactical or memorization issues, as there's a palette of blocks to choose from, and they only fit together in the correct way. The solution that Hackety Hack pursues is by teaching with a more traditional programming language, but adding libraries that make it easy to do complicated tasks in one line. For example, in a more traditional software library, making a background with a gradient would take five or six lines of code using a toolkit like QT, but is one line in Hackety Hack. This is achieved by choosing simple defaults and dropping support for lesser-used options.

Comparison with similar projects

The university affiliation that Scratch and Alice enjoy gives them more resources to bring to bear. Both projects have teams of people, the brand credibility of their institutions, and graduate students to write papers about them and use them in research. Hackety Hack is a more nimble project, since the team is much smaller. It's also truly an open-source project, whereas the Alice project, for example, only releases dumps of the project source every so often. Hackety Hack's development is entirely open.


  1. ^ The Little Coder's Predicament
  2. ^ The Hackety Manifesto
  3. ^ Art and Code Symposium
  4. ^ Why's talk at Art && Code
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.