Live data from Hacker News

An opinionated history of programming languages

artagnon.com

21–30 of 135 posts

Re: An opinionated history of programming languages

#21
post #6

Maybe my color perception is off, but it looks like Python is considered a root language with no significant predecessors. Which doesn't seem correct - Python wasn't so novel that it introduced new programming paradigms. Also, no asterisk (modern, mature compiler & runtime) for OCaml?

The arrows showed descent from C and Perl.

But the color (black) in the legend indicates no significant predecessors.

Re: An opinionated history of programming languages

#22
post #11

What interesting opinions. Rust not being a candidate for designing a future language? But C++ being a candidate for designing a future language? Go having remarkably poor design? Ruby dying, but Python and Perl not? I would really like to have a rationale for those decisions. It would be interesting to see how you can come to this conclusions.

I would have thought that at least half of your opinions were unexpected:

Go's design is at the very least controversial and considered poor by a vocal subset of the hackernews and programming community.

Python is decidedly not dying... it's still the dominating game in town for ML and data science. I'm surprised anybody would posit that Python were dying. Perl definitely feels like it should be in Ruby's camp.

Re: An opinionated history of programming languages

#24
The problem with any of these directed-graph based "histories of programming languages" is that they ignore the fact that languages change. Sure, neither Haskell nor Ocaml are descendants of the other, but features in one have inspired features in the other countless times, making both languages better. The same goes for Ruby and Python, Java and many of the other languages on this chart and not on this chart, and more generally, all languages. Java introduced generics in 2004. Python introduced garbage collection in 2000.

Re: An opinionated history of programming languages

#25
Anyone care to explain what

    template 
    void recurseFillChildren(CurTy &E)
    {
      using PackTy = std::variant;
      using TyL = std::variant_alternative_t;
      static_assert(std::is_same_v);
      using TyR = std::variant_alternative_t;

      for (i32 j = 0; j ());
        if constexpr (i + 1 (E.Children.back());
      }
    };
does, and why it can't be translated into Rust?

Re: An opinionated history of programming languages

#26
post #15

Seems like some tree-roots are missing -- Algol??! PL/(I/M)? B(CPL)? Snobol? APL? Simula? Link between Smalltalk and C++?

Why should there be a link between C++ and Smalltalk?

Well, because OO - and if Simula isn't there, then that's where the link would be. Even if Simula did come first, ST is certainly the "OO root" that most people know, so I'm fine with Simula -> ST -> C++ as a reasonable path.

Re: An opinionated history of programming languages

#27

Anyone care to explain what template void recurseFillChildren(CurTy &E) { using PackTy = std::variant ; using TyL = std::variant_alternative_t ; static_assert(std::is_same_v ); using TyR = std::variant_alternative_t ; for (i32 j = 0; j ()); if constexpr (i + 1 (E.Children.back()); } }; does, and why it can't be translated into Rust?

I used to know C++. But not sure what's happening here.

Re: An opinionated history of programming languages

#28
post #15

Earlier quoted context omitted.

Why should there be a link between C++ and Smalltalk?

I think a lot of people get it mixed up with Objective-C (which is a derivative of sorts of Smalltalk). And C++ derives much from Simula which comes from Algol. And C derives much from Algol. And link between C and C++ is kinda obvious!

Objective-C isn't so much a language as one language embedded in another -- C + ST inside square brackets...

Re: An opinionated history of programming languages

#29
post #7

Earlier quoted context omitted.

For that matter, PHP is conspicuously absent, for all I'm no fan.

If PHP is included, it should be colored red ("Unlikely to influence anything in the future, due to remarkably poor design") as well... If the author already classifies Go, JavaScript, or even time-tested FORTRAN and Java into this category, it's all but fair to include PHP. On the other hand, unlike the popular beliefs, the author doesn't consider Perl to be the case here? Anyway, interesting opinion.

Seems to me that Java is likely to influence things in the future, if for no other reason than because people seem to like creating languages that run in the JVM, and the libraries (if nothing else) then influence the new language.

Re: An opinionated history of programming languages

#30

The problem with any of these directed-graph based "histories of programming languages" is that they ignore the fact that languages change. Sure, neither Haskell nor Ocaml are descendants of the other, but features in one have inspired features in the other countless times, making both languages better. The same goes for Ruby and Python, Java and many of the other languages on this chart and not on this chart, and mo…

The author addresses that further down on the page: "The diagram only shows influences in the original language design, not influences absorbed through the evolution of the language."

If you only are interested in "programming language design" this is not a bad idea. Changes and additions to a language often don't fit well into a language's overall design.

Post reply on HN