Hackety Hack
| Hackety Hack | |
|---|---|
A simple program running in Hackety Hack | |
| Original authors | _why and 50 friends |
| Developer | Steve Klabnik |
| Stable release | 1.0
/ December 25, 2010 |
| Written in | Ruby |
| Operating system | Windows, Linux, macOS |
| Type | Educational software |
| License | MIT License |
| Website | github |
| Repository | |
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
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, 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.[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 mentored.
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.
References
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.