Four Of Most Important Language Designers In Conversation
Written by Mike James   
Sunday, 21 April 2019

Four of the most effective language designers of our era got together in a single room and talked about their creations and how it was. This is an important video in which we hear from Guido van Rossum, James Gosling, Anders Hejlsberg and Larry Wall..

fourlangcreate

The very first thing to say is that, sadly, this is not the best quality video you will encounter - it is a recording from a livestream but it really should be better. The audio is particulary bad but what is said is fascinating.

In case you don't know., first I need to tell you who these guys are. Taking each in turn:

Guido van Rossum has a Masters in mathematics from the University of Amsterdam and, of course, he invented Python back in 1989. He was Python's "Benevolent Dictator For Liife" (BDFL) until he stepped down in 2018. It is a reasonable assumption that his guiding light is the main reason that Python is such a practical language. Python isn't ground-breaking from any theory or language principle point of view, but its clever use of dynamic typing and its application of "everything is an object" makes for an excellent balance in language development. The triumph of Python is in successfully herding cats. It has managed an open source project to produce a language that doesn't seem to have been designed by a committee.

James Gosling has a Phd in computer science from Carnegie Mellon and he invented Java in 1994. Java is an object-oriented, strongly-typed language and it is best known for its "write once run anywhere" philosophy. This is possible because Java is run on a virtual machine that can be ported to any real machine to allow the Java ecosystem to work there. Java can be considered to be a reinvention of C++ without the low-level problems that being based on C brings with it.

Larry Wall has a bachelor's degree in Natural and Artificial languages and he invented Perl in 1987. In 2000 he "upgraded" the language to Perl 6 which is different enough to be considered a second language. Perl is the oddest of the languages considered here. It is a heavily operator-based language in the style of APL. Perl programs can be almost incomprehensible to a non-Perl programmer and, often to experienced Perl programmers as well. Wall is generally regarded as having a sense of humour and you have to take his pronouncements with a pinch of salt.

Anders Hejlsberg has a degree in electrical engineering and the first language he was responsible for was Turbo Pascal in 1983. This wasn't a new language but an implementation of the Pascal language for MS-DOS. Turbo Pascal evolved into Delphi, which introduced objects and a GUI into the language. After this he implemented J++, a version of Java for Microsoft, and then created C# in 2000. The C# language is another re-interpretation of C++ without the need to incorporate C. It is an innovative language in that it make use of a manged runtime. After Microsoft lost interest in .NET as its flagship language environment, he moved on to create TypeScript, which is a superset of JavaScript.

You will notice the number of times the shadow of C++ occurs in the above and yes, the missing language designer of the same era is Bjarne Stroustrup who invented C++ in 1979. If you want to know his thoughts on C++ and other languages see A Recursive Interview With Bjarne Stoustrup.

Now watch the video in which the four share anecdotes and exchange ideas. There is a 15-minute interval starting at about 1:40 the discussion restarts at around 2:01).

Interesting - but shame about the sound quality for the most of the recording. You would think that as programmers we were a group sufficiently technically able to hook up an audio recorder.

 

More Information

PyCascades 

Related Articles

A Recursive Interview With Bjarne Stoustrup

In Praise Of C++ Bjarne At ICPC

Why invent a new language? Go creator explains

Python Creator Is Computer History Museum 2018 Fellow

Kemeny & Kurtz - The Invention Of BASIC

John McCarthy, Creator of Lisp 

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

Banner


JetBrains Improves Kubernetes Support In IDE Upgrades
12/11/2024

JetBrains has improved its IDEs with features to suggest the logical structure of code, to streamline the debugging experience for Kubernetes applications, and provide comprehensive cluster-wide Kuber [ ... ]



Apache Fury Adds Optimized Serializers For Scala
31/10/2024

Apache Fury has been updated to add GraalVM native images and with optimized serializers for Scala collection. The update also reduces Scala collection serialization cost via the use of  encoding [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

Last Updated ( Saturday, 27 April 2019 )