Hackety Hack is an
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
application that teaches individuals how to create software. It combines an
IDE with an extensive Lessons system. The
cross-platform
In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
desktop application also has integration with the website, where "Hackers" can share what they've learned, ask questions, and submit feedback.
History
Hackety Hack was originally created by
_why in order to solve "The Little Coder's Predicament":
[The Little Coder's Predicament](_blank)
/ref> that learning modern software development is complicated, and difficult. Why eventually developed The Bylaws of Hackety in the Hackety Manifesto[The Hackety Manifesto](_blank)
/ref> 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, referred to them 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.[Art and Code Symposium](_blank)
/ref> In his talk,[Why's talk at Art && Code](_blank)
/ref> 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
Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data inte ...
, 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 mentored.
Comparison with other educational software
The two largest similar projects are Scratch and Alice
Alice may refer to:
* Alice (name), most often a feminine given name, but also used as a surname
Literature
* Alice (''Alice's Adventures in Wonderland''), a character in books by Lewis Carroll
* ''Alice'' series, children's and teen books by ...
. 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
A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sa ...
' 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
Alice may refer to:
* Alice (name), most often a feminine given name, but also used as a surname
Literature
* Alice (''Alice's Adventures in Wonderland''), a character in books by Lewis Carroll
* ''Alice'' series, children's and teen books by ...
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.
References
{{Ruby programming language
Free computer programming tools
Educational programming languages
Ruby (programming language)
Integrated development environments