[HN Gopher] Wisdom from computing's past
___________________________________________________________________
Wisdom from computing's past
Author : LAC-Tech
Score : 34 points
Date : 2023-11-12 02:15 UTC (20 hours ago)
(HTM) web link (lewiscampbell.tech)
(TXT) w3m dump (lewiscampbell.tech)
| k1ns wrote:
| I am curious to learn what concepts we may have lost and not just
| abstracted away. Is the knowledge lost or niche? Is it necessary
| for programming in general or a subset of the practice?
|
| I read the article but didn't see exactly _what_ has been lost.
| Swizec wrote:
| To give an obvious example, it seems every generation re-
| discovers the concepts of encapsulation and abstraction every 5
| years or so. Each generation thinks we're so smart for having
| figured this out and how much easier software development
| becomes when your code has a clear purpose and interface.
| LAC-Tech wrote:
| I maybe could have done a better job of what so captivated me
| watching the 'The Computer Programme' and why that feeling's so
| different today. The idea of ordinary people buying a computer
| and programming it to do useful things was one. Personal
| address books was covered in an episode - that's gone. There
| was the implicit assumption that your machine and your data was
| your own.
|
| As for specific technologies, here's my rough list of what
| we're either starting to forget, had to re-remember recently,
| or have completely forgotten:
|
| - low latency, simple, native UIs that don't require a designer
|
| - operating on data locally first, and not over a network
|
| - information highway instead of doom-scrolling
|
| - message passing (constantly re-discovered, and then forgotten
| because people complain it's not RPC)
|
| - relational and logic programming - I firmly believe this will
| come back one day, but it will be called something else and
| look new.
|
| - static memory allocation. turns out it's still incredibly
| fast to do this.
|
| - software design
| 0xDEAFBEAD wrote:
| >- information highway instead of doom-scrolling
|
| It's really interesting to read about the vision that drove
| Douglas Englebart (inventor of the computer mouse, did the
| "Mother of All Demos" where he introduced a bunch of modern
| computing tech for the first time). Englebart was a hippie
| who envisioned a future where researchers used the tools he
| was creating to collaborate remotely and work to solve
| complex problems. His tagline was "Boosting Our Collective
| IQ"
| User23 wrote:
| > I firmly believe this will come back one day, but it will
| be called something else and look new.
|
| It's called SQL, and it's pretty big and you can get paid a
| lot for being good at it.
| LAC-Tech wrote:
| I meant relational programming in the sense that William E.
| Byrd uses it, as something like a close cousin or a
| different way of looking at logical programming
|
| _miniKanren is being used for research in "relational"
| programming. That is, in writing programs that behave as
| mathematical relations rather than mathematical functions.
| For example, in Scheme the append function can append two
| lists, returning a new list: the function call (append '(a
| b c) '(d e)) returns the list (a b c d e). We can, however,
| also treat append as a three-place relation rather than as
| a two-argument function. The call (appendo '(a b c) '(d e)
| Z) would then associate the logic variable Z with the list
| (a b c d e). Of course things get more interesting when we
| place logic variables in other positions. The call (appendo
| X '(d e) '(a b c d e)) associates X with (a b c), while the
| call (appendo X Y '(a b c d e)) associates X and Y with
| pairs of lists that, when appended, are equal to (a b c d
| e). For example X = (a b) and Y = (c d e) are one such pair
| of values. We can also write (appendo X Y Z), which will
| produce infinitely many triples of lists X, Y, and Z such
| that appending X to Y produces Z._
|
| https://stackoverflow.com/a/28556223
| dartos wrote:
| > low latency, simple, native UIs that don't require a
| designer
|
| This is very much alive for internal tools, but the
| importance of design from a product perspective has proven
| important, which is why you don't see much in products
| anymore.
|
| > information Highway instead of doom-scrolling
|
| Those are just buzzwords, what exactly do you mean by this?
|
| > relational and logic programming
|
| SQL is alive and well, granted newer programmers don't learn
| it as early as they should
|
| > static memory allocation
|
| I'd like to hear more of your thoughts on this as well. We've
| found that this kind of memory allocation is error prone
| especially in multithreaded workloads, which is why it's not
| as popular
|
| > software design
|
| Another buzz term. Software is constantly designed and the
| design of software is constantly discussed. What exactly do
| you mean by this? Who forgot what?
| fungiblecog wrote:
| The idea that the user's time is more valuable than the
| developer's
|
| The idea that the user is not an idiot
| Cacti wrote:
| Both of these are manifestations of the same underlying
| cause: arrogance combined with ignorance.
| TacticalCoder wrote:
| > I read the article but didn't see exactly what has been lost.
|
| TFA contains this: _" The graphical display is the servant of
| information, not the master of it."_ and _" the computer being
| a tool we use to better our lives"_.
|
| I think what has been lost is that instead of a slave (not my
| terminology, it's the one in TFA btw) at your service, the
| computer has become a master and you're the slave. At the mercy
| of a few gigantic corps and states spying your every move and
| turning you into a consumer, instead of a producer.
|
| It's made painfully obvious with the ultimate consumption
| device: the smartphone. Which are mostly used to consume
| pointless, debilitating, content and not to produce anything of
| value.
|
| The computer as a tool still exists though: architects, 3D
| artists, accountants even (yup, they're needed), engineers,
| music creators... These professionals use actual computers,
| typically with gigantic screens, as a tool to help them.
|
| It used to be _only_ that way, for everybody, and that 's
| what's been lost. The masses are mindlessly consuming content
| of exactly zero value on what they believe is a computer ("My
| smartphone is a more powerful computer than the computer of the
| 70s/80/s/90s!").
|
| That's how I interpret it and I take I'm not very far from what
| TFA means.
| LAC-Tech wrote:
| _I think what has been lost is that instead of a slave (not
| my terminology, it 's the one in TFA btw)_
|
| Actually, it is your terminology! I used the word 'servant'
| not 'slave'.
|
| It was a deliberate choice. My commentary was more about how
| our visual presentation now takes centre stage, often at the
| expense of displaying information clearly or usefully. This
| is a mindset shift and not really a technical issue. So
| master/slave didn't fit, as that has more precise technical
| definitions; database replication, disk arrangements, etc.
| Cacti wrote:
| UI frameworks, OO, and databases/SQL get reinvented every 5
| years or so, usually by younger programmers who seem
| particularly ignorant of the lessons learned from decades of
| research and development in these areas.
| linguae wrote:
| There's a documentary that's in post-production named "Message
| Not Understood: Profit and Loss in the Age of Computing" that
| chronicles Xerox PARC's research on graphical user interfaces
| and personal computing and how modern personal computing and
| the Web have deviated from the visions of Xerox PARC
| researchers. I'm highly interested in watching it once it is
| released.
|
| In my opinion, what we've lost from the early days of personal
| computing is a sense of empowering users by giving them tools
| that not only they can use, but they can extend and even
| modify. Sure, today's hardware and software are more capable
| than ever, and these extra capabilities do empower users in the
| sense that their tasks are made easier. But what about the
| ability to shape their environment? All too often software
| these days is locked behind walled gardens and binary code.
| Users generally have to accept their software packages as is.
| If Slack or Zoom or Photoshop changed its interface, too bad;
| you gotta just cope. Even FOSS can be an impenetrable mass of
| hundreds of thousands of lines of C and C++ code that even a
| seasoned software engineer would have to spend a week or two
| studying the codebase before making modifications, a far cry
| from the much simpler AT&T Unix from the late 1970s or the Lisp
| machines of the 1980s.
|
| Even more frustrating than the complexity of modern software is
| the increased commercialization of personal computing. Ads,
| subscriptions, and tracking is everywhere. Data is increasingly
| locked in cloud services that often don't respect users'
| privacy. In short, personal computing back in the 1970s and
| 1980s was about taking power away from mainframes and giving it
| to the people, but it seems that the past two decades have been
| efforts to bring the power back to large corporations who
| dictate the terms of our computing experience.
|
| What can be done about this? I think the FOSS movement has been
| a wonderful start, but there has to be an effort made to make a
| simpler software stack that makes it easier for users to extend
| and modify their tools. I'm also very interested in idea of
| community-driven, non-profit cloud services as alternatives to
| Big Tech. Computing is too important for society to be
| controlled by a tiny handful of corporations.
___________________________________________________________________
(page generated 2023-11-12 23:00 UTC)