Wednesday, November 25, 2009

Pure=Vegan

And Haskell counts as vegetarian because it keeps side effects in monads.

Thursday, November 19, 2009

Slashdotted! (Or: a list)

Not really. But at least they discuss the ultimate RISC. Anyway, I've been making a list of the ultimate programming paradigms. Everything is a(n): (carefully sorted alphabetically so you don't feel they are prioritized)
  • actor (Erlang)
  • algorithm (Python)
  • application (iPhone)
  • argument (like for a method)
  • array (Lisp)
  • aspect (AspectJ)
  • associative array (JavaScript)
  • capability (E)
  • code (Lisp)
  • component (XPCOM)
  • concept (CoP)
  • constraint (Prolog)
  • coroutine
  • data (Lisp)
  • delegate (C#)
  • documentation (Perl)
  • DSL
  • enumeration
  • environment (bash)
  • event (Reactive programming)
  • file (GNU/Linux)
  • filter
  • function (lambda calculus)
  • generator
  • graph
  • Lisp (Lisp)
  • list (Lisp)
  • macro (Lisp)
  • map
  • message (Smalltalk)
  • module (Ada)
  • monad (Haskell)
  • object (Smalltalk)
  • operator (C++)
  • package (Java)
  • paradigm
  • pattern
  • picture
  • platform (Java/Mono/CLR/LLVM/Parrot)
  • procedure (BASIC)
  • program
  • prototype (says the entrepreneur)
  • query (SQL)
  • reference (C)
  • rule (Prolog)
  • stack
  • stream (pLucid)
  • string (Tcl)
  • syntax sugar (Perl)
  • table (SQL)
  • template (C++)
  • TeX (TeX)
  • text (TeX)
  • transaction (SQL)
  • tree (Lisp)
  • type
  • value (first-class programming)
  • variable
  • white box
I also came up with a list of adjectives. Everything is:
  • abstract
  • Algol-like
  • annotated
  • cross-platform
  • easy (once you know how)
  • encapsulated
  • explicit
  • generic
  • high-level
  • incomplete
  • large
  • local
  • (un?)provable
  • pure
  • resource-limited
  • scripted
Anyway, expect a post for each one of these eventually.