books-programmingLanguages-programmingLanguagesChImpMmOopLangs

Table of Contents for Programming Languages: a survey

Python

Pros:

Tours and tutorials:

Best practices:

Popularity:

Go

Good for:

Attributes:

Pros:

Cons:

Tours and tutorials:

Process:

Retrospectives:

Opinions:

Best practices:

'Go' is hard to search for on the web so the tag 'golang' is often used.

Popularity:

Erlang

Pros:

Cons:

Java

Attributes:

Pros:

Cons:

JVM Pros:

JVM Cons:

Best practices:

Retrospectives and whitepapers:

Opinions:

Popularity:

Lua

Pros:

Process:

Retrospectives and whitepapers:

Influences: SOL, DEL, "Lua 1.0 was designed in such a way that its object constructors, being then slightly different from the current light and flexible style, incorporated the data-description syntax of SOL (hence the name Lua – sol is Portuguese for sun; lua is moon). Lua syntax for control structures was mostly borrowed from Modula (if, while, repeat/until), but also had taken influence from CLU (multiple assignments and multiple returns from function calls, as a simpler alternative to reference parameters or explicit pointers), C++ ("neat idea of allowing a local variable to be declared only where we need it"[3]), SNOBOL and AWK (associative arrays). In an article published in Dr. Dobb's Journal, Lua's creators also state that LISP and Scheme with their single, ubiquitous data structure mechanism (the list) were a major influence on their decision to develop the table as the primary data structure of Lua.[5] Lua semantics have been increasingly influenced by Scheme over time,[3] especially with the introduction of anonymous functions and full lexical scoping." -- https://en.wikipedia.org/wiki/Lua_%28programming_language%29#History

Popularity:

Perl

Pros:

Perl 6 design docs:

C#

people: Anders Hejlsberg

Popularity:

Smalltalk

attributes:

big ideas: "We had two ideas, really. One of them we got from Lisp: late binding (..If you’re using early-binding languages as most people do, rather than late-binding languages, then you really start getting locked in to stuff that you’ve already done. You can’t reformulate things that easily...). The other one was the idea of objects." -- Alan Kay, http://queue.acm.org/detail.cfm?id=1039523

people: Alan Kay

influences: "Sketchpad, Simula, the design for the ARPAnet, the Burroughs B5000, and my background in Biology and Mathematics" -- Alan Kay, http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en

retrospectives: http://gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html , http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en

some notes on this history of smalltalk are in the middle of:

http://web.augsburg.edu/~crockett/210/210%20Lab%20Set%204/Reed_OOP_Epistemology.pdf

Self

Retrospectives:

Io

Whitepaper and intro/guide:

Pros:

Other attributes:

Influenced by: Smalltalk, Self, NewtonScript?, Ac1, Lisp, Lua

Ruby

Retrospectives:

PHP

Javascript

C#


todo: i'm not really sure if everything in this file is actually imperative, memory-managed, and oop! check!