![]() |
![]() |
|
You can never understand one language until you understand at least two.
—Geoffrey Willans
The limits of my language are the limits of my world.
—Ludwig Wittgenstein
Why study programming languages? learn other approaches; lets you understand your native tongue better; practice at learning new technologies/ideas; makes you think about: when is language helping, and when getting in the way; e.g. sorting: scheme vs Java Help you choose a language appropriate to the task A history overview: name yr family feature(s)/notables (descendents/related) example TM, lambda calculus machine / hardware switches (incl. Babbage's Analytic Engine) assembly Lisp; Scheme, ML, Haskel, F# Fortran; PL/I; Algol; SmallTalk; C++, java, C# Ada; sh, csh, Tcl/Tk, perl, python, ruby rpn; postscript (printer is the interpreter; req'd M68000, not 8088,6502); pdf prolog (Japanese "4th wave") Basic (Apple II ROM; line#s; goto;'gosub' but no params (only globals) (recursion?!)), http://www.jenutech.com/images/HomeSweetGoto10.gif http://theinfosphere.org/File:Gotohell.jpg Pascal (teaching; nested procedures) language popularity index poster: programming languages history Thehello world collection - examples: enscript -o foo.ps (wimpout.ps) Example: enscript -o foo.ps ; cat foo.ps ; open foo.ps Example: cat wimpoutBoard.ps ; open wimpoutBoard.ps also, sh: Example: cd ~/Unix find . -name \*.ps -print find . -name \*.ps -print | grep -i wimpout - other notables: * postscript - C, Ada, Fortran, Pascal, Rexx, ... - Smalltalk, Java, C++, C#, ... - APL; Mathematica; Matlab - javascript, perl, etc; html ? -- no; data. But, .css. - sh/csh, .bat, applescript; scriptable photoshop? Example: cd ~/Unix find \*.ps find \*.ps | grep -i wimpout Note that we are calling functions. (How are arguments passed?) - a *programmable* calculator. * MS Word "macros" and mailing-list scripts - abacus-instructions ?
Link:
"A new language for phone networks" (declarative; based on F#)
?a=f
©2012, Ian Barland, Radford University Last modified 2012.Aug.27 (Mon) |
Please mail any suggestions (incl. typos, broken links) to ibarland ![]() |
![]() |