Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Tim Rentsch Newsgroups: comp.lang.c Subject: Re: Top 10 most common hard skills listed on resumes... Date: Wed, 28 Aug 2024 08:18:12 -0700 Organization: A noiseless patient Spider Lines: 122 Message-ID: <86mskwznez.fsf@linuxsc.com> References: <92ab79736a70ea1563691d22a9b396a20629d8cf@i2pn2.org> <87r0abzcsj.fsf@bsb.me.uk> <87seurdqts.fsf@nosuchdomain.example.com> <87frqqyuib.fsf@bsb.me.uk> <87a5gxeppa.fsf@nosuchdomain.example.com> <87a5gxzhep.fsf@bsb.me.uk> <86seup1m1g.fsf@linuxsc.com> <87seuoyaa6.fsf@bsb.me.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Date: Wed, 28 Aug 2024 17:18:12 +0200 (CEST) Injection-Info: dont-email.me; posting-host="6b5ad5f5888a1a6f98ce057847c0415f"; logging-data="3703286"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+ZF2R2SC2DhcVf7r7tD0rKlXj9wII2uLc=" User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) Cancel-Lock: sha1:Hsq9ODQvRGBlGFzdZJeuqeC59xs= sha1:Pfz+qD1D9YY2nsNZAF6dXrKu6V8= Bytes: 7020 Ben Bacarisse writes: > Tim Rentsch writes: > >> Ben Bacarisse writes: >> >>> Keith Thompson writes: >>> >>>> Ben Bacarisse writes: >>>> >>>>> Keith Thompson writes: >>>>> >>>>>> Ben Bacarisse writes: >>>>>> >>>>>>> Bart writes: >>>>>>> >>>>>>>> BLISS is a rather strange language. For something supposedly >>>>>>>> low level than C, it doesn't have 'goto'. >>>>>>>> >>>>>>>> It is also typeless. >>>>>>>> >>>>>>>> There is also a key feature that sets it apart from most HLLs: >>>>>>>> usually if you declare a variable A, then you can access A's >>>>>>>> value just by writing A; its address is automatically >>>>>>>> dereferenced. >>>>>>> >>>>>>> Not always. This is where left- and right-evaluation came in. >>>>>>> On the left of an assignment A denotes a "place" to receive a >>>>>>> value. On the right, it denotes a value obtained from a place. >>>>>>> CPL used the terms and C got them via BCPL's documentation. >>>>>>> Viewed like this, BLISS just makes "evaluation" a universal >>>>>>> concept. >>>>>> >>>>>> As I recall, the terms "lvalue" and "rvalue" originated with CPL. >>>>>> The 'l' and 'r' suggest the left and right sides of an >>>>>> assignment. >>>>>> >>>>>> Disclaimer: I have a couple of CPL documents, and I don't see >>>>>> the terms "lvalue" and "rvalue" in a quick look. The PDFs are >>>>>> not searchable. If someone has better information, please post >>>>>> it. Wikipedia does say that the notion of "l-values" and >>>>>> "r-values" was introduced by CPL. >>>>> >>>>> I presume, since I mentioned the concepts coming from CPL, you are >>>>> referring to specifically the short-form terms l- and r-values? >>>>> >>>>> I can't help with those specific terms as the document I have uses >>>>> a mixture of terms like "the LH value of...", "left-hand >>>>> expressions" and "evaluated in LH mode". >>>> >>>> The documents I have are unsearchable PDFs; they appear to be >>>> scans of paper documents. >>>> >>>> https://comjnl.oxfordjournals.org/content/6/2/134.full.pdf >>>> https://www.ancientgeek.org.uk/CPL/CPL_Elementary_Programming_Manual.pdf >>>> >>>> Do you have friendlier documents? >>> >>> The earliest that is searchable has this title page: >>> >>> UNIVERSITY OF LONDON INSTITUTE OF COMPUTER SCIENCE >>> ************************************************* >>> THE UNIVERSITY MATHEMATICAL LABORATORY, CAMBRIDGE >>> ************************************************* >>> CPL ELEMENTARY PROGRAMMING MANUAL >>> Edition I (London) >>> >>> This document, written by the late John Buxton, was preserved by >>> Bill Williams, formerly of London University?s Atlas support team. >>> Bill has generously made it available to Dik Leatherdale who has >>> OCRed and otherwise transcribed it for the Web. All errors should >>> be reported to dik@leatherdale.net. The original appearance is >>> respected as far as possible, but program text and narrative are >>> distinguished by the use of different fonts. Transcriber's >>> additions and 'corrections' are in red, hyperlinks in underlined >>> purple. A contents list and a selection of references have been >>> added inside the back cover. >>> >>> March 1965 >>> >>> I don't know where I got it from. The other searchable one is just >>> a PDF is the oft-cited paper "The main features of CPL" by Barron >>> et. al. >> >> My understanding is the terms l-value and r-value, along with >> several other terms widely used in relation to programming >> languages, became widely used following a summer(?) course taught >> by Christopher Strachey. Some of the other terms are referential >> transparency and parametric polymorphism, IIRC. > > The earlier ('65 and '66) writings about CPL that I've seen all use the > longer terms, and those lectures certainly use the short forms, so it > seems clear this is when they came about and, since he is the sole > author of the notes (unlike all the CPL documents that are groups > efforts), it's also likely he invented the terms. Not sure if the 'this' refers to the 1965/66 writings or the later course. In any case my comment was only about when the terms became widely used, not when they were invented or first described. >> https://en.wikipedia.org/wiki/Fundamental_Concepts_in_Programming_Languages >> >> I believe it is possible to track down the notes from that course, >> if a diligent web search is employed. I remember reading a copy >> some years ago after finding one on the internet. > > I suspect there is no copyright-free PDF as the notes were published by > an academic press. I remember finding a copy on the net somewhere perhaps 10 years ago (no claim that the number 10 is accurate!). If I had to bet I would bet it was a PDF, but of course I'm not sure of that. Also of course I don't know if the copy I found infringed any copyrights. > None the less well worth a read, even nearly 60 years later. Is it a > shame that that is the case? What I might call the mainstream programming language community has largely ignored the ideas that have come out of the declarative and functional programming languages and the experience of those who developed them. I consider the continuing relevance of the Strachey notes to be a symptom of that larger shortcoming.