Per Brinch Hansen's books on compilers
pascal.hansotten.com
pascal.hansotten.com
http://pascal.hansotten.com/per-brinch-hansen/edison-a-multi...
"programming languages cannot be expected to support complex abstractions, but should instead make it reasonably convenient to adopt programming styles which use simpler concepts to construct the more complex ones"
This was in the context of demonstrating Edison's ability to express both safe and unsafe concurrency (pp. 16-17).
Also I was his teaching assistant for the course based on this book for a few semesters.
“The author examines the synchronization features of Java and finds that they are insecure variants of his earliest ideas in parallel programming published in 1972–73. The claim that Java supports monitors is shown to be false. The author concludes that Java ignores the last twenty-five years of research in parallel programming languages."
Not only Java, btw. It's an ongoing desaster.
First of all, it's not "book", but a short article (10 pages). Then another quote from it:
> In this paper I examine the synchronization features of Java to discover their origin and determine if they live up to the standards set by the invention of monitors and Concurrent Pascal a quarter of a century ago.
So, the claim being made that Java doesn't support Concurrent Pascal's "monitors". And Captain Obvious agrees, because Java support's Java's monitors, d'uh. Though author puts that as if he owned a trademark for the word "monitor". Maybe he did.
Then he complains that Java allows to write not just fully decoupled threads, but those which share state too. He argues that there should be synchro police hand-holding everyone and not letting them shoot themselves in the feet. He's also apparently oblivious of all of the lock-free paradigm, because well, his Concurrent Pascal's "monitor" is panacea for all the times and uses. So oops, Java adopted a free-will approach instead.
He concludes with the following:
> The 1980s will probably be remembered as the decade in which programmers took a gigantic step backwards by switching from secure Pascal-like languages to insecure C-like languages.
I find that being almost one-to-one to what's being attributed to another late computing pioneer, Frances Allen (https://news.ycombinator.com/item?id=24083564):
> "In our conversation she talks about what that transition was like as well as why it is important to increase the diversity in the field and how C has grievously wounded the study of computer science."
I very much feel for those gals and guys. I may imagine the outrage that generation felt about C could be compared to that which our generation, rurban, feels about JavaScript.
Overall, was nice read, thanks for sharing.
I advise his work on SoloPascal and Concurrent Pascal, for anyone that cares about safer systems programming and Go like concurrency (in the 70's).
(Sorry, couldn't resist.)
Hans
Though I can't seem to find a PDF of 'Search for simplicity' :(
However, many of the fundamental themes, principles, and considerations are unchanged in the intervening years, and often clearer in earlier, simpler systems. And you can find forgotten gems.