CSC 447 - Concepts of Programming Languages
Useful Information

Table of Contents

Textbooks

Primary textbook

[Sebasta] Concepts of Programming Languages, Robert W. Sebesta, (fifth edition, Addison-Wesley).

Other useful references

Books about programming language concepts:

[Sethi] Programming Languages: Concepts and Constructs , Ravi Sethi (Addison-Wesley).


[Pratt] Programming Languages: Design and Implementation, 4/E, Terrence W. Pratt,  Marvin V. Zelkowitz, ISBN 0-13-027678-2 / Prentice Hall

Books about ML:

[Ullman] Elements of ML Programming, Jeffrey D. Ullman(ML97 Edition, Prentice Hall).  ISBN: 0-13-790387-1
This seems to be a better book than Paulson (below)  [Author's Pages]

[Paulson] ML for the Working Programmer, L.C. Paulson, (second edition, Cambridge University Press). ISBN: 0-521-56543-X This text is harder but then it is more complete.  [Paulson - Course Supplements  Paulson - Eratta]

Books about Perl:

[Prog Perl] Programming Perl, Larry Wall, Tom Christiansen, Jon Orwant (O'Reilly) ISBN: 0-596-00027-8. - This is the primary text on Perl for serious users

[Learn Perl - Win 32] Learning Perl on Win32 Systems, Randal L. Schwartz, Erik Olson, Tom Christiansen (O'Reilly), ISBN: 1-565-92324-3 - this is the tutorial

[Learn Perl] Learning Perl, 3rd Edition,  Randal L. Schwartz, Tom Phoenix, O'Reilly & Associates, 2001. ISBN: 0-596-00132-0 - this tutorial is not for Win32 otherwise it is the same as above.

Books about Java

[Java PL] The Java Programming Language, Ken Arnold, James Gosling ( 3rd edition). ISBN: 0-201-70433-4


Topics

General

Grammar and Syntax

Languages

Programming Languages (General) Perl
Functional Programming ML (Meta Language)

Computer Science Core Guide

Miscellaneous

Web Pages of Interest

being a list of pages that might be of interest

The Many Languages of IT Programming http://www.test-king.com/guide-languages-of-it-programming.htm

Other Schools

Online subject resources (downloads)

More links

Links and info compliments of Dr. James Riely:
Software

Perl

Active State Perl

Free. For windows, solaris, and linux.

Download here.

perl manual page

From here you will find links to perlintro, perlrequick, and perlretut.

Another perl tutorial

Yet another perl tutorial

ZVON Regular Expression Tutorial

Google Directory: Perl

SML

SML/NJ for windows

Another nice implementation for Windows and Unix is Moscow ML.

For a list of implementations, see here: http://www.standardml.org/

SML/NJ Documentation

A Gentle Introduction to ML

by Andrew Cumming

Programming in Standard ML '97: An On-line Tutorial

by Stephen Gilmore

Programming in Standard ML

by Robert Harper

SML Tutorials

see also

R. Milner, M. Tofte, R. Harper, D. MacQueen, The Definition of Standard ML (Revised), MIT Press, 1997.

Larry Paulson, ML for the Working Programmer, 2nd ed., Cambridge University Press, 1996.

Jeff Ullman, Elements of ML Programming, 2nd (ML97) edition, Prentice-Hall, 1998.

Matthias Felleisen and Daniel P. Friedman, The Little MLer, MIT Press, 1998.

Java

Java2SE API

There are also links that describe the jar file format, tools, language, virtual machine, and more.

Sun: Java Tutorial

Sun: Java

James Gosling is one of the language designers.

Sun: Developer

Sun's Code Samples

IBM: Developer

IBM: Java

JavaWorld

Some of the old columns are very good. They also have collections of articles on patterns, OO programming, and more.

DotNet

O'rielly on dot net

Rotor

Microsoft's shared source implementation of C#, Jscript and the CLI.

.Net Language Partners

Links to languages that run on .net.

ECMA Specification: C#

ECMA Specification: CLI

AspectJ

http://www.eclipse.org/aspectj/

To everyone who installs AspectJ 1.0.6 (on Win2k/xp)...

I installed it and just wanted to let you know of what my experience was. Make sure you follow the instructions and everything will go smoothly. Don't try to unjar the zip file yourself, it has its own GUI installer that behaves very well and does a great job. Just execute

java -jar aspectj-tools-1.0.6.jar

in the directory where you saved the installation .jar file. The only thing you must be careful about is when it detects your Java installation path make sure it is pointing to the Java SDK directory where YOU installed it. At first it just detected my JRE directory (somewhere in Program Files) and it did not work that way (for me at least). I installed it again after that and made sure to it that it is pointing to the directory where I installed the whole SDK.

Don't forget to make the changes to CLASSPATH and PATH. For example if you installed AspectJ in C:\aspectj1.0 then your CLASSPATH must contain "C:\aspectj1.0\lib\aspectjrt.jar" and your path must contain "C:\aspectj1.0\bin".

Haskell

HUGS

Haskell.org

Scheme

drscheme

Prolog

SWI Prolog

Free. For linux, windows, and mac.

Introduction to Prolog

by Mike Brayshaw

Prolog Programming A First Course

by Paul Brna

CMU Prolog Repository

Ada

Object-Oriented Programming with Ada 9X

Utilities

WinZip

Shareware. For windows.

Create and read zip archives.

Acrobat Reader

Free. For many platforms.

View and print pdf files.

Windows 2000

DePaul Linux Users Group

Cygwin

Free. For windows.

A powerful set of unix commands ported to windows, including perl and gcc.

Ghostview

Free. For many platforms.

View and print postscript (ps) files.

Xmanager

Commercial. For windows.

An X server.

More

Natural Languages

The Cambridge Grammar of the English Language

by Rodney D. Huddleston and Geoffrey K. Pullum (Cambridge, 2002)

Online companion to the book: http://uk.cambridge.org/linguistics/cgel/

Fun

Lambda the Ultimate

CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart)

Amusing rant on typing in perl

Programming Languages talk