- Ruby (2.2.3)
- OCaml (4.02.x)
- Prolog (SWI Prolog 7.2.3)
- Download Ruby 2.2.2 for Windows (2.2.3 is not available yet)
here. Directions for other systems here.
- Download OCaml 4.02.x for Windows
installer will also install Cygwin for you, to complete a Unix-style
development environment.) Directions for other systems
- Download SWI-prolog 7.2.3 for Windows and other platforms
here. It is
also available with standard package management tools (e.g.,
homebrew, ports for the Mac).
VirtualBox Linux VM
If you want to work in a virtual Linux environment on your Windows computer, you can use a virtual machine. First, you have to download VirtualBox from https://www.virtualbox.org/ and install it. Then download the Linux VM image file CMSC330_VM.zip, and open it with VirtualBox. This Linux image have Ruby, OCaml, Prolog, and emacs installed. You can install other tools if you want.
Linux VM Image
(CMSC330_VM.zip, 2.8GB) (Linux admin user name: cs, password: cmsc330!)
- ruby-lang.org -
The main Ruby website.
Start (Ruby in 20 minutes)
Introduction to Ruby -
A simple introduction to basic Ruby
- PythonTutor for Ruby - An
interactive, web-based visual debugger for Ruby programs
The Pragmatic Programmer's Guide - "The Pickaxe
Book" is a more comprehensive overview of Ruby. It's an
online version of the first edition of a printed Ruby
book. The only thing to keep in mind is that it covers
Ruby 1.6, while you can buy the newest printed version which covers
the Ruby 1.9 and 2.0. We probably won't do anything
for this course where the difference between versions.
There's a lot
of information here which you won't need- the most
relevant sections are the first fourteen listed (the
first up through "Basic Input and Output"), then "When
Trouble Strkes", "Ruby and Its World", and
"The Ruby Language" and
"Classes and Objects". These last two are good
summary references for the language.
Ruby Class Reference
Ruby documentation - A list from ruby-lang.org
of Ruby reference manuals, online sources of Ruby
information (some of the ones which will probably be
more useful are mentioned specifically below), and Ruby
articles. If you want to buy a printed book about Ruby
several are listed.
Ruby User's Guide - An English translation of a
book written by the designer of the language. More of
a language reference than a tutorial.
Formal grammars and finite automata
Java Garbage Collection
Ruby On Rails
- Rails is a full-stack
framework for developing database-backed web applications according
to the Model-View-Control pattern.
- Instant Rails
is a single package containing Ruby, Rails, Apache,
and MySQL, all pre-configured and ready to run without
installation. Currently for Windows only.
Other relevant texts
Previous required texts for CMSC 330 have chapters on relevant topics
covered in this course. If the lecture notes are insufficient, look for these
books. They should be available in the university library.
Concepts of Programming Languages (Seventh Edition) by R. Sebesta,
Addison Wesley (2006) (ISBN 0-321-33025-0).
Programming Languages: Design and Implementation (Fourth Edition)
by T. Pratt and M. Zelkowitz, Prentice Hall (2001) (ISBN 0-13-027678-2).
History of Programming Languages Poster