views:

428

answers:

7

Perhaps you know the story of HTTP and HTML being developed on a NeXT computer. I am curious which platform served as the first home for these programming languages:

  • Ada
  • C
  • C++
  • C#
  • D
  • Erlang
  • Fortran
  • Haskell
  • Java
  • Javscript
  • Lisp
  • Logo
  • MATLAB
  • ML
  • Perl
  • PHP
  • Prolog
  • Python
  • R
  • Ruby
  • Scheme
  • SQL
  • Smalltalk

I thought it might be interesting to reflect on how the machine and operating environment lead to different design decisions. Or to see if some architecture or operating system variant was particularly fruitful for programming language development. A question for the historians among us.

A: 

C - DEC hardware, probably DEC PDP-11 (might have been PDP-7 still, but I think not).

Jonathan Leffler
A: 

SQL - IBM mainframe - System 360 or 370 most likely.

Jonathan Leffler
Yup. For System R.
Charlie Martin
+2  A: 

Erlang was developed in-house at ericson (hence the name I guess - ERicson LANGuage? Someone prove me wrong). Edit: ok, so I was wrong: Erlang is named after (Danish mathematician) A. K. Erlang. It is sometimes thought that its name is an abbreviation of Ericsson Language, owing to its origin inside Ericsson. According to Bjarne Däcker, who headed the Computer Science Lab at the time, this duality is intentional" [Wikipedia] (thanks @[Dylan Beattie]).

Perl was developed by Larry Wall and shows it's close ties to the Unix environment it was developed in.

Obviously Java was developed on Sun workstations.

Lisp was developed by McCarthy at MIT, probably on PDPs. EDIT: OK, the history of Lisp is actually pretty interesting. McCarthy developed it as a kind of intellectual excercise as an example of a Turing complete language. He never actually intended to write a usable language, I guess. Then, Steve Russel showed that the eval function was able to be written in machine language on an IBM 704 - this was effectively the first working Lisp interpreter.

ADA was developed by a committee, as was SQL (I guess technically speaking it wsa developed individually by Boyce and Codd at IBM, but it was one of the first languages to be standardised by ANSI and ISO).

Javascript was developed by Netscape.

C# was developed by Microsoft.

1800 INFORMATION
"Erlang is named after (Danish mathematician) A. K. Erlang. It is sometimes thought that its name is an abbreviation of Ericsson Language, owing to its origin inside Ericsson. According to Bjarne Däcker, who headed the Computer Science Lab at the time, this duality is intentional" [Wikipedia]
Dylan Beattie
i recall reading that the CONS and CDR structure of a Lisp cell was a reflection of the registers on the PDP that it was first developed on
Steven A. Lowe
@Steven - I vaguely recall reading that too, now that you mention it
1800 INFORMATION
Nope, it was the 704 architecture that made for CAR, CDR, and CONS. "Contents of the ADDRESS PART" and "Contents of the DECREMENT PART".
Charlie Martin
A: 

Smalltalk was developed for the Xerox Parc Alto, and the only case I can think of where the hardware architecture influenced the language design. As we now know, a windowed gui needs an event-driven UI.

Other than that, I don't see any discussion of the issue as put by the SO.

One might suggest that there's a heavy load of unix, but its system architecture is pretty much interchangeable with VAX/VMS, TOPS10/20, Linux, Windows - most all current OS's.

le dorfier
+5  A: 

Smalltalk was developed on in-house custom hardware (the Xerox Alto) at Xerox PARC.

Java was developed on Unix at Sun, presumably on SPARC hardware.

C++ was developed on Unix at AT&T. No idea what hardware but probably VAX or AT&T 3Bx.

R started out life on Unix, but has been ported further afield.

Python was developed for Amoeba (a research O/S) originally

LISP was developed on early IBM hardware (I think an IBM 704?)

FORTRAN was developed on early IBM hardware.

Unix as a platform was and is very hackable. Basically, unix was originally designed first and foremost to be a programming environment and it's quite easy to program for. That is one of the reasons Computer Science departments like it. Of the list above, C, C++, Java, Perl, PHP, MATLAB, R and (IIRC) Ruby originated on Unix. The same can also be said of Tcl/Tk. Amoeba had fairly unix-like API's and Python was ported to unix fairly early on in the piece.

LISP and Fortran both started on IBM mainframe hardware of the era - late 1950's. There was quite a bit of activity on these machines as they were the incumbent architecture of the day. However, the field was much more rarified at that point as there were fewer installed computer systems and fewer people with access to them.

The heyday of Unix in the 1980s and 1990s was a sort of window when many people had access to powerful computer equipment that they could hack on but the industry was still growing and had not consolodiated to the point that the tyranny of the masses started working against the sort of forces that permitted this sort of innovation. For such a large installed base, Windows has contributed far fewer widely accepted programming languages, although some of them (e.g. VB, C#) have a large user base.

Windows is quite a difficult platform to code for at a system level and early attempts at frameworks such as MFC still have a somewhat deserved 'here there be dragons' reputation. Even VB6 had a lot of leaky abstractions and coding a complex application in it is not all that easy. .Net has taken care of most of the leaky abstractions and is quite a pleasant system to work with - especially compared to VB6. Most of the innovation in languages on Windows these days is happening against the CLR.

ConcernedOfTunbridgeWells
the "custom hardware" at Xerox PARC was based on a 6502 processor, the same as used by the Apple ][ and the Commodore-64
Steven A. Lowe
The Alto was first built in 1973, predating the 6502 by a few years. According to the wikipedia article: 'The Alto's CPU was a very innovative microcoded processor'
ConcernedOfTunbridgeWells
Yes, there was a wonderful book on the history of the Alto. The Xerox D-machines were also heavily microcoded, as were the Symbolics Lisp machines. By the early 1990s RISC and commodity hardware had just about killed them all.
Norman Ramsey
+2  A: 
Mark Stock
A: 

Basic is not listed there, but it was originally written/developed in assembly language.