Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Can we please list major developments in Programming Language Theory Since 2000?
New on LowEndTalk? Please Register and read our Community Rules.

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?

Not_OlesNot_Oles Moderator, Patron Provider

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

    Thanked by 1Not_Oles
  • emgemg Veteran

    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?

    Thanked by 2mailcheap Not_Oles
  • mailcheapmailcheap Member, Host Rep

    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.

    Thanked by 1Not_Oles
  • raindog308raindog308 Administrator, Veteran

    Have there been any real advances in computer languages since the 1950s?

    Back then, people wrote:

    • assignment statements
    • loops
    • logic tests (if statements)

    Today we write:

    • assignment statements
    • loops
    • logic tests (if statements)

    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):

    Thanked by 1Not_Oles
Sign In or Register to comment.