This is the fourth iteration of the TryRuby website.
TryRuby was originally created by a famous Ruby enthusiast working under the nickname ‘why
the lucky stiff’, a.k.a. _Why. You can read more about him on
_Why doesn’t exist anymore, but TryRuby lives on. It was first recreated by Andrew McElroy
and David Miani. Next Eric Allam and Nick Walsh took over (Codeschool/EnvyLabs).
This fourth iteration of TryRuby was created for several reasons.
- The lesson content was getting a bit dated. For instance the stuff about reading and writing
disk files does not really belong in an entry level course these days. Writing blog software
is also not very appealing anymore
- Lesson content also missed some important information (like if statements)
- All previous TryRuby versions consisted of an irb interpreter with a web front-end.
Even though some security measures have been taken (isolating and restricting the irb process
and whitelisting input), this still sounds like a bad idea from a security perspective!
TryRubyR4 runs inside the web browser
By changing the TryRuby mechanics from running irb on a server, to running Opal in the web browser,
I had to make some alterations to the TryRuby lesson content. Also updated some outdated stuff.
- Opal uses immutable strings, so [ ] based string manipulation was replaced with gsub
- File reading and writing removed and replaced by getting a json file from the internet
- Since irb is not used anymore, it is possible (necessary) to run entire programs, not enter
- Removed the pop-up stuff
- Removed mousehole stuff
- Improved the feedback given to the user based on the program’s output a bit
- Added support for lesson content in multiple languages. The Spanish, Brazilian Portuguese,
Japanese, Russian, Ukrainian, Macedonian and Dutch translations are available.
If YOU would like to add a translation to TryRuby you are most welcome !
- Added explanation of if/else statements
- Changed the subject of the “Class” tutorials from building a blog (so last decade) to making an
instant messaging app called: BlurbalizerTM
- Used markdown with frontmatter for editing lesson content
- Used middleman as development environment
- Added some articles with more background information for aspiring software developers
Where can TryRubyR4 be improved ? Couple of things I’ve thought of.
Your opinion is most welcome:
- Add some self evaluation questions at the end of each chapter
- Maybe remove the lessons about classes. It’s a bit advanced for an absolute beginners