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.
An opinionated history of programming languages
21–30 of 135 posts
Re: An opinionated history of programming languages
#22What 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.
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
#23Re: An opinionated history of programming languages
#24Re: An opinionated history of programming languages
#25 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
#26Seems 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?
Re: An opinionated history of programming languages
#27Anyone 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
#28Earlier 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!
Re: An opinionated history of programming languages
#29Earlier 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.
Re: An opinionated history of programming languages
#30The 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…
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.