Nice quotes. The first one is how I think about programming languages as well. We've moved from binary/punchcards, to assembly, to imperative and declarative layers, to OO/functional code that can be statically analyzed, and systems designs that can be automatically verified. There's all sorts of memory management tools from manual allocation and freeing, to garbage collection and reference counting, and optionals to avoid nulls that can be statically checked. Each thing has solved entire classes of problems and we're getting more and more software solving different kinds of problems, faster.
Whiggish bullshit. Functional code and GC were invented in 1959. Some level of static typing was de rigeur in most application-development languages after assembly and before the scripting boom starting in the late 80s. In Coders At Work Frances Allen bemoaned the effect C's popularity had on automated program analysis since 1970:
> C has destroyed our ability to advance the state of the art in automatic optimization, automatic parallelization, automatic mapping of a high-level language to the machine.
"Progress" in CS remains fad-driven pop culture churn.
The question is not whether any particular language you might pick today is better than any other language you might pick in 1959, but whether there is some kind of teleology or "progress" to which languages are aspiring or at least slouching.
GC (and "memory safety" more generally) was not invented to solve the problems of C after C somehow revealed them solving the problems of e.g. Fortran. C variously sidestepped and ignored the work on program analysis including GC and memory safety for various commercial, aesthetic, and incidental reasons. Similar things are the case for C++ (vs. e.g. Object Pascal / Simula), Objective-C and Swift (vs. Smalltalk and Self), JavaScript and PHP (vs. nearly everything).
Lisp from 1959 stacks up incredibly well against Python today. Fortran still autovectorizes better than most modern languages. Pascal remains better to teach structured programming, we just don't teach that much anymore (and you can tell just by grabbing a half dozen loops at random and trying to figure out how well their conditions capture their invariants). Languages don't get better over time. They do get marketing budgets unimaginable before the 90s ("thanks" largely to Sun and Java for kicking this off), and for the past 20 years or so weird personal identity arguments on top of that (probably somehow Perl's fault).