GIGO: words unreadable aloud
Mishrogo Weedapeval
 

 

  Wednesday 31 July 2002
Profusion of Programming Paradigms

Ever since the rise of Object-Oriented Programming in the late 1980's, it has become fashionable for CS researchers to try to come up with "the next programming paradigm". (Tangent: in this industry, the meaning of the word "paradigm" has shifted from its original meaning that was roughly synonymous with "archetype" or "example". Get over it.) There is a particular profusion of them coming up like weeds these days. I think some of them are just buzzwords in search of a market. But just to confuse the issue a bit further, I thought I'd list a few of the more prominent ones these days, along with example or archetypal (note: not "archetypical") programming languages for each. Um, paradigms, in its original sense.

  • Paradigm-free Programming (FORTRAN, COBOL)
  • Structured Programming (ALGOL)
  • Imperative Programming (C, SNOBOL; actually, all of the above)
  • Object-Oriented Programming (Simula (1967), Smalltalk)
  • Declarative Programming ... includes FP & LP:
    • Functional Programming (ML, Haskell)
    • Logic Programming (Prolog, Mercury)
    • Constraint Programming (Oz/Mozart)
  • Generative Programming (META-ML, macros in LISP/scheme, C++ templates, Application Generators ... any code that writes code)
  • I somehow feel a connection between Generative Programming and Term Rewriting Systems; and that they're both related to Source-to-source transformation, software re-engineering (REFINE; http://www.reasoning.com). But these latter techniques don't seem to have their own "paradigm buzzwords" -- better get on the ball, there!
  • Aspect-Oriented Programming (AspectJ) Looks mighty similar to scheme hygienic macros, or some of the fancier features of CLOS methods.
  • Strategic Programming (Stratego) Related to Term Rewriting Systems. Maybe this "strategic" is the buzzword I was looking for, above.
  • eXtreme Programming (Smalltalk again). Not really a pardigm in this sense — more a "way of doing programming" than anything programming-language-oriented.
  • Buzzword Programming — a "way of doing marketing" :-)

(Test added later: If I modify and re-publish one day of an archive month, do I then get a monthly archive for that month?)
12:48:02 AM   comment/     



Click here to visit the Radio UserLand website. Click to see the XML version of this web page. © Copyright 2007 Doug Landauer .
Last update: 07/2/6; 12:13:27 .
Click here to send an email to the editor of this weblog.

July 2002
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Jun   Aug

Previous/Next