Programming Languages

A great general-purpose programming language...

  • lets you say things concisely and understandably at the right level of abstraction;

  • lets you extend the language with new features that are specific to a domain but blend in well with the rest of the language;

  • makes it easy to write correct code, with good performance;

  • makes it easy to change the code when you find out the specification has changed;

  • makes it easy to re-use code; and

  • is easy to learn.

There are probably thousands of general-purpose languages. But there are no universally great programming languages.

General-purpose languages come and go. In your life you'll likely learn a handful. Today, it's Java and C++. Yesterday, it was Pascal and C. Before that, it was Fortran and Lisp. Who knows what it will be tomorrow? And you'll likely use dozens of special-purpose languages for particular projects. In this fast changing field you need to be able to rapidly adapt.

A good programmer has to learn how to learn new languages.

We use a zillion different programming languages to communicate with machines and one another:

  • general purpose and scripting: Fortran, Lisp, Basic, C, Pascal, Scheme, C++, Java, C#, Visual Basic, Perl, Python, Ruby, PHP, Javascript, Clojure, Scala, Erlang, Swift, ...

  • tools: awk, sed, tcl, sh, csh, bash, ...

  • search: regular expressions, browser queries, SQL, ...

  • display and rendering: PostScript, PDF, HTML, XML, ...

  • hardware: CCS, VHDL, Verilog, ...

  • theorem proving and mathematics: Mathematica, Maple, Matlab, R, NuPRL, Isabelle/HOL, ACL2, Coq

It's crucial that you understand the principles behind programming that transcend the specifics of any specific language. There's no better way to get at these principles than to approach programming from a completely different perspective.

results matching ""

    No results matching ""