The article talks about the “evolution” of the programming languages, the author makes an analogy between the Neanderthals and the “primitive languages” as Cobol, and how they were replaced by “more adaptive” versions. The author thinks that nowadays maybe the next specimen that will be “taken down” is Java, because there are appearing more languages that can adapt better to the needs of the hardware and programmers. The author continues the analogy explaining that as at the evolution theory, there are branches that may exist between different languages, but in this case, they are more complex and occur slower. Going deeper within the last point, the author explains that one factor that makes this happen is that the languages are notation, not technology.
Later, the article continues listing the two components of a language, the axioms (operators-like that are used to write the rest of the language which is the second part). In other hand, the author mentions the Moore’s Law and how it maybe stops working at the future due to the incapability to expand as much as the Moore law points it should do. Another interesting mention is the thumb’s rule which I didn’t know, that specifies that each translate layer between the hardware and main application cost a factor ten to the execution’s speed. The article continues exposing multiple examples of how different tools were developed being non-efficient (Lisp initial design, ARC, etc…) but how they taken advantage from the bottom-up programming, what is writing series of layers , each one providing the base programming to the layer above.
Finally, the article also talks about some interesting points, as the parallel computing and some important points if we are considering designing a new language. For the first point, the author mentions that he thinks that it would be possible at the future, but purely it would be just for certain applications, and the other applications would need to be pass to a first version and later “mapped” to it’s optimized version for parallel computing. The “tips” to develop programming languages, mention that we need to keep in mind our target when developing, what type of program we want to be able to write and the size of the parser tree.