- They are free software (i.e., The source code can be easily accessed, and the interpreter that we will use for each language is written in the language itself);
- They both support Object-Oriented Programming. (Python is actually Multi-Paradigm)
- They are distributed with lightweight interactive consoles (IDLE for Python, irb (interactive Ruby) for Ruby)
Therefore, it is worthwhile to explore these two languages to solve mathematical problems. In this book, we shall enumerate what they bring to the teaching of mathematics and algorithms. In particular, we will study how certain mathematical structures are managed by these two languages.
Two methods have been used to write the Python scripts below:
- Run the code directly in the interactive IDLE console, which is itself written in Python;
- Create a script file test.py, and run that from the console using python test.py or python3.2 test.py, as the context requires.
For Ruby, version 1.9.1 will be used. Here too, two methods have been used:
- Run the code in the interpreter irb (Interactive Ruby) which is itself written in Ruby, so its source code is human-readable;
- Create a script file test.rb, and run it using the console command ruby test.rb.
- The FreeRide program is a lightweight, easy-to-use code editor that works well with Ruby. FreeRide can execute the Ruby program in the active window without having to leave the editor by simply clicking Run. One may prefer NetBeans for its more extensive feature set and integration with Java, but NetBeans requires more system resources. Both programs are available for Windows, Mac OS X, and Linux, and both can handle Ruby projects, which may include multiple (related) text files containing Ruby programs. Anyway, for this book, geany has been used, mainly because it handles both Python and Ruby (amongst many others), and is rather lightweight.