We will prototype programming languages with
these programming languages:
Python is a scripting language with dynamic data structures;
it supports all of imperative, declarative, and o-o programming.
It is great for developing small- and medium-sized programs quickly.
Systems hackers use it to write utilities and to "glue together"
applications that don't otherwise fit together.
* Please read
Installing Python to learn how
to check for Python on your machine, install it if needed, and
use it to develop and test software.
* If you have never programmed in Python before, you can relax ---
language. But it has powerful dynamic data structures (lists and
dictionaries) that make it great for language prototyping.
Here are some samples of Python code.
(Here is a zipped folder of the samples.)
Try these with your implementation.
a terse language summary and
terse notes on lists and dictionaries,
the two most important data structures in Python. Here is
a complete tutorial.
* The language's website is at
where you will find a useful
library reference page.
* This nice on-line book,
The Python Standard Libary,
shows you how to use Python to do clever systems hacking and gluing,
the sort of stuff that is not normally taught in courses but is hugely useful in
Prolog: This language
treats deduction as computation and shows us why algorithmics is a
spin-off of symbolic logic --- a programming language defines a logic;
a program is a set of premises; and a computation is a deduction (proof)
in the logic from premises to output goal.
A huge amount of computation can be embedded in a few lines of Prolog.
* There is a good, easy-to-install implementation, SWI Prolog:
* Here is some
intro material on Prolog that I wrote for my CIS301 students.
* This material is oriented towards using SWI Prolog:
PLPM, St. Etienne, France |
CSC485, Univ. Toronto