~/talk

The Past, Present and Future of Programming Languages

Talkat ACCU 2025 · 2025-04-01..04-04· [compilers-and-language-design]
slides:none on file

Main claim: mainstream languages change slowly and incumbents dominate; empirical evidence shows C/Java/Python/C++ persist in top ranks and of 100 languages surveyed 73% sit inside the top 10, producing a highly skewed ecosystem. Index comparisons (TIOBE, RedMonk, Stack Overflow, plrank.com) and historical case studies (Fortran origins, Simula co-routines, OKAM channels, the Apple “goto fail” bug) back this. Practical takeaway: LLMs generate code but prompts are not a repository of determinism and cannot safely replace compilers or precise language definitions.

AI-written summary · about

  1. 0:00Introduction
  2. 1:30Modern language literature
  3. 4:39Fortran’s accidental legacy
  4. 6:24John Backus and functional programming
  5. 8:07Older languages in rankings
  6. 10:39Why new languages struggle
  7. 11:44Languages after 2000
  8. 12:28Survey limitations
  9. 13:10Language popularity skew
  10. 15:15Industry language trends
  11. 16:21Past language predictions
  12. 17:45Timeline of language creation
  13. 18:49Generational language impact
  14. 20:18Language adoption demographics
  15. 20:381960s programming innovations
  16. 21:21ALGOL 68’s syntax influence
  17. 22:25Fibonacci example
  18. 23:06ALGOL 68’s expression design
  19. 23:48History of goto statement
  20. 24:53Structured programming beyond goto
  21. 25:13Konrad Zuse’s early concepts
  22. 26:16Origin of if-else
  23. 26:58Invention of for loop
  24. 27:41Fortran loop evolution
  25. 28:25Dangers of unstructured flow
  26. 29:08Goto fail case study
  27. 30:11Java’s control flow analysis
  28. 30:52Compiler warnings and dead code
  29. 31:54Apple SSL vulnerability lessons
  30. 32:15Testing and software quality
  31. 32:37Code analysis tools
  32. 33:20C’s goto solved problem
  33. 34:01Build systems and team practices
  34. 34:43Curly brackets and goto debate
  35. 35:26Power of else keyword
  36. 36:11Origin of conditionals
  37. 37:13ALGOL 58 universal language
  38. 37:55Invention of else in ALGOL 60
  39. 38:59ALGOL 60 influences
  40. 39:20Co-routines significance
  41. 40:22Knuth on subroutines and co-routines
  42. 40:43Conway’s law and co-routines
  43. 41:04CLU co-routines and relevance
  44. 41:46Co-routines oldest construct
  45. 42:06CLU block structure and exceptions
  46. 42:46Simula and OOP origin
  47. 43:28Iterators as co-routines
  48. 43:51CLU key features
  49. 44:33ALGOL 68 and CLU influences
  50. 44:56Co-routines in C# and Python
  51. 45:39C++ ties to co-routines
  52. 46:01C++23 generator support
  53. 46:41C++ reclaiming task libraries
  54. 47:22Simula 1 process model
  55. 47:42Objects and classes
  56. 48:23Block structure power
  57. 48:43Block structure foundation
  58. 49:05ALGOL 60 block design
  59. 49:47OOP in structured programming
  60. 50:31Blocks origin of classes
  61. 51:14Data abstraction and encapsulation
  62. 51:55Barbara Liskov and ADTs
  63. 52:56Liskov’s modern influence
  64. 53:19Erasure of historical contributions
  65. 54:00First ADT stack implementation
  66. 54:22Processes as abstraction
  67. 55:03Occam channels and concurrency
  68. 56:06Dangers of locks
  69. 56:27Occam key features
  70. 57:11Type prefixes context
  71. 57:33Type-first notation limits
  72. 57:53Occam parallel blocks
  73. 58:15Multiple assignment in Occam
  74. 58:37History of multiple assignment
  75. 59:18Occam strict typing
  76. 59:39Pure functions in Occam and Haskell
  77. 1:00:00Multiple assignment evolution
  78. 1:01:03Backus critique of von Neumann
  79. 1:02:51Functional features in mainstream
  80. 1:03:53Declarative vs functional
  81. 1:04:14Functional influence on languages
  82. 1:04:34List comprehensions and set theory
  83. 1:05:17Declarative languages purity
  84. 1:05:38Origin of list comprehensions
  85. 1:06:00Set comprehension and SQL
  86. 1:06:22Reserved keywords evolution
  87. 1:07:03ALGOL 68 stropping
  88. 1:07:46Need for reserved keywords
  89. 1:08:30Contextual keywords
  90. 1:09:14Syntax brevity and evolution
  91. 1:09:56Keyword-based design limits
  92. 1:10:38Pipelines significance
  93. 1:11:20McIlroy memo on pipes
  94. 1:11:41Lambda calculus origin
  95. 1:12:02Peyton Jones on Excel
  96. 1:12:45Lambdas in Excel and Sheets
  97. 1:13:07Risks of spreadsheet lambdas
  98. 1:13:49Lambda calculus roots
  99. 1:14:13Lambda calculus first OOP
  100. 1:14:56Math and programming purity
  101. 1:15:18Munroe on math and programming
  102. 1:15:39Lambda inclusion timeline
  103. 1:16:01Lisp origins and AI role
  104. 1:17:27Symbolic AI and Lisp
  105. 1:18:09ML and language futures
  106. 1:18:50Can LLMs replace compilers?
  107. 1:19:52LLM code limitations
  108. 1:20:35Pair programming and AI
  109. 1:20:56Model collapse risks
  110. 1:21:17Need for determinism
  111. 1:21:58LLMs for programming risks
  112. 1:22:40Backward compatibility need
  113. 1:23:00Fixing C and C++ issues
  114. 1:23:20Languages in LLM world
  115. 1:23:41Programming as unambiguous description
  116. 1:24:03Notation power in programming
  117. 1:24:24Language feature evolution
  118. 1:25:05Mainstream language adoption
  119. 1:25:27Slowing language evolution
  120. 1:26:09Decline of functional hype
  121. 1:26:50Future language adoption
  122. 1:27:11Mainstream language dominance
  123. 1:27:32LLMs bias toward legacy
  124. 1:28:13New language adoption challenge
  125. 1:28:33Framework multiplier effect
  126. 1:28:53Liberating from von Neumann
  127. 1:29:14Past’s enduring influence
  128. 1:29:34Slowing language innovation
  129. 1:29:55Conclusion and outlook
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.