[HN Gopher] What Is the Essence of Computing? (2017) ___________________________________________________________________ What Is the Essence of Computing? (2017) Author : nz Score : 23 points Date : 2022-10-29 13:32 UTC (1 days ago) (HTM) web link (www.erasmatazz.com) (TXT) w3m dump (www.erasmatazz.com) | photochemsyn wrote: | I just came across an apparently famous one-liner for the first | time, which can be paraphrased in this context as: | | "The essence of computing is the separation of Church and state" | | Which is a pun on Alonzo Church's lambda calculus (stateless) and | the notion of stored state (in memory), which I suppose can be | aligned with processes and objects, respectively. | | source: | | https://ebrary.net/65011/computer_science/separation_applica... | jfoutz wrote: | It's really hard for me not to respond with pure snark. But I'm | going to do my best. | | Since the essence of computing is processes, viewing all programs | as processes, it should be really easy to tell if any given | process halts. But, it's not. | | Math has been around for a long long time, but it turns out there | are some really hard problems that took thousands of years to | even discover. It took a long time to decide that no internally | consistent system can prove that it's internally consistent. | | Software, is pretty new. And software got kicked in the teeth | right at its inception _because_ process and data are highly | context sensitive. | | Now, I'd agree, that folks could probably put more thought into | organization of data, and deeper thought about what process | should operate on that data. But it's not like waving your hand | and saying computers are about processing is particularly | helpful. I don't need a machine to translate a program into its | result. It might take more than my lifetime, but I can work it | out with a pencil and paper. | | The hard part is building a process that's worth a damn. The | thing flips back and forth from being an object, a row of bytes | in memory somewhere, to a set of changes over time in a | processor. (this could just as easily be brass gears, or | punchcards in a loom). | | You can choose to look at it however you wish, but it's both. | It's really hard to get right. | tromp wrote: | > Thus, the heart of any computer is a processing machine. That | is the very essence of computing: processing. | | Doesn't that just beg the question though? | | What is the Essence of Processing? | nmaley wrote: | Good point. The essence of processing is the transformation and | combination of signs. Processing a sign is a kind of energy | transformation. The process takes input signs, performs some | kind of energy transformation, and produces a new sign, with | different signification, which may be a better or more useful | signifier for some purpose. Think NAND gates, or neurons. | Example: if it looks like a duck and quacks like. duck, then | it's probably a duck. A neuron summing 'looks like a duck' | signal and 'quacks like a duck' signals is a more reliable | signifier for ducks than either of the inputs. As for signs, | see C S Peirce or Ruth Millikan for a clearer explanation. | TLDR: Signs are relations between objects and processes (Sign, | Signifier and Interpretant) | raydiatian wrote: | So I had originally wanted to mock this article for a number of | reasons: the fact that it doesn't directly answer its own | headline question, the fact that it spends way more time talking | about physics, the fact that it doesn't connect "first principles | thinking" with "the essence of the problem", the fact that the | title is phrased like a Zoolander joke.. | | > Is reality a collection of objects or a system of processes | | But when I read _this_ phrase, something struck with me. I kind | of hate that we're originally taught OBJECT oriented programming, | specifically that the name is "object-oriented". I know that the | 'object' in OOP and object as he is using the phrase above are | not necessarily the same technical definition, nonetheless it | took me far too long to understand that software engineering is | _not_ about the objects: its about the systems. OOP feels like a | an awful misdirect as to where one should direct their time and | attention in writing code. "You told me my code should be object | oriented so I thought real hard about making sure I used | objects!" | | I would far rather have a junior write one flawless function that | DoesTheThing(tm) rather than a fleet of mis-organized objects | that scatter the idea incorrectly. Why? Because | DoesTheThingScript() can be more readily and easily refactored | than ObjectOrientedMess(tm). | rektide wrote: | Gilbert Simondon talks about change & individuation, with a | term "allagmatic" or latter I think Yuk Hui re-dedubbed | cosmotechnics. The are some lovely reflections on a similar | duality, between systems and objects: Simondon reflects that | reality is comprised of, depending on point of view, either | structures (objects) undergoing operations to become new | structures (s-o-s) or operations yielding new structures which | in turn shift the system into new operations (o-s-o). | | In terms of code organization, i do think there's certainly a | clarity to DoesTheThing. But as we evolve & change & begin to | do different things, or as we have different ideas, there's | more allure to shifting power from the script into the entities | being scripted, to encompassing more capability & | responsibility in the objects. Alas we often bungle up & | confuse our object systems quickly- when we make bad picks in a | bigger system, they stay with us, where as DoesTheThing will | more than likely be replaced or become a cog in some other | bigger script; it's faults & limitations stand less chance of | becoming visible. | ducktective wrote: | >Alan Kay has famously described Lisp as the "Maxwell's equations | of software". He describes the revelation he experienced when, as | a graduate student, he was studying the LISP 1.5 Programmer's | Manual and realized that "the half page of code on the bottom of | page 13... was Lisp in itself. These were "Maxwell's Equations of | Software!" This is the whole world of programming in a few lines | that I can put my hand over." | | https://michaelnielsen.org/ddi/lisp-as-the-maxwells-equation... | tromp wrote: | A much more concise Maxwell's Equation of Software is the | Binary Lambda Calculus self-interpreter | (l11)(lll1(llll3(l5(3(l2(3(ll3(l1 2 3)))(4(l4(l3 1(2 | 1))))))(1(2(l1 2))(l4(l4(l2(1 4)))5))))(3 3)2)(l1((l1 1)(l1 | 1))) | | as detailed in | https://tromp.github.io/cl/Binary_lambda_calculus.html#Lambd... | nonrandomstring wrote: | In words; state in flux ___________________________________________________________________ (page generated 2022-10-30 23:00 UTC)