Talk:Per Brinch Hansen

untitled
I'm not entirely sure about attributing the THE OS to him rather than Dijkstra; perhaps they were both involved.

I wasn't sure enough to include his authorship of a Communications of the ACM article in the late 1970s declaring the inadequacy of both test-at-head and test-at-end loops, and advocating syntaxes for expressing all loops as "n-and-a-half-times" loops, with the test just before a block of code that is executed just before "looping back" and skipped "the last time thru". --Jerzy(t) 20:04, 2004 Jul 28 (UTC)

Note also that in Hansen's own papers he ascribes the idea of monitors to Dijkstra. —Preceding unsigned comment added by 205.229.50.10 (talk) 19:01, 22 September 2008 (UTC)

I'd like to see evidence that Concurrent Pascal was the first concurrent programming language. In particular, PL/I pre-dated Concurrent Pascal, and it supported threads. Also, I have trouble believing that the first book on concurrent programming was written in 1977. Don't get me wrong--I have great admiration for Brinch Hansen, but a little care is in order. MartensJD (talk) 20:41, 29 June 2015 (UTC)

Some responses to prior comments: Note: I was Brinch Hansen's student a few decades back. I have added a connected contributor template above. In the near future I hope to update and substantially expand this article. Jsg68x (talk) 15:03, 9 December 2015 (UTC)
 * Concurrent Pascal is widely recognized as the first concurrent programming language. This is not a question of proof vs. something like PL/I, but of definition.  It is a trivial matter to add insecure, low-level concurrency primitives to any language.  Concurrent Pascal was not only the first language developed specifically for concurrent programming, but the first language to demonstrate that it was possible to incorporate secure, high-level facilities for concurrency, where the system could guarantee "that processes access disjoint sets of variables only and do not interfere with each other in time dependent ways."
 * Brinch Hansen did not ascribe the idea of Monitors to Dijkstra. Brinch Hansen ascribed monitors as having evolved from the ideas of Dahl, Dijkstra, Hoare and himself.  (Dahl, in turn, ascribed his contribution -- the class concept of Simula 67 -- as attributable to both himself and Nygaard.)  Brinch Hansen attributed the informal development of the monitor concept to Dijkstra, Hoare and himself.  (Dahl and Nygaard's contribution was passive, and came in later, when their class concept was adopted for monitor notation.)  Brinch Hansen ascribed the development of monitor notation to himself and Hoare, and the key implementation detail of scheduling queues to himself.  (And of course, Brinch Hansen was the one to actually implement monitors, with Concurent Pascal.)
 * THE was Dijkstra's. It should definitely not be attributed to Brinch Hansen.

Ok, I don't know what basis/criteria was being used in going through and just marking the importance as low in every category, but it seems objectively wrong to me in at least a few. At least two "high" rated articles in Computer Science (Concurrent computing, Microkernel) pertain to technologies where Brinch Hansen was a, or the, seminal developer/contributor. And reviewing the bio articles included in "high" classification, it's clear that Brinch Hansen's bio article appropriately belongs there. So I'm changing that importance to high. For Computing, there are two such articles rated "high" (Concurrent computing, Remote procedure call), and at least one rated "mid" (Microkernel), but it appears to me that relatively few bio articles are classified with importances under Computing, so I'm removing the importance rating to return it to be unspecified for now.

Frankly, I wonder about the objective basis for the rest, but I haven't examined such more closely at this time, so holding off on any other changes for now. I think the editor who marked these levels should post as to the basis for each categorization. Jsg68x (talk) 02:33, 14 August 2021 (UTC)