All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Can we please list major developments in Programming Language Theory Since 2000?
Yesterday I bounced through a whole bunch of web searches about Programming Language Theory ("PLT"). I grabbed several textbook pdfs. Three especially interesting things I discovered from yesterday's searches were:
The Wizard Book has a new 2022 edition which uses Javascript instead of Scheme!
Could it be true that there is not a new (2000s) university course textbook on PLT (as opposed to the above new edition of a classic)? (But, what about John Guttag's Introduction to Computation and Programming Using Python, Second Edition, MIT Press, 2016?)
The Wikipedia article on Programming Language Theory ends its historical discussion with the 1990s!
Can you please help list major developments in PLT since 2000? What should the list contain?
Are there 2000 era university course textbooks on PLT?
Thanks in advance!
Comments
There's more emphasis on memory safety and such things now. Rust was a step forward in that, but not completely. And it's more of a headache than it ought to be.
Have a look at the discussion by the authors of Vale, a new language that's not altogether finished yet, but looks like it will have some advantages.
https://vale.dev
https://arstechnica.com/information-technology/2022/12/openai-invites-everyone-to-test-new-ai-powered-chatbot-with-amusing-results/
One way to assess modern progress and direction in Programming Language Theory may be to look the latest batch of the newest popular programming languages.
Go to their websites and descriptions to see what new capabilities that each programming language offers, what new ideas or features they describe, and what problems they claim to prevent (or are better at performing). That may lead you to an understanding of where modern programming language theory and designs have been going since 2000. See what new features made Python, or Rust, or Swift, or C# (may be old for some!) compelling for people to want to start using them.
If you look at the Rust website, for example, they mention the lack of runtime/garbage collection for performance, a "rich type system and ownership model", along with memory and thread safety. Hmm, that "ownership model" may tell us something about new ideas for memory management. You get the point... For the Rust website I found with a search engine, see:
https://www.rust-lang.org
I will leave it an an exercise for others to look at their favorite programming languages, to see what new ideas, concepts, and features are highlighted on websites featuring that language. It may say a lot about trends in programming language concepts and designs over time.
You can also apply this idea to older languages, like BASIC. (Yeah, their website was sparse at that time the language was first released.) I wonder how much the modern version of Visual Basic has in common with the Dartmouth BASIC from the 1960s? It may be useful to learn what new features were added to subsequent versions of old programming languages. Those add-on features will give you a strong indication of programming language concepts that have become mainstream practices, enough that it is worth it to backfill those capabilities into older languages. Sometimes those updated programming languages with modern language features are rather Frankensteinian.
-> Object-oriented FORTRAN, anyone?
Hearing about PLT for the first time, when it comes to programming languages and their implementation I'm fairly in the "user" category. As a casual programmer, I do see a lot of interest lately in systems programming languages like Zip, Nim, Rust, etc. Nim looks interesting as it can transpile into C and even JS 🤯
Pavin.
Have there been any real advances in computer languages since the 1950s?
Back then, people wrote:
Today we write:
Syntax is fancier but...
At one time I owned a computer whose cpu ran at 2.5 Mhz. Today you can buy one easily at 2.5Ghz if not 5 Ghz. 2.5 Mhz -> 2.5 Ghz is three orders of magnitude. Software has not advanced anything like that.
A really fun video on this (12 years old, but we're talking history):