So after reading this, is it correct to say that Ritchie basically showed in his thesis the application of the for loop for recursive prime number computation and also its application to computational complexity? AFAIK for loops where already known at the time since they first appeared in ALGOL a little earlier?
TLDR; Gödel’s incompleteness theorem rests on recursive functions which can be expressed as looping programs, i.e., for() loops. Dennis Ritchie’s PHD thesis, which was never accepted by Harvard because he refused to pay for a bound copy required for submission, demonstrated that the complexity of looping programs is determined by the degree of nesting. Ritchie did not seem to be driven by status seeking but instead b…
Discovering Dennis Ritchie’s Lost Dissertation
31–40 of 139 posts
Re: Discovering Dennis Ritchie’s Lost Dissertation
#32Re: Discovering Dennis Ritchie’s Lost Dissertation
#33Re: Discovering Dennis Ritchie’s Lost Dissertation
#34> My graduate school experience convinced me that I was not smart enough to be an expert in the theory of algorithms and also that I liked procedural languages better than functional ones. I wonder if that last bit was as unfashionable a statement when he made it as it would be now.
For the 80s and much of the 90s Ritchie's view seems obviously dominant, in no small part due to his own work in making extremely "usable" tools for procedural programming.
Re: Discovering Dennis Ritchie’s Lost Dissertation
#35Earlier quoted context omitted.
Functional programming languages have alway been somewhat dismissed by most. Even though every once in a while functional programming becomes somewhat of a hot topic, only few programmers actually take it up as their main or favourite programming style. I'd say Ritchie's attitude there is and was kind of mainstream. I suppose just as C (or C style languages) have been mainstream for the past 40 years.
Except every non programmer with a business degree seem to love functional programming: Microsoft Excel
It is not an imperative language: the user does not tell the computer which order in which to carry out computations. It is not procedural: there is no notion writing of procedures within its cells. It is not functional: while there are built-in functions users cannot write their own in the same way.
Re: Discovering Dennis Ritchie’s Lost Dissertation
#36> My graduate school experience convinced me that I was not smart enough to be an expert in the theory of algorithms and also that I liked procedural languages better than functional ones. I wonder if that last bit was as unfashionable a statement when he made it as it would be now.
Re: Discovering Dennis Ritchie’s Lost Dissertation
#37> My graduate school experience convinced me that I was not smart enough to be an expert in the theory of algorithms and also that I liked procedural languages better than functional ones. I wonder if that last bit was as unfashionable a statement when he made it as it would be now.
Re: Discovering Dennis Ritchie’s Lost Dissertation
#38When I was a teen, K&R The C Programming Language changed my life. Years later I shared an elevator with him at Usenix. I always regretted not saying something to him, but I didn't have the words. Kids: If you meet your heroes, say something. "Thank you" is good if you don't have the words.
Re: Discovering Dennis Ritchie’s Lost Dissertation
#39Re: Discovering Dennis Ritchie’s Lost Dissertation
#40> My graduate school experience convinced me that I was not smart enough to be an expert in the theory of algorithms and also that I liked procedural languages better than functional ones. I wonder if that last bit was as unfashionable a statement when he made it as it would be now.
Since it was on his Bell Labs website, surely this phrasing of the feeling came no earlier than the late 80s, rather than when he left academia in '68? ("Functional programming" as a contrasting term seems to have barely existed before Backus's Turing Award lecture in '77.) For the 80s and much of the 90s Ritchie's view seems obviously dominant, in no small part due to his own work in making extremely "usable" tools…
CPL, IIRC, actually had an outer-functional semantics, and one would escape to "value of" blocks to do procedural stuff (which was necessary in inner code due to the pitifully small machines of the day).
Writing bootstrap compilers in GPM must've been very similar to working in a lazy functional language.
See also https://en.wikipedia.org/wiki/PAL_(programming_language)