Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Too many languages

Name: Anonymous 2014-03-09 9:44

There are thousands of programming languages.

The purpose of a programming language is to express programs. The
purpose of learning programming languages is to build up a toolbox for
reasoning about and synthesizing programs in any one given language.

There are diminishing returns on learning programming languages, and
time is scarce.

Therefore one must select between programming languages to study.

A good selection of languages has both
+ breadth
  + satisfies a number of real world economic needs.
+ focus
  + exploits similarity between languages and incremental learning.
  + some unifying basis

A good member of a particular selection meets a number of the
following criteria:
+ Satisfies one particular school of thought on programming languages.
+ Significant difference from predecessors
+ Significant influence on successors
+ Economically significant
+ Advanced i.e. no direct, established and proven heir.
+ A good language.
  + Easy to express programs with
  + Easy to read programs expressed with
  + Easy to reason about programms expressed with

No one of these criteria are sufficient or even necessary conditions.

A bad member satisfies the opposite criteria.

Name: Anonymous 2014-03-14 7:32

>>65
It wasn't lost as much as deliberately abandoned.

It turns out it's better to give access to a selection of primitive computations than to design towards a specific language model.  Just like it turns out that APIs are more powerful and flexible when they are dumb REST APIs that map to the underlying model, rather than catering to the specific application you are writing.

Look at Java.  Unlike Lisp, Java is in widespread use.  It had its fair shot at hardware execution with support from large actors like Sun and ARM.  Turns out a good JIT beats it handily in all areas that matter.  Flexibility, speed, you name it.  And of course the programmers don't give a whit, they're just writing Java either way.

The thinking that an ISA should have `high level' operations is what got us to x86 in the first place.  A lot of the instructions are just convenience methods for when you're programming assembly code.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List