Using .net as an example we’ll go over the technical decisions that influenced how todays languages look like. We will look at some key technologies that enabled the creation of .net, the reasons for its creation and the origin of its core features.

Video of the conference (with video starting with at my talk. The whole conference is in that video) :

I have created the following diagram to make following the topics of the talk simpler. There are many ways to link these, and

LCF
LCF
ML
ML
F#
F#
Java/JVM
Java/JVM
Pizza
Pizza
Scala
Scala
.net
.net
C#
C#
Microsoft
Microsoft
Mono
Mono
70s
70s
80s
80s
Lighting
Lighting
90s
90s
00s
00s
UCSD Pascal
UCSD Pascal
Other
Stronly typed FN languages
Other...
BCPL
BCPL
Viewer does not support full SVG 1.1

Resources

Microsoft early history

Virtual Machines

ML family of programming languages

Java and the JVM

Lighting and early days of .Net

.NET Generics

Don Syme and F#

Other resources

  • (The evolution of C#: Lead designer describes modernization journey, breaks it down about getting func-y)[https://www.theregister.com/2020/11/11/the_evolution_of_c_lead/]
  • Why No One Uses Functional Languages. / Wadler, Philip. In: ACM Sigplan Notices, Vol. 33, No. 8, 08.1998, p. 23-27.
  • Why hasn’t functional programming taken over yet The answer by Eric Lippert in this thread

Final words

If you enjoyed this talk and the subject, I have done some other talks about history and philosophy of Programming languages:

Be warned, history of PL is an appealing rabbit hole. If you want to delve (a lot) deeper into the history of PL the whole series of books on based on the HoPL conferences books are a great resource.