Helpful Information
 
 
Category: Other Programming Languages
Language Resources List

This thread lists resources for various languages.

Please feel free to add links to anything that helps you - to keep the thread easy to use, I recommend you put the language the resources are for in the post title field.

Cheers,
Simon

If you're programming ruby, you'll need one book, since it's a poorly documented language, and you'll want a reference anyway.

There's only one worth it's salt, it's called Programming Ruby (http://www.pragmaticprogrammer.com/titles/ruby/index.html) and i recommend getting a paper copy. It makes up for ruby's crap docs

On Lisp (http://www.paulgraham.com/onlisp.html) - The ultimate lisp guide and macro tutorial. Freebie, available as PDF.

I'll add other links to this if people PM me so we can keep languages all neatly parcelled together in their own posts.

"Structure and Interpretation of Computer Programs" alias "The Purple Book" alias "The Wizard Book". Arguably one of the best on computer science ever written available free online:

http://mitpress.mit.edu/sicp/full-text/book/book.html

Note: Scheme is the principle language used in this book, don't expect to see any C or Java ;).

Take care,

Mark.

Useful primary sources (http://partners.adobe.com/public/developer/ps/index_specs.html). See especially the PostScript Language Reference Manual (http://www.adobe.com/products/postscript/pdfs/PLRM.pdf), a. k. a. "The Red Book," available for free in PDF format.

A well-written PostScript book (http://www.math.ubc.ca/~cass/graphics/manual/) by Bill Casselman, really a textbook, with many good examples. There are other language-related links at the bottom of his page.

I know PostScript isn't the most asked-about language in this forum...

but it ought to be. :)

General Information
x86 Assembly Language FAQs (http://www.faqs.org/faqs/assembly-language/x86/)
Wikipedia: Assemblers (http://en.wikipedia.org/wiki/Assemblers)
WikiBooks: X86 Assembly (http://en.wikibooks.org/wiki/X86_Assembly)
Intel IA-32 Developer's Manuals (http://www.intel.com/design/pentium4/manuals/index_new.htm)
IA-32 Optimization Reference (http://www.intel.com/design/pentium4/manuals/248966.htm)
DDJ's Intel Secrets (http://www.x86.org/) (includes page with older Intel manuals (http://www.x86.org/intel.doc/inteldocs.htm))
sandpile.org - x86 programming (http://www.sandpile.org/)
Assembly Language Resources (http://burks.brighton.ac.uk/burks/language/asm/)

Books
Jeff Dunteman's Assembly Language Step by Step (http://www.duntemann.com/assembly.htm) (home page for a print book, but also has several useful links)
The Art of Assembly Language (http://artofassembly.com) and Write Great Code (http://www.writegreatcode.com/) (online books, primarily covering HLA)
Linkers and Loaders (http://linker.iecc.com/) (not specifically about assembly language, but includes useful information about executable formats)
The Graphics Programming Black Book (http://www.gamedev.net/reference/articles/article1698.asp) (extensively discusses assembly language in general, in addition to the specific topic; downloadable in PDF format)
asmcommunity.net (http://www.asmcommunity.net/)

Tutorials
Assembler Tutor (http://oopweb.com/Assembly/Documents/asm/VolumeFrames.html)
Introduction to Assembly Language (http://www.osdata.com/topic/language/asm/asmintro.htm)
Webster Assembly Language Resources (http://webster.cs.ucr.edu/)
Gavin's Guide to 80x86 Assembly (http://burks.bton.ac.uk/burks/language/asm/asmtut/asm1.htm)
Assembly Language Links (http://www.eeglossary.com/assembly.htm)
Paul Hsieh's x86 Assembly Language Page (http://www.azillionmonkeys.com/qed/asm.html)
Free Assemblers and Linkers (http://www.thefreecountry.com/compilers/assemblers.shtml)
Assembly Language Links (http://www.jorgon.freeserve.co.uk/links.htm)
Still more links (http://www.eg3.com/WebID/software/assembly/blank/resource/a-z.htm)
Assembler for PCs: A Tutorial (http://home.snafu.de/nkomin/html/assembe.htm)
x86 Protected mode Programming
Using Inline Assembly in GCC (http://www.mega-tokyo.com/osfaq2/index.php/InlineAssembly) and some Sample Inline Functions (http://www.mega-tokyo.com/osfaq2/index.php/SampleInlineFunctions)
C/C++ Calling Convention for gcc x86 (http://www.mega-tokyo.com/osfaq2/index.php/CallingConventions) (useful for combining assembly with other languages such as C)
STDCALL calling convention (the standard calling convention under Windows)
Authoring Windows Applications In Assembly Language (http://grc.com/smgassembly.htm)
Linux Assembly (http://asm.sourceforge.net/)
Learn x86 Assembly Programming (http://users.easystreet.com/jkirwan/new/x86lrn.html)
PC Assembly Language (http://www.drpaulcarter.com/pcasm/)
Whiz Kid Technomagic (http://www.geocities.com/SiliconValley/Heights/7394/)
sandpile.org - x86 programming (http://www.sandpile.org/)
Assembly Language Code Examples (http://www.beroset.com/)
Assembly Language (http://goforit.unk.edu/asm/astart.htm)
assemblylanguage.net (http://assemblylanguage.net/)
Windows + Assembler
Source Page (http://www.jorgon.freeserve.co.uk/)
WIN32 Assembler Tutorial (http://www.deinmeister.de/w32asm1e.htm)
80x86 microprocessor assembler programs (http://www.alpertron.com.ar/ASSEM386.HTM)
Assembly Code Optimization (http://www.agner.org/assem/)

Assembler Design and Construction
Assembler Organization (http://www.d.umn.edu/~gshute/asm/assemblers.html)
Writing Your Own Assembler (http://webster.cs.ucr.edu/AsmTools/RollYourOwn/index.html)
Designing a SPARC Assembler (http://www.users.qwest.net/~eballen1/sparc_asm.html)
AMOS: A Modular Open-Source Assembler (http://amos.sourceforge.net/)
Two-Pass Assembler (http://www.cs.uiowa.edu/~rus/Courses/SysSoft/Notes/chap16a1.pdf) (PDF)
Compilers and Compiler Construction, Ch. 6: Simple Assemblers (http://www.scifac.ru.ac.za/compilers/cha06s.htm) (also here (http://www.resultspk.net/compiler_gen/cha06s.htm))
Compilers and Compiler Construction, Ch. 7: Advanced Assembler Features (http://www.scifac.ru.ac.za/compilers/cha07g.htm)
Functional Programming and the 2-Pass Assembler (http://portal.acm.org/citation.cfm?id=947944&dl=GUIDE&coll=GUIDE)
Design and Implementation of the Assembler (http://csce.unl.edu/~jbergman/cse430/assemblerDesign.htm)
Disassembler using High Level Processor Models (http://www.cse.iitk.ac.in/research/mtech1997/9711113/all.html)
An Assembler for ANT (http://ant.eecs.harvard.edu/ANT-1.0/Assts/asst8-1997.html) (a course assignment, but includes explanation of basic one-pass assembler design)

MASM
MSDN: Microsoft Macro Assembler Technical Reference (http://msdn2.microsoft.com/en-us/library/afzk3475.aspx)
Wikipedia: Microsoft Macro Assembler (http://en.wikipedia.org/wiki/MASM)
The MASM32 Tool and Code Project (http://www.movsd.com/)
MASM32.com (http://www.masm32.com/)
MASM Forum (http://www.masmforum.com/simple/index.php)
MASM Doc Reference Page (http://webster.cs.ucr.edu/Page_TechDocs/MASMDoc/)

TASM
Turbo Assembler 5.0 home page (http://info.borland.com/borlandcpp/cppcomp/tasmfact.html)
Wikipedia: Turbo Assembler (http://en.wikipedia.org/wiki/Turbo_Assembler)

NASM
Netwide Assembler Home page (http://sourceforge.net/projects/nasm)
Wikipedia: Netwide Assembler (http://en.wikipedia.org/wiki/NASM)
NasmEdit and NASM-IDE (http://uk.geocities.com/rob_anderton/) (editors for Nasm)

gas
GNU binutils (http://www.gnu.org/software/binutils/) (includes GAS)
Cygwin (http://www.cygwin.com/) (a system for running GNU tools under Windows)
MingW (http://www.mingw.org/) (another system for running GNU tools under Windows)
Wikipedia: GNU Assembler (http://en.wikipedia.org/wiki/GNU_Assembler)

Other x86 Assemblers and Tools
RadASM IDE (http://www.radasm.com/) (an editor that supports several different assemblers)
Wikipedia: RadASM (http://en.wikipedia.org/wiki/RadASM)
HLA (http://webster.cs.ucr.edu/AsmTools/HLA/)
Wikipedia: HLA (http://en.wikipedia.org/wiki/High_Level_Assembly)
FASM (http://flatassembler.net/)
Wikipedia: Flat Assembler (http://en.wikipedia.org/wiki/FASM)
RosASM (http://betov.free.fr/RosAsm.html)
GRDB ('Get Real' Debugger) (http://members.tripod.com/~ladsoft/grdb.htm)

Assembly programming for other platforms
Cross32 Meta-Assembler (http://www.datasynceng.com/c32doc.htm)
z80 assembly (including the Rabbit Microprocessor family (http://www.rabbitsemiconductor.com/documentation/docs/manuals/Rabbit4000/InstructionReference/index.html) and the original Gameboy)
SASM Rabbit Assembler (ttp://www.softools.com/sasmrabbit.htm)
TI-86 Assembly Programming (http://www.asm86.cwc.net/tutorial/)
6502 Assembly Language (including the Apple II and the Commodore 64)
M68000 Assembly Language
PowerPC assembly language
ARM Assembly Language (which includes programming on the Gameboy Advance, among others)
MIPS assembly language
SPARC assembly language
ANT-8 Assembly Language (http://ant.eecs.harvard.edu/index.shtml)

Virtual Machines
The Java Virtual Machine Specification (http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html) (also downloadable here (http://java.sun.com/docs/books/vmspec/))
JASMIN JVM Assembler (http://jasmin.sourceforge.net/)
JAS JVM Assembler (http://linux4u.jinr.ru/usoft/WWW/www_blackdown.org/kbs/jas.html)
Jamaica: The Java Virtual Machine (JVM) Macro Assembler (http://www.judoscript.com/articles/jamaica.html)
MIX/MMIX assembly programming (a la The Art of Computer Programming)
MSIL assembly programming
Wikipedia: P-Code Machine (http://en.wikipedia.org/wiki/P-Code_machine)
ANT-8 Teaching Virtual Machine (http://ant.eecs.harvard.edu/index.shtml)

General Information
Scheme Language Home Page at MIT (http://swiss.csail.mit.edu/projects/scheme/)
Scheme FAQs (http://www.cs.cmu.edu/Groups/AI/html/faqs/lang/scheme/top.html)
Wikipedia - Scheme Programing Language (http://en.wikipedia.org/wiki/Scheme_programming_language)
Revised(5) Report on the Algorithmic Language 'Scheme' (http://www.schemers.org/Documents/Standards/R5RS/)
R6RS Standard Draft Status Report (http://www.schemers.org/Documents/Standards/Charter/status-mar-2006.html)
Scheme Requests for Implementation (http://srfi.schemers.org/)
Lambda the Ultimate: The 90 Scheme-to-C Compiler (http://lambda-the-ultimate.org/node/349)

Blogs, Language Advocacy and Agitprop
The "Lambda Papers" (http://library.readscheme.org/page1.html) (early white papers on the language - see also, "Lambda, the Ultimate Political Party (http://www.nhplace.com/kent/PS/Lambda.html)")
The Schemer's Way (http://practical-scheme.net/docs/schemersway.html)
Schemers.org (http://www.schemers.org)
The TeachScheme! Project (http://www.teach-scheme.org/Notes/scheme-faq.html)
The Schememonster's Friends (http://www.niksula.cs.hut.fi/~jwallen/scheme/links.html)
The Scheme Underground (http://www.ai.mit.edu/projects/su/su.html)
On Scheme (http://pschombe.wordpress.com/)
Chui's Counterpoint: Scheme for Six-Year-Olds (http://www.redmountainsw.com/wordpress/scheme-programming-for-six-year-olds/)
The Salty Schemer (http://salty-schemer.blogspot.com/)
Scheming (http://wmfarr.blogspot.com/)
#{Unspecific} (http://blog.macbay.de/unspecific/)
Everything Scheme (http://www.scheme.dk/blog/)
Scheme and Functional Programming 2006 Conference (http://scheme2006.cs.uchicago.edu/)
Programming Musings (http://jaortega.wordpress.com/)
Sacrificial Rabbit: Scheme (http://blog.jonnay.net/plugin/freetag/scheme)
The Scheme Way (http://theschemeway.blogspot.com/)
Successful Scheme (http://www.itworld.com/AppDev/4061/swol-1013-regex/)

Message Boards and Mailing Lists
Community-Scheme-Wiki (http://community.schemewiki.org/)
SICP Virtual Study Group (http://groups.yahoo.com/group/sicp-vsg/)

Books
The Scheme Programming Language, 3rd Ed. (http://www.scheme.com/tspl3/)
Structure and Interpretation of Computer Programs (http://mitpress.mit.edu/sicp/)
How to Design Programs (http://www.htdp.org/)
An Introduction to Scheme and its Implementation (ftp://ftp.cs.utexas.edu/pub/garbage/cs345/schintro-v14/schintro_toc.html)
How to Use Scheme (http://www.htus.org/) (covers Dr Scheme)

Tutorials
Introduction to Scheme (http://infohost.nmt.edu/tcc/help/lang/lisp/intro.txt)
Scheme in Short (http://josako.freeservers.com/tech/SiS/ToC.html)
Teach Yourself Scheme in Fixnum Days (http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html)
Scheme for C Programmers (http://www.cs.caltech.edu/courses/cs1/resources/scheme-for-c-programmers.html)
An Introduction to Scheme (http://www.acm.org/crossroads/xrds1-2/scheme.html)
Scheme Programming (http://www.engin.umd.umich.edu/CIS/course.des/cis400/scheme/scheme.html)
The Scheme Programming Language (http://www.cs.washington.edu/education/courses/341/99su/lectures/scheme/)
A Scheme Tutorial (http://www.cis.upenn.edu/~ungar/CIS520/scheme-tutorial.html)
Scheme Tutorial (http://cs.wwc.edu/KU/PR/Scheme.html)
Scheme Tutorial (http://www.cs.hut.fi/Studies/T-93.210/schemetutorial/schemetutorial.html)
Scheme Tutorial (http://www.cs.wcu.edu/~bubak/scheme/)
Learning to Program with DrScheme (http://linuxgazette.net/119/pramode.html)
An Introduction to Lambda Calculus and Scheme (http://www.jetcafe.org/~jim/lambda.html)

Advanced Topics
Scheme Cookbook: Common Idioms (http://schemecookbook.org/Cookbook/IdiomChapter)
Scheme Idioms (http://robert.infogami.com/Scheme_idioms)
Scheme for the Complete Idiom: An HtDP companion of Schemisms (http://www.cs.rice.edu/~ian/Not-Just-Yeti/Programming/Scheme-for-the-Complete-Idiom/)
(read scheme) : A Bibliography of Scheme-related Research (http://library.readscheme.org/index.html)
Ward's Wiki:Scheme Idioms (http://www.c2.com/cgi/wiki?SchemeIdioms)
Scheme Idioms examples (http://www.nku.edu/~kirby/courses/csc601/schemeidioms_scm.txt)
Scheme Programming Idioms (http://www.bcl.hamilton.ie/~bap/teach/F97/CS257/idioms.html)
Little Oddities (http://okmij.org/ftp/Scheme/misc.html)
The art of metaprogramming, Part 2: Metaprogramming using Scheme (http://www-128.ibm.com/developerworks/linux/library/l-metaprog2.html)
Continuation Kata (https://jaortega.wordpress.com/2006/02/12/continuation-kata/)
CONS Should Not CONS Its Arguments, Part II: Cheney on the M.T.A (http://home.pipeline.com/~hbaker1/CheneyMTA.html)
Programming in Schlog (http://www.ccs.neu.edu/home/dorai/schelog/schelog.html) (a Scheme based 'mini-language' for logic programming)
Ward's Wiki: Category - Scheme (http://www.c2.com/cgi/wiki?CategoryScheme) (several wiki pages on the language)
Ward's Wiki: Closures And Objects Are Equivalent (http://c2.com/cgi/wiki?ClosuresAndObjectsAreEquivalent)
Wikipedia: Closures (http://en.wikipedia.org/wiki/Closure_(programming))
Unification Algorithm (http://www.cs.bham.ac.uk/research/poplog/paradigms_lectures/lecture20.html)
Continuations and Continuation Passing Style (http://library.readscheme.org/page6.html)
Lambda the Ultimate: Understanding Continuations (http://lambda-the-ultimate.org/node/86)
Wikipedia: Continuations (http://en.wikipedia.org/wiki/Continuation)
Wikipedia: Continuation Passing Style (http://en.wikipedia.org/wiki/Continuation_passing_style)
(read scheme) : Macros (http://library.readscheme.org/page3.html)
Scheme Macros (http://www.cs.indiana.edu/scheme-repository/R4RS/r4rs_12.html)
Building Little Languages with Macros (http://www.ddj.com/184405618?pgno=1) (also discusses C macros)
Scheme Macro Programming (https://www.metnet.navy.mil/~oleg/ftp/Scheme/macros.html)
Pre-Scheme: A Scheme Dialect for Systems Programming (http://citeseer.ist.psu.edu/kelsey97prescheme.html)
Write Yourself a Scheme in 48 Hours (http://halogen.note.amherst.edu/~jdtang/scheme_in_48/tutorial/functions.html) (actually about Haskell, but it covers aspects of Scheme implementation)


Interpreters and Compilers
Dr Scheme (http://www.drscheme.org/)
MIT Scheme (Reference Implementation) (http://swiss.csail.mit.edu/projects/scheme/)
SCM (http://www.swiss.csail.mit.edu/~jaffer/SCM.html)
Kawa Scheme (http://www.gnu.org/software/kawa/)
Petit Chez Scheme (http://www.scheme.com/petitechezscheme.html)
STK Scheme (http://kaolin.essi.fr/STk/)
Scheme-48 (http://s48.org/)
Gambit Scheme (http://www.iro.umontreal.ca/~gambit/)
Chicken Scheme (http://www.call-with-current-continuation.org/)
Bigloo Scheme (http://www-sop.inria.fr/mimosa/personnel/Manuel.Serrano/bigloo/)
Scheme->C (http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/scheme/impl/scheme2c/0.html)
STALIN Optimizing Scheme Compiler (http://community.schemewiki.org/?Stalin)
Larceny Scheme Compiler (http://www.ccs.neu.edu/home/lth/larceny/)

Other Resources
Scheme Hash (https://www.metnet.navy.mil/~oleg/ftp/Scheme/)
Scheme Cookbook (http://schemecookbook.org/)
Comprehensive Scheme Archive Network (http://strader.xs4all.nl/csan/) (does not appear to be active)
SLIB (http://www.swiss.csail.mit.edu/~jaffer/SLIB.html)
KANREN: A declarative applicative logic programming system in Scheme (http://kanren.sourceforge.net/)

(Note: This should probably go in the Delphi forum (http://forums.devshed.com/delphi-programming-90/), actually; but since we get some questions here about non-Delphi versions of Pascal, as well as occasional questions about other Wirth languages, I thought I would be appropriate here, too.)

General Information and Resources
Pascal and Its Successors (http://www.swissdelphicenter.ch/en/niklauswirth.php)
Wikipedia: Pascal Programming Language (http://en.wikipedia.org/wiki/Pascal_programming_language)
Wikipedia: Category - Pascal Dialects (http://en.wikipedia.org/wiki/Category:Pascal_dialects)
Wikipedia: Object Pascal (http://en.wikipedia.org/wiki/Object_Pascal)
Wikipedia: Modula-2 (http://en.wikipedia.org/wiki/Modula-2)
Wikipedia: Oberon (http://en.wikipedia.org/wiki/Oberon_programming_language)
Wikipedia: Delphi (http://en.wikipedia.org/wiki/Delphi_programming_language)
Pascal Language Resouces (http://www.cs.york.ac.uk/admit/Pascal.php)
Modula-2 Resources (http://burks.brighton.ac.uk/burks/language/modula2/index.htm)

Blogs, Language Advocacy and Agitprop
Program Development by Stepwise Refinement (http://www.acm.org/classics/dec95/) (paper by Dr Wirth)
Pascal Central (http://www.pascal-central.com)
Turbo Pascal Programmers' Page (http://www.devq.net/pascal/)
DDJ Online: The Oberon Programing Language (http://www.ddj.com/184409405)
Modula-2 Home Page (http://www.modula2.org/)
ETH Oberon Home Page (http://www.oberon.ethz.ch/)
The Oberon Programming Page (http://www.engin.umd.umich.edu/CIS/course.des/cis400/oberon/oberon.html)

Message Boards and Mailing Lists
Dev Shed: Delphi Programming (http://forums.devshed.com/delphi-programming-90/)
PASCAL-L mailing list (http://www.mingus.hpg.ig.com.br/pascall/)
Programmer's Heaven: Pascal Zone (http://www.programmersheaven.com/zone24/)
Pascal in the Workplace Forum (http://www.tek-tips.com/threadminder.cfm?pid=935)

Reference and Documentation
Free Pascal Reference Guide (http://www.freepascal.org/docs-html/ref/ref.html)
Porting to GNU Pascal from traditional Macintosh Pascal compilers (http://www.microbizz.nl/gpcdiffs.html) (discusses dialect differences)
Borland Object Pascal Style Guide (http://community.borland.com/soapbox/techvoyage/article/1,1795,10280,00.html)
About.com Delphi Knowledge Base (http://delphi.about.com/od/objectpascalide/)
ISO Modula-2 (http://sc22wg13.twi.tudelft.nl/)
BNF Syntax Definition for Modula-2 (http://cui.unige.ch/db-research/Enseignement/analyseinfo/Modula2/BNFindex.html)
Modula-2 FAQ (http://www.faqs.org/faqs/computer-lang/Modula2-faq/)
Modula-2 FAQ (http://www.arjay.bc.ca/Modula-2/m2faq.html)
Dynamic Semantics of the Oberon Programming Language (http://citeseer.ist.psu.edu/kutter96dynamic.html)

Books
Essential Pascal (http://www.marcocantu.com/epascal/)
Oberon Bibliography (http://www.oberon.ethz.ch/books.html)

Tutorials
List of Free Pascal and Delphi Tutorials (http://www.thefreecountry.com/documentation/onlinepascal.shtml)
Pascal Tutorials (http://www.techtutorials.info/pascal.html)
Pascal Tutorials and FAQs (http://tutorials.kisland.com/learn/pascal/)
Pascal: A Tutorial (http://library.thinkquest.org/27297/)
Learn Pascal (http://www.taoyue.com/tutorials/pascal/)
Pascal Programming (http://www.geocities.com/SiliconValley/Horizon/5444/pstart.htm)
Pascal for Programming Illiterates (http://library.thinkquest.org/11127/)
How to Code Pascal (http://www.allegro.com/papers/htpp.html)
Pascal Introduction (http://www.merlyn.demon.co.uk/pascal.htm)
Learn Pascal (http://www.algonet.se/~khaan/tutor/index.html)
Pascal Programming Online Notes (http://www.hkbu.edu.hk/~bba_ism/ISM2110/pstart.htm)
Delphi and Pascal Tutorials (http://ourworld.compuserve.com/homepages/TK_Boyd/Tut.htm)
Pascal Language Overview (http://www.coronadoenterprises.com/tutorials/pascal/index.html)
Roby's Programming Tutorials (http://www.geocities.com/SiliconValley/Park/3230/) (includes one for Pascal)
Modula-2 Programming Language (http://www.engin.umd.umich.edu/CIS/course.des/cis400/modula2/modula2.html)
Learning Modula2 through exercises (http://parallel.vub.ac.be/~johan/Modula-2/New2002_2003/)
Modula-2 Tutorial (http://www.modula2.org/tutor/)
An Overview of Oberon (http://www.cacs.louisiana.edu/~mgr/404/burks/language/oberon/obovervu/intro.htm)
Introduction to Oberon (http://statlab.uni-heidelberg.de/projects/oberon/ItO/www/Ch00.html)

Advanced Topics
Embedded Pascal (http://users.iafrica.com/r/ra/rainier/)
Modula-2 Chess (http://sourceforge.net/projects/modula2chess/)
Project Oberon: The Operating System and Compiler (http://www.oberon.ethz.ch/WirthPubl/ProjectOberon.pdf)

Compilers and IDEs
Free Pascal (http://www.freepascal.org/)
GNU Pascal (http://www.gnu-pascal.org/gpc/h-index.html)
Dev Pascal (http://www.bloodshed.net/devpascal.html) (IDE for GNU Pascal)
TMT Pascal (http://www.tmt.com/)
Pax Pascal (http://www.paxscript.com/) (part of the larger PaxScript toolchain)
Virtual Pascal (http://www.vpascal.com/news.php) (no longer maintained)
Pascal X (http://www.readyideas.com/pascalx.htm)
Irie Pascal (http://www.irietools.com/)
Pascal Pro (http://www.fortunecity.com/skyscraper/sql/39/)
List of Free Modula-2 Compilers (http://www.thefreecountry.com/compilers/modula2.shtml)
GNU Modula-2 (http://www.nongnu.org/gm2/)
m2c Modula-2 (http://www.mathematik.uni-ulm.de/modula/)
Canterbury Modula-2 (http://www.webcom.com/mhc/modula-2.html)
ETH Oberon (http://www.oberon.ethz.ch/download.html)

Libraries and other Tools
Delphi Fundemental Tools (http://delphi.about.com/gi/dynamic/offsite.htm?zi=1/XJ&sdn=delphi&zu=http%3A%2F%2Ffundementals.sourceforge.net%2Findex.html)

esolangs.org (http://esolangs.org) is a wiki where there are TONS of esoteric programming languages and articles on them. This site also includes source code file for creating YOUR OWN languages! How cool is that? :cool:

Cetus Links (http://www.cetus-links.org/) is a directory of links to a huge number of resources on (mainly OO) programming and software development in general.

General Resources
Common Lisp Hyperspec (http://www.lispworks.com/documentation/HyperSpec/Front/)
Wikipedia: Common Lisp (http://en.wikipedia.org/wiki/Common_Lisp)
Wikipedia: CLOS (http://en.wikipedia.org/wiki/CLOS)

Online Books
Common Lisp, The Language (http://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html), Guy Steele (http://en.wikipedia.org/wiki/Guy_L._Steele%2C_Jr.)
ANSI Common Lisp (http://www.paulgraham.com/acl.html), Paul Graham (http://en.wikipedia.org/wiki/Paul_Graham) (sample chapters only)
On Lisp (http://www.paulgraham.com/onlisp.html), Paul Graham
Practical Common Lisp (http://www.gigamonkeys.com/book/), Peter Seibel
Common Lisp, an Interactive Approach (http://www.cse.buffalo.edu/~shapiro/Commonlisp/), Stuart C. Shapiro

Common Lisp: A Gentle Introduction to Symbolic Computation (http://www.cs.cmu.edu/afs/cs.cmu.edu/user/dst/www/LispBook/index.html), David S. Touretzky (http://en.wikipedia.org/wiki/David_S._Touretzky)

Organizations
Association of Lisp Users (http://www.lisp.org/alu/home)

Wikis, Newsgroups and Message Boards
comp.lang.lisp (http://groups.google.com/group/comp.lang.lisp) (through Google Groups)
CLiki (http://www.cliki.net/index)

Blogs, Advocacy and Agitprop
Planet Lisp (http://planet.lisp.org/)
Common-Lisp.net (http://common-lisp.net/)
Lemonodor (http://lemonodor.com/)
Finding Lisp (http://www.findinglisp.com/blog/index.html)
Paul Graham: Lisp (http://www.paulgraham.com/lisp.html)
Christopher Browne's Lisp page (http://cbbrowne.com/info/commonlisp.html)
A Retrospective on
Paradigms of AI Programming (http://www.norvig.com/Lisp-retro.html)
Lisp as an Alternative to Java (http://www.norvig.com/java-lisp.html)
Lisp: Good News, Bad News, How to Win Big (http://www.dreamsongs.com/WIB.html) (includes the (in)famous 'Worse is Better' (http://www.dreamsongs.com/WorseIsBetter.html) essay as part of a larger piece)
The Evolution of Lisp (http://www.dreamsongs.com/NewFiles/HOPL2-Uncut.pdf) (PDF)
A Critique of Common Lisp (http://www.dreamsongs.com/NewFiles/clcrit.pdf) (PDF)

Tutorials
The Complete Idiot's Guide to Common Lisp Packages (www.flownet.com/gat/packages.pdf) (PDF)
Pascal Costanza's Highly Opinionated Guide to Lisp (http://p-cos.net/lisp/guide.html)
Casting SPELs in Lisp (http://www.lisperati.com/casting.html) (goes through creation of a simple text adventure game)
Introduction to ANSI Common Lisp (http://www.franz.com/support/documentation/6.2/ansicl/ansicl.htm)
Lisp programming language:A minibook (http://www.geocities.com/fhzeya20042000/lisp.htm)
This is how you start programming in Lisp (http://www.unmutual.info/startingwithcl.html)
An Introduction and Tutorial for Common Lisp (http://www.apl.jhu.edu/~hall/lisp.html)
An Introduction to the Common Lisp Object System (CLOS) (http://www.apl.jhu.edu/~hall/AI-Programming/CLOS.html)
A Brief Guide to CLOS (http://www.aiai.ed.ac.uk/~jeff/clos-guide.html)
Fundamentals of CLOS (http://www.ravenbrook.com/doc/2003/07/15/clos-fundamentals/)
Articles on CLOS (http://www.dreamsongs.com/CLOS.html)
The CLOS Metaobject Protocol (http://clisp.cons.org/impnotes/mop-chap.html) (based on The Art of the Metaobject Protocol (http://mitpress.mit.edu/catalog/item/default.asp?tid=3925&ttype=2), Ch. 5 and 6)

Interpreters and Compilers
List of Common Lisp Implementations (http://www.lisp.org/table/systems.htm)
Free Common LISP Compilers, Interpreters, Development Systems (http://www.thefreecountry.com/compilers/commonlisp.shtml)
Franz Allegro Common Lisp (http://www.franz.com/) (commercial, free demo available)
LispWorks (http://www.lispworks.com/index.html) (commercial)
DigiTool Common Lisp for Macintish (http://www.digitool.com/) (commercial, free demo available)
Steel Bank Common Lisp (http://www.sbcl.org/)
Corman Common Lisp (http://www.cormanlisp.com/)
CLISP (http://clisp.cons.org/)
CMUCL (http://www.cons.org/cmucl/)
gcl - GNU Common Lisp (http://www.gnu.org/software/gcl/)
Lispbox (http://www.gigamonkeys.com/book/lispbox/)
Movitz Lisp (http://common-lisp.net/project/movitz/) (standalone development tool for x86 systems programming!)
Embeddable Common Lisp (http://ecls.sourceforge.net/) (library implementation that compiles into portable C code)

Libraries and Code Repositories
The Common Lisp Cookbook (http://cl-cookbook.sourceforge.net/)
CMU Common Lisp Repository (http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/0.html)
Common Lisp Music package (http://ccrma.stanford.edu/software/clm/)
Common Lisp Open Code Collection (http://clocc.sourceforge.net/)
An Example Implementation of CLOS in base Common Lisp (http://homepage1.nifty.com/bmonkey/lisp/sacla/html/lisp/clos.lisp.html) (source code only)

General Information
Smalltalk.org (http://www.smalltalk.org/main/)
Wikipedia - Smalltalk (http://en.wikipedia.org/wiki/Smalltalk)
Wikipedia - Squeak Smalltalk (http://en.wikipedia.org/wiki/Squeak)
Squeak Smalltalk (http://www.squeak.org/)
Smalltalk Programming Language (http://www.engin.umd.umich.edu/CIS/course.des/cis400/smalltalk/smalltalk.html)
Smalltalk FAQ (http://www.faqs.org/faqs/smalltalk-faq/)

Reference
Design Principles Behind Smalltalk (http://users.ipa.net/~dwighth/smalltalk/byte_aug81/design_principles_behind_smalltalk.html)
The Ealry History of Smalltalk (http://gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html)

Communities, Message Boards and Advocacy
Why Smalltalk? (http://www.whysmalltalk.com/)
The UIUC Smalltalk Archive (http://st-www.cs.uiuc.edu/)
Smalltalk Industry Council (http://www.stic.org/)
Dolphin Smalltalk Wiki (http://www.dolphinmap.net/wiki/Main_Page)
Smalltalk Tidbits, Industry Rants (http://www.cincomsmalltalk.com/blog/blogView)
Smalltalk Programming Language Information - Smalltalk Info (http://www.goodstart.com/)
Squeak Smalltakl information (http://www.create.ucsb.edu/squeak/)
The Smalltalk programming language (http://www.outbacksoftware.com/smalltalk/smalltalk.html)

Online Books
Free Online Books for Smalltalk (http://www.iam.unibe.ch/~ducasse/FreeBooks.html)
Smalltalk-80: The Language and Its Implementation (http://users.ipa.net/~dwighth/smalltalk/bluebook/bluebook_imp_toc.html)
Smalltalk: An Introduction to Application Development using VisualWorks (ftp://st.cs.uiuc.edu/pub/Smalltalk/books/Book_Answers.tar.gz)
The Dolphin Smalltalk Companion (http://homepage.ntlworld.com/ted.bracht/id23.htm)

Tutorials
Smalltalk FAQ, Tutorials (http://lisa.uni-mb.si/student/seminar/smalltalk/links/s_tutori.htm)
Free Documents For Smalltalk (http://www.sra.co.jp/people/aoki/htmls/FreeDocumentsForSmalltalk.html)
Miscellaneous Smalltalk Tutorials (http://www.whysmalltalk.com/tutorials/miscellaneous.htm)
Smalltalk Primer: Syntax (http://smalltalk.cincom.com/tutorial/version7/tutorial1/vwsyntax1.htm)
M206 Smalltalk Programming Tutorial (http://members.aol.com/M206ou/m206/)
SMALLTALK : A BEGINNER'S GUIDE (http://www.bitwisemag.com/copy/programming/smalltalk/smalltalk1.html)
List of Smalltalk tutorials (http://www.goodstart.com/tutorials.shtml)
A Tutorial for GNU Smalltalk (http://ite.gmu.edu/~enorris/363/smalltalk/gnu_manual.html)
A Brief Tutorial of Smalltalk (http://www.zenspider.com/Languages/Smalltalk/Tutorial.html)
SmallTalk Tutorial for Java Programmers (http://objectsroot.com/squeak/squeak_tutorial.html)
Smalltalk Video Course (http://st-www.cs.uiuc.edu/users/johnson/video-course.html) (see also these lecture notes (http://st-www.cs.uiuc.edu/users/johnson/cs497/notes98/online-course.html) that accompany it)
Squeak video tutorial (http://www.iam.unibe.ch/~ducasse/Videos/)
Introduction to Pocket Smalltalk (http://www.pocketsmalltalk.com/pst-tutorial-jg-v16.html)
Pocket Smalltalk Tutorial (http://www.pocketsmalltalk.com/pst-tutorial-ab-0.html)
Simple Smalltalk Testing: With Patterns (http://www.xprogramming.com/testfram.htm)
Applications Programming in Smalltalk-80(TM): How to use Model-View-Controller (MVC) (http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html)

Development Tools
Squeak Smalltalk (http://www.squeak.org/)
VisualAge Smalltalk (http://www-306.ibm.com/software/awdtools/smalltalk/) (with aditional information here (http://wiki.cs.uiuc.edu/VisualWorks))
Dolphin Smalltalk (http://www.object-arts.com/content/navigation/home.html)
Smalltalk/x (http://www.exept.de/exept/english/Smalltalk/frame_uebersicht.html)
Smalltalk MT (http://www.objectconnect.com/)
Cincom Smalltalk (http://smalltalk.cincom.com/index.ssp)
Ambrai Smalltalk (http://www.ambrai.com/Smalltalk/)
#Smalltalk (http://www.refactory.com/Software/SharpSmalltalk/) (a .NET implementation)
GNU Smalltalk (http://www.gnu.org/software/smalltalk/smalltalk.html) (very different from the other implementations, aimed at allowing Smalltalk to be used in a manner closer to a conventional language)
Pocket Smalltalk (http://www.pocketsmalltalk.com/)


Libraries
The UIUC Smalltalk Archive (http://st-www.cs.uiuc.edu/)

Interesting graphic showing the history of programming languages from 1954 - 2006: linky (http://www.levenez.com/lang/history.html)

Displeaser

Interesting graphic showing the history of programming languages from 1954 - 2006: linky (http://www.levenez.com/lang/history.html)

Displeaser

Very nice find Displeaser. Not to be pedantic of course, but It's a little inaccurate in places*. Overall it a very cool diagram... wonder if i can get it on a poster :D.

Take care,

Mark.


* Here are some of the specific things that I noticed:

Matz, the Creator of Ruby himself lists Lisp as a big influence. In fact Lisp is the mother of all dynamic and managed languages, but the diagram fails to show this fact.

From my research Lisp was originated in 1956, and my professure assures me, just a few months after FORTRAN.

It seems to miss out a lot of influences and languages, but probably with good cause, there are a hell of a lot of languages!

Apparently Icon died in the 1980s... but it's under active development and enjoys a rich (if small) user base.

There's no mention of Dylan, yet it has quite an important/interesting role in history.

very true, they missed out on quite a few languages, Whitespace (http://compsoc.dur.ac.uk/whitespace/) and brainfu(k (http://www.muppetlabs.com/~breadbox/bf/) to name but two :p

Seriously though, there is some glaring omissions, though i think anything like this will suffer from that.

D

btw you know your language history mate ++

This a language I started builing. All I documented so far is this:

I have started building a new programming language. help is appreciated and information below:

The Parsing Method
------------------
------------------

the functions are divided into subs. the main parser reads line per line, ignoring comments and sending the rest to respective subs. the sub then receives the line and uses it, then sending control back the the central parser, which continues were it left off. All options within the function are a 6 digit combination (title=, contt{,)
Supported functions
-------------------
-------------------
Here is the current list of functions (be reasonable: I suck and are working alone on this... Help would be appreciated) :
-Popup

Contact Information
-------------------
-------------------

For information, Email me

Licensing Information
---------------------
---------------------

The Sphinx-WAP Language by Sphinx Gaming Inc. is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.

You are free:

* to copy, distribute and transmit the work
* to adapt the work


Under the following conditions:

* You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
* For any reuse or distribution, you must make clear to others the license terms of this work.
* Any of the above conditions can be waived if you get permission from the copyright holder.
* Nothing in this license impairs or restricts the author's moral rights


WAP1x{} Language Syntax

The Sphinx-WAP Language (WAP1x{}) Has a very particular syntax. It is

as follows :

index{#}
//# is the number of lines not including itself
funcn{value|value}
//functions are always 5 chars long, some need no options

WAP1x{} also accepts mods (DLL). Their names must be 5 chars long. They

go BEFORE internal commands, so to block one, rename blank.dll to the

command you wish to block.

other funtions must accept the variables COM as string (line info) and

VARS as array (variable system) from the central parsing unit (cpu).

variables line and waste. They then perform their function.

1- trim the funtion name and brackets (funtn{value|value} becomes

value|value.

2- split the values and use them.

3- perform designed funtion(s)

NOTE: THEY MUST BE BUILT IN VB.NET 2005

finally be original and have fun!










privacy (GDPR)