[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)