RU beehive logo ITEC dept promo banner
ITEC 380
2009fall
ibarland

homeinfolecturesexamshwsarchive

lect01a
Why study programming languages?

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)

  poster: programming languages history
  The hello 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

homeinfolecturesexamshwsarchive


©2009, Ian Barland, Radford University
Last modified 2009.Sep.17 (Thu)
Please mail any suggestions
(incl. typos, broken links)
to iba�rlandrad�ford.edu
Powered by PLT Scheme