21 ms·
Software development: should we stop? Maybe we should
- kissgyorgy 6y agoWe don't need Facebook, Instagram or stupid apps which make you bunny ears, but we need a hellofa lot more which solves real problems for real people.
- programbreeding 6y agoI found this post to be incredibly confusing and thought provoking at the same time. I wanted to say it doesn't belong on the front page of HN (and that it kind of feels like it was written by a person losing their mind), but the more I read the more I thought. I don't have anything to add, I'm really just curious to see comments from others.
- j-boivie 6y agoI liked it, I found it thought provoking as well and I enjoyed the format, the “collage-y” presentation worked well with the subject matter. To me it presents as disillusionment or polemic rather than somebody losing their mind. Glad I found it on here
- programbreeding 6y ago>To me it presents as disillusionment or polemic rather than somebody losing their mind. You're very right, that's a better way to phrase it. >Glad I found it on here I completely agree. I feel like it could be a great catalyst to a lot of good conversation which is why I was ultimately glad it was on here and that I read it, even though at first I found it strange. It made me feel a way that I can't exactly explain or put it in to words; and I consider that to be a good thing.
- brtkdotse 6y agoThis was marvelous. I really wish I could wield words like this person.
- preordained 6y agoI've felt this way for a while, that we're just spinning our wheels. UIs/lipstick gets prettier, but there is little out there we couldn't of had 10-20 years ago. Ergonomics of software development have made great strides in some ways, terrible regressions in others. There isn't much of substance to discuss. We probably don't enter the "new world" until quantum becomes ubiquitous or some other massive breakthrough.
- pavel_lishin 6y agoI don't know if I agree. I think in a lot of ways, UI ebbs and flows; a lot of modern UI feels pretty terrible and non-intuitive, and re-designed for the sake of being re-designed. And at the same time, writing software is tremendously easier than 20, or even 10 years ago. But maybe that's an ebb-and-flow issue as well. I tried adding React to an existing project last week, and was completely unable to. Everything broke. I'm debating which is the less-bad option - create a new repo, starting with React and gluing everything else around it, or moving just-the-react parts into a repo of their own. I'm tired of trying to figure out how to glue disparate, opinionated things together. I'm missing the Unix philosophy the author is talking about.
- npsimons 6y ago> I think in a lot of ways, UI ebbs and flows; a lot of modern UI feels pretty terrible and non-intuitive, and re-designed for the sake of being re-designed. I think we're still figuring out UIs. As someone who sucks at them myself, I often wonder where are the modern Bruce Tognazzini's. I'm still reminded of a point on UI design he made that the corners of the desktop in a WIMP are special because they are infinitely large targets - you just fling the mouse pointer there and hit them. This point was of particular interest to me as an early Linux desktop (FVWM) user with virtual desktops (3x3) that you could configure to flip between when the mouse got near the edge, so it broke the infinite corners convention. I'd like to find people who are thinking about UI's as deeply as the AskTog articles used to.
- PaulDavisThe1st 6y agoTo me this is just utterly ridiculous. In the field that I work in (audio software) there are dozens of things that we can do in software now that were unimagined even in 1990. Polyphonic note editing? Utterly transparent time stretching? Even just the ability to do huge amounts of serious DSP on generic CPUs has completely altered the entire landscape of music production (and the software that is used to do it). The same is true of so many other fields. What hasn't changed much is the sort of software that is concerned with entering, editing and generating reports on data. The business/consumer focused versions of this stuff have changed from being built with tools provided by Oracle in the 1980s to using various web stacks, but the basic model - data input, fetch some data and present in a GUI - remains unchanged. And perhaps that's because the task hasn't really changed much, and what we have is actually fairly good at doing it. But switch over to other areas where data-driven applications are important - many scientific disciplines for example - and even there you will find huge expansions in what is possible, particularly in terms of visualization (or auralization) as a way to help humans explore data. And FFS, Google freakin' maps! Yes, something like it existed 10 years ago, but have you actually used it while driving recently! It's not bringing about world peace or solving hunger, but good grief, that is an absolute marvel of the composition of so many different areas of CS and software engineering into one incredibly user-friendly tool that I don't even know what to say other than "use the 2nd lane from the right and then turn left at the light".
- sangli 6y agoI completely agree with this. However, I also feel that there is something out there that I don't even know about, but somehow I need it.
- turnsout 6y agoThe overall point is that utopian ideals in computer science simply haven't worked out. Spoiler: all utopias fail. Underlying that is something more interesting. Technologists keep trying to create a cooperative environment where data is freely shared—Unix, OOP, Semantic Web. However, it never sticks. The reason is that the economic imperative drives competition, not cooperation. Ultimately this is a byproduct of capitalism, not computer science. Software works as well as our society does, which, you know... it's complicated.
- acqq 6y agoAs I was a child I really believed that there's a technological solution for everything. I don't agree with that anymore. At least now there's a book that writes about the state of the world as I see it now: https://www.penguinrandomhouse.com/books/575671/the-story-of-more-by-hope-jahren/ https://www.penguinrandomhouse.com/books/575671/the-story-of...
- mrspeaker 6y agoBeautiful, and funny, and beautiful. I wish to subscribe to your newsletter, but there is no RSS feed. Can you write some more software for that?
- pedro1976 6y agoYou can use this feed [0] which is automatically generated from the markup using rss-proxy [1]. Disclaimer: I the developer of rss-proxy. [0] https://rssproxy.migor.org/api/feed?url=http%3A%2F%2Fblog.spencermounta.in%2F&rule=best&output=ATOM https://rssproxy.migor.org/api/feed?url=http%3A%2F%2Fblog.sp... [1] https://github.com/damoeb/rss-proxy/ https://github.com/damoeb/rss-proxy/
- Jayschwa 6y agoHeh, I somewhat felt this way yesterday. Two co-workers and I (all programmers) spent half an hour trying to get a video chat to work. By the end, I think we all felt a little embarrassed by our profession. (To be fair, Zoom works pretty well most days. Yesterday just had gremlins I guess.)
- saalweachter 6y agoI decided the other day [the abstract recent past other day, not yesterday like you] that what I really want is about ten years. What I really want is for my computing devices not to change for about ten years at a time. I don't want to have to upgrade the hardware, I want it to be repairable with replacement parts available, I don't want to have to upgrade the OS to a new major version that moves all of my widgets around for about ten years. I don't want to use beta software that slowly mutates until it mostly works or is abruptly discontinued, I want to install a suite of finished software that continues to work the same way with only imperceptible security fixes for ten years, so that I don't constantly have to be adjusting my workflow as individual portions are obliviated. And then, when that ten years is up and I need to upgrade, I want the changes to be actual upgrades stemming from fixing design mistakes and removing pain points and doing things that not only weren't possible ten years ago, but which are also desirable and not merely novel.
- JoeAltmaier 6y agoIf we model it after cars, then there's a large population of people like you (us). But there's also a large group who trades their car in every year or two for the 'new model'. And they revel in the widgets moving around and the color scheme changing. So maybe we need a Studebaker for computers.
- whatshisface 6y agoThe wish behind your wish is perfect engineers - the only way to achieve what you're describing is to have engineers and designers so good that they converge on a perfect, bug-free system on the first try. What we have in real life is developers of sometimes high but always finite intelligence and sometimes high but limited foresight.
- bgun 6y agoThis is a form of poetry that I would like to see more of.
- x87678r 6y ago> At Google in 2001, frustrated with a lack of progress, Larry Page fired all the managers in the entire company. on one day. with no warning. Did this really happen? I hadn't heard of it before.
- EamonnMR 6y agoAccording to this article all of the Project Managers where fired: http://www.slate.com/blogs/business_insider/2014/04/25/google_s_larry_page_the_co_founder_s_untold_story.html http://www.slate.com/blogs/business_insider/2014/04/25/googl...
- x87678r 6y agoThanks, that is a good link. Reading on it seems they weren't fired after all.
- programbreeding 6y agoThat article (and others) say it's because "Google hired only the most talented engineers, he thought that extra layer of supervision was not just unnecessary but also an impediment. He also suspected that Google’s project managers were steering engineers away from working on projects that were personally important to him. For example, Page had outlined a plan to scan all the world’s books and make them searchable online, but somehow no one was working on it. Page blamed the project managers."
- TheKarateKid 6y agoSadly, it sounds like the exact same thing needs to happen at Google again. History is repeating itself.
- mmm_grayons 6y agoWow, what an awful manager. That's the business equivalent of flipping over the gameboard because one is losing.
- EamonnMR 6y agoI like the recommendation at the end for Life In Code by Ellen Ullman. Definitely read it; it's very good and says a lot of things that need to be heard.
- whatshisface 6y ago>The 2nd dream for software was object orientation. It’s hard to describe how strong and confident this idea was. by using classes, codebases become collaborative and useful to one another - The perverse, dark-magic idioms of unix disappear in OOP best-practice. The decline of java may be the saddest story in computer science. It was just before my time. Java is far from the only object-oriented language. Does the author suggest that C# and Python are of only historical significance? It's unsubstantiated to associate the decline (?) of Java with the decline (?) of object oriented programming, and even moreso to associate either of them with the implied decline (?) of composability, which can be achieved in many ways other than object orientation. For example, Go and Rust do not implement OOP in the same way as Java, but many people think their modifications improve composability, far from contributing to its decline. What we have in the quote are three dubious facts (it's not clear how much of a decline any of those have undergone), associated through nonexistent connections (they are not related).
- StillBored 6y agoConsidering mainstream languages, I find java unique in forcing OOP into places it doesn't really belong. You can see this in your first "hello world" application where the entry point ends up getting wrapped in a class definition. Something that makes zero sense, and does little but obfuscate. I tend to like a bit of OOP here and there, but the little java programming i've done, it always feels like I was forced into pounding the square peg into a round hole. https://www.programiz.com/java-programming/hello-world https://www.programiz.com/java-programming/hello-world Compared with say, C++ where you can write entire programs that never declare a single class. Its the same thing with purely functional languages, in any significantly large program you reach the point where your solving problems using the wrong paradigm because the language is too dogmatic.
- Nursie 6y agoHaving an entry point in a class lets you have per-class entry points, so you can choose what to run, if that appeals to you. Java likes its objects, but in modern java there's enough in the way of lambdas etc that most of the weird "this must be a class" stuff is removed, or at least hidden. And the java community are far less dogmatic about it these days.
- ericjang 6y agoThis poem is dismissive of the progress humanity has made in computing and information technology. Tools like Pandas and Arduino and computer graphics were not mature in 1970s, and in order for data science, hobbyist electronics, or modern filmmaking to get where it is today, it was built on a massive ecosystem of CRUD and poorly designed abstractions like OOP. But it is still an enjoyable read, and contains kernels of truth - we have abandoned the unix philosophy and created bloated, poorly engineered software. I think the comparison to music and hair cutting is very apt - the mark of a skilled engineer is knowing how to limit scope and ambition so that value can be delivered quickly and elegantly. We all roll our eyes at the next baby sitter app, but at the end of the day we probably use some app to find a baby sitter - whether it be Google Search or Yelp. In a biological ecosystem, all things that can be, will be.
- pydry 6y agoThe UNIX philosophy has never been followed very assiduously. The 1970s bloated crap just didn't survive until today while ls did.
- simonh 6y agoYep, I'm not sure how small single purpose utilities passing text between them are supposed to implement a GUI framework, or Kerbal Space Program. Many of the applications we're creating nowadays are solving gnarly, poorly understood problems.
- nindalf 6y agoIt’s just longing and nostalgia for a bygone era. Oh, how perfect software was when the sages of yore imparted them to us. But we turned away from their wisdom and left the Garden of Eden. I think we have it pretty good. We continue to build and the stuff that isn’t good, gets rebuilt. That’s fine. What’s important is that we have the means to build good, lasting software if we choose to prioritise it. We have languages and tools that the ancients did not have.
- jes5199 6y agothe successor to UNIX wouldn’t have to be text. like, imagine a VR world with a lot of different tools that can operate on VR objects. Then ask yourself why desktop and phone UIs are little walled-off boxes that can’t interact with anything shared except saved files. but well, KSP is a game, and a GUI framework wouldn’t exist in that paradigm, so I’m not sure if I know what you’re getting at.
- alexashka 6y agoPoetry is great, it vividly expresses how one feels, often about nature. This is ideology - it has a distinct stink to it, an agenda, a point of view that wants other people to be other than they are. Most people think this way - they just happen to have a happier disposition. Most people 'feel' a certain way and get taught a certain ideology (in school, media, friends, parents) which then shapes their worldview. Instead of questioning the world view they already have, they simply live in it and project wrongdoing and rightdoing (morality) onto others and the world. It's like being taught to walk barefoot, pricking your foot and deciding small prickly objects need to be gotten rid of. It never occurs to them to wear shoes.
- xikrib 6y agoenter ... the human condition
- pjc50 6y agoThe problem with software is that it's a pedantic genie: it gives us exactly what we ask for. That means that every little internal or external conflict or uncertainty gets reified and becomes extremely visible. We see this in "enterprise" software where the warts are incoherencies of process or refusal of departments to communicate. And we see this in the "gig economy"; Coase's Theory of the firm posited that companies form because the transaction and coordination costs of doing everything as atomised workers purchasing services would be too high, but what if there was an app for that? Boom! The firm disintegrates, leaving us with the taxi company with no taxis and the hotel company with no hotels. Software asks us a terrifying, disconcerting question: what exactly do you want?
- BurningFrog 6y agoI will always upvote a Coase reference.
- croes 6y agoEven if you could exactly tell what you want, there are always hardware bugs that could kill your software. Software is like the psyche of the maschine but it always depends on it's physis.
- tharne 6y agoThe gig economy doesn't disintegrate the firm. It just consolidates lots of smaller firms into a few gigantic ones. We just call them "platforms".
- bullen 6y agoWe should reinvent the wheel, but not reimplement the wheel which is what most people mean when they say "reinvent the wheel".
- PaulDavisThe1st 6y ago> The promise of a computer is to reveal truth, through a seamless flow of information. Funny. I thought that the promise of a computer was to do a bunch of stuff that computers are good at but that humans are not. I thought that the promise of a computer was to help make certain tasks easier and/or faster. No idea what any of that had to do with truth.
- jes5199 6y agounclear to me whether we meet even your low standard
- PAPPPmAc 6y agoThinking about the state of the software world in the last several years always makes me think of Vernor Vinge's notion of a "Mature Programming Environment" from _A Deepness in the Sky_ (1999), "The word for all this is ‘mature programming environment.’ Basically, when hardware performance has been pushed to its final limit, and programmers have had several centuries to code, you reach a point where there is far more significant code than can be rationalized. The best you can do is understand the overall layering, and know how to search for the oddball tool that may come in handy" (Longer excerpt with an earlier bit about rewriting things always eventually just moving around the set of bugs, inconsistencies, and limitations rather than improving them here: http://akkartik.name/post/deepness http://akkartik.name/post/deepness ) And and Danny Hillis' idea about the Entanglement ( excerpt from a 2012 interview with SciAm) - "But what's happened though, and I don't think most people realize this has happened yet, is that our technology has actually now gotten so complicated that we actually no longer do understand it in that same way. So the way that we understand our technology, the most complicated pieces of technology like the Internet for example, are almost like we understand nature; which is that we understand pieces of them, we understand some basic principles according to which they operate, in which they operate. We don't really understand in detail their emerging behaviors. And so it's perfectly capable for the Internet to do something that nobody in the world can figure out why it did it and how it did it; it happens all the time actually. We don't bother to and but many things we might not be able to." (more: https://www.scientificamerican.com/podcast/episode/the-coming-entanglement-bill-joy-an-12-02-15/ https://www.scientificamerican.com/podcast/episode/the-comin...)
- cbozeman 6y agoYou've written almost exactly what I was going to write, but there's a few things I wanted to add / would have said. The author seems to be treating software almost as if it were some "thing" outside of human control and development. By this, I mean he waxes philosophical about software development as though it were some divine practice handed down by the angels themselves - not what it actually is, which is a crude implementation and abstraction of the Universe's actual programming language - subatomic particles. We have the software we have because we as humans are so limited in our thinking and scope, and because every human has slight variations on their idea of the "ideal", whatever that ideal might be. If that was not the case, how could we have 50+ programming languages, when the very purpose of a programming language is to express your ideas into a somewhat tangible (insofar as one can claim the electronic written word to be tangible) form that can then be communicated to others. Maybe now, I'm the one waxing philosophical, but my background is that of an evolutionary biologist; I was not formally trained in software or computer engineering, but it seems to be the "point" of every programming language is to express ideas and the point of every piece of software is to create a tool. Humanity and our ancestors have been doing this for millions of years, so why would we be expected to stop now??
- antibland 6y ago> ...we’ve built programs that just dont talk to each other at all. This really struck me, the idea that perhaps software mirrors the human experience. In the US, we've traded tribalism for individualism, open discussion for echo chambers, and the exchange of beliefs for the walled garden of one's personal vision.
- hashtagmarkup 6y agoIt struck me too... but as completely wrong. A large majority of my work is in APIs, both as a consumer and provider; between local processes, local networks, and the global internet. Every program I build talks to other programs... a lot. If there is any problem at all, it's not that programs don't talk to each other; it's that they talk 1 of 1,000 different standards.
- gmueckl 6y agoAnd yet, we have companies building their value based on giant, secret hoards of information hidden away in their lairs, offering mere glimpses of treasures (or horrors) within through their APIs. Just try to imagine what would happen if the entirety of Facebook's or Google's user were dumped somewhere for everybody to rifle through... The only saving grace here seems to be that the amounts of data are so huge that copying it all takes an unreasonable amount of resources.
- hashtagmarkup 6y agoThis doesn't really have anything to do with Google and Facebook. Did you read the article?
- gmueckl 6y agoTo quote from.the article: > Information has not become more seamless. My comment is a reflection on this.
- 6y ago
- danielovichdk 6y agoNot matter what. We're not going to stop. That's way too late.
- headmelted 6y agoI think about this often. It’s exceedingly rare that I’ll come across some solution to a problem that is the best of all available options. That’s generally fine in everyday life. You don’t need to be the best carpenter in the world, just the one that offers the best service at a fair price in your area. I don’t think we’ve really absorbed the fact that with software development, average solutions to problems have no justifiable reason to exist other than market inefficiency. A lot of ad hoc software I see that has had hundreds of thousands of pounds invested in it is ultimately a buggy, feature-depleted version of SquareSpace. And yet massive sums of money continue to be spent on un-necessary greenfield projects to reinvent one wheel or another. The UK government recently wasted unspeakable sums of money “developing” a track-and-trace app. The quotes are because it’s not clear what needed to be developed when essentially the track-and-trace API’s from Apple and Google boil down to slapping your local health service’s splash screen over the template and not much else. I do sort of suspect that over time, as search has become synonymous with Google and internet video has become synonymous with YouTube, that we’ll end up with a one-solution-to-supplant-them-all for almost every common use case. We’re not there yet, but we’re not far off either I’d wager. There are pros-and-cons to this. Microsoft had cornered the market on what people at the time perceived to be the most essential software in the 80’s and 90’s and those products are significantly less consequential today. Maybe we’ll operate in cycles of centralisation and decentralisation like we have with information networks. Eventually we’ll all just be replaced by AI anyway, so maybe it doesn’t even matter.
- javajosh 6y agoEverything is supposed to decay. But software is effectively immortal, and that's the root of this problem. We need to introduce decay into software systems, or we end up with zombies that are too useful to let die. We should allow software to die. It's okay. Whenever a generation feels like they can't lose the artifacts of the previous generation, civilization is in decline. Which is okay too, except when technology protects those artifacts too well, which I believe usually hastens the end.
- javajosh 6y ago*The exception, of course, is Google Reader.
- craftinator 6y agoOh good, your comment just made me laugh milk out my nose. Bravo sir, and thank you for that excellent gem!
- 0xffff2 6y agoI'm not sure I understand this comment. Could you give some examples of "zombies that are too useful to let die" right now?
- deleted 6y ago[deleted]
- theshrike79 6y agoThere are tons of programs related to moving money from one place to another, all written in COBOL or Fortran at the time when men wore hats and smoked indoors. First they were kept alive by cobbling together new hardware to keep the old monster running. Then they were moved to virtualized environments that emulated the original hardware with all its weirdnesses and glitch. These are the zombies we're talking about. The useful living dead. We feed them their pound of flesh every now and again in the form of coders who can still speak the ancient incantations, but otherwise we keep them in the basement toiling away. We don't touch them because we are too afraid. No one dares to take the responsibility of rewriting all that code that still works, no matter the cost.
- thih9 6y ago> music was around forever but in the 16th century, if you made music, you made it for god, or the king What about minstrel ballads or festival music?
- richardwhiuk 6y agoThe level of rose tinted spectacles on this is nausea inducing.
- m463 6y agomy browser wasn't loading this web page and it says: <script id="reload" src="http://localhost:35729/livereload.js?snipver=1" ></script>
- dasil003 6y ago> The promise of a computer is to reveal truth, through a seamless flow of information. [...] Information has not become more seamless. I disagree pretty strongly here. When I got my first computer as a kid, OSes outside of POSIX were silos, you literally couldn't read a Mac disk on DOS or vice versa. We've made huge strides in terms of a heterogeneous internet that supports all manner of data exchange unimaginable in decades past. Now, is it seamless? No, but with orders of magnitude more programmers and more code, the edges of the interaction graph also have exploded; of course there will be more seams. The lesson isn't that we screwed up and somehow need to wrangle the complexity. To the contrary, successful ecosystems require diversity. We do not need an omniscient benevolent dictator to show us the way, rather we need to embrace the chaos and carve out smaller spaces for elegant systems within the jungle. It's a tricky balance because economies of scale are valuable, and capitalist incentives push businesses towards consolidation, but a single hulking Tower of Babel, no matter how high, is still a local maximum and structurally vulnerable.
- nickthemagicman 6y agoIt's clearly a rhetorical question being asked meant to stimulate our thoughts about the state of modern software. I've often thought software has become a fetish instead of a tool. I worked at a place where I was scolded for things like indentation formatting issues and the product we were working on made 1M a year maybe. Then I went on to work for a place that had a steaming pile of PHP code that probably made the company 20 million dollars or more. It was an eye opening philosophy changing learning experience for me. It wasn't the software that mattered.. it was the solution to the problem...the software fetishists were hung up on the pedantry of the software while these people out here are writing anything that works and solving problems and making money and not giving a shit if the software looks pretty or has the latest language or framework. Also, being in devops where you blend systems with development and you offload as much as possible to the SYSTEM instead of trying to emulate the system in software. I think one of the best trends of software is it's evolution as glue between already written systems that we're seeing in cloud. The writing is really beautiful. If the author is on this thread very nice work.
- akkartik 6y agoLately I've been finding an analogy with food production quite useful. It's possible we have enough restaurant-style software and we should stop (but we never will, because restaurant-style software production rots if it stands still). However, we have almost zero home-cooked software production. Perhaps we should do more of that. It's challenging, because we got the restaurants first, and we didn't have millennia of home-cooked tradition built up before the restaurants arrived. And we've all only trained in restaurant software, and our instincts don't always carry over to home-cooked software. Creating a culture of home-cooked software must happen in the margins, without capital, because capital by nature goes to restaurants. It's challenging, but it seems worth trying. (This comment has been percolating over the course of many conversations in the Future of Coding forum: https://futureofcoding.org/community https://futureofcoding.org/community)
- quicklyfrozen 6y agoWe started down a road with more home cooking through things like Visual Basic. I remember seeing lots of useful things built by non-professionals during the era of VB 6, but it seems like nothing in the web era has filled that void.
- Jtsummers 6y agoPython, though predominantly by technical non-programmer professionals. And it doesn't have quite the same RAD aspect with making GUIs that VB6 offered. I saw a lot of non-technical professionals using VB6 to make quick applications to solve their problem. The code would make you cry, but it worked. And it wasn't web-based nonsense that's hosted on someone else's server for a monthly cost. They actually owned the results. That's a big difference versus what companies would offer today. TCL/TK was great for making quick GUIs, but I never saw non-technical people use it for that purpose. Still seemed to be non-programmer, but still technical, professionals.
- akkartik 6y agoMany languages seem to give the impression of being home-cooked early on. Ever do factories start small. But it's inevitably a mirage. If we want something that won't grow into something "industrial strength" that needs pip and virtualenv and God knows what else, we have to consciously make some scale-hostile design choices. I've been poking at this problem: https://github.com/akkartik/mu https://github.com/akkartik/mu
- _alex_ 6y agocomplete interoperability didn't happen, so we should stop writing software? what? > Our computer programs are as adhoc and inscrutible as they were in the 70s, and we’re all struggling under them. Objectively untrue. I really don't understand the point of this page/post/thing. it's some serious r/im14andthisisdeep content
- alex_faber 6y agoHappened to read this while listening to "Information Travels Faster" by Death Cab for Cutie; would highly recommend. It adds another layer to this surprisingly cathartic post.
- ChrisMarshallNY 6y agoI enjoy writing software, but I approach it more as an art form, or a craft, than a trade. I love that there are so few limits in "software world." No pesky laws of physics. No enforced values by one or another interest group. Like any craft, it takes years to master, and efficiency comes from doing it so often, that it becomes inculcated. Nowadays, I make massive architectural decisions every day, without writing down a thing, and, here's the "hit": these decisions turn out to be correct, even though they often mean a lot of work (for example, this entire week has been spent re-testing -and fixing- an app I'm working on, in response to an internal refactoring job). It's like a wood carver, encountering an unexpected knot in their material, and having to work around it, or maybe even incorporate it into the design; treating it as a nice surprise and advantage. I enjoy writing software. I think I'm fairly good at it. I'd not want to stop. But the rant reminds me of this old gem: https://www.internetisshit.org https://www.internetisshit.org
- dnautics 6y ago> No pesky laws of physics. While developing on a single host (especially in traditional imperative and object-oriented languages) papers over a lot of fundamental physics. The nonexistence of absolute simultaneity and the derivative concept of data gravity are very much a thing in even the most basic contemporary software systems... The most ubiquitous system to deal with it, is I would say, the "Virtual DOM".
- whatshisface 6y agoWhat's data gravity?
- deleted 6y ago[deleted]
- dnautics 6y agoit's the concept that data are difficult to move and attract the code to it. Generally used, in the large to describe things like AWS S3 attracting AWS to build services on top of it. But I think it's true in the small, too like "frameworks on top of each person's browser data".
- platz 6y agogoth music isn't dead
- coward8675309 6y agoOur company has committed to using Google Cloud Platform. I do not see a lot of need for writing much new infrastructure. Someone needs to create and manage Kubernetes and its ilk, but the people doing this will make up a similar percentage of our society (and tech ecosystem) as people who generate electricity and grow food. Most of what we build amounts to modern shell scripts and crontab entries. The vast majority of what we create is mortar to cement together other people's bricks. This is a great victory. I love programming but I also love getting things done quickly.
- okareaman 6y agoInformation processing and communication is evolving in exciting ways and producing incredible results. Techniques for accomplishing this rise and fall and are ultimately unimportant. Seriously, I think the author needs help for depression.
- jes5199 6y agoI do often feel like we’ve hit diminishing returns for our current paradigms. We employ a stunning number of people to solve minor variations on the same problems, over and over. Our applications are still mostly silos, integrations are expensive, compatibility is always incomplete and idiosyncratic. The number of lines of code grows and grows and grows, but clarity never increases
- npsimons 6y agoDoes anyone else find it incredibly ironic that this website won't load with JavaScript disabled? Perhaps some people should stop writing software, on that I fully agree . . . In seriousness, we don't have this kind of AI yet: https://youtu.be/7Pq-S557XQU https://youtu.be/7Pq-S557XQU Therefore, IMHO, we should not stop writing software on that basis alone. I agree with many points put forth, I really do, but I don't come to the exact same conclusion. I believe we as a society shouldn't stop making software. But I believe there needs to be a better filter. Far, far, far too much shitty, pointless software is out there. The author cites Java as a pinnacle; funny, some people have said similar things about Lisp[0]. Perhaps some people should stop writing software. Just determining who is allowed to write software or what software is allowed to be written is the hard part, and is ripe for abuse. Perhaps this discussion should be centered more on the why a particular piece of software is being written. But then we get into ideology, and even ideologies that are destroying the physical planet are staunchly defended when they are obviously having measurable harm on our information systems. [0] - Greenspun's Tenth Rule of Programming: any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp. Also a quote from many moons back on slashdot: "Lisp was a simple, elegant language that demonstrated that almost any language written after 1961 was unnecessary, except for demonstrations of concepts like Object-Oriented programming that could then be re-implemented into Lisp, and that any code written in older languages could be replaced with something better."
- beirut_bootleg 6y ago> Does anyone else find it incredibly ironic that this website won't load with JavaScript disabled? It also tries to load a live reload script from localhost. > Perhaps some people should stop writing software, on that I fully agree . . . Or rather stop writing blogs like it's software.
- AntiImperialist 6y agoThe horse analogy in the video you linked doesn't consider the fact that while the population of horses is much lower today, the ones that exist today don't all live as slaves. A portion of them live in the wild, some others are pets and some others actually are for "work". He seems to suggest that having billions of wage slaves is somehow better than having fewer happier people.
- deostroll 6y agoI don't think it can stop. I feel this is more like "is this the end of physics/mathematics?" like question. Our generation scientists have to use software to discover stuff...I mean why stop?
- josteink 6y agoI believe that computers today can do way more than they ever occurred back in the 1970s. But yes, things do you not speak well to each other still. I think the single most important distinction from back then too right now, is that back down programs was written to serve the user. These days people no longer use programs, they use online services, and they are designed to make money. That’s a small detail which makes a world of difference.
- madhadron 6y agoThere's a lot of false premises and a lot of things that don't follow in this. > Maybe the most marvellous, utopian idea for software was Unix program design, in the mid-1970s. This is the idea that programs will all talk together via unstructured streams of text. It was a great idea in the 1970's. But we had OLE and COM and CORBA and GNOME and KDE and now PowerShell where you can load .NET assemblies and pass around structured objects in the same process. We've had Cocoa which exposed Smalltalk style control of objects in applications since the 1980's. This isn't a problem of technology. It's a problem of incentives. It's the same incentives that drive programs to try to look different from each other instead of fitting smoothly into a set of user interface guidelines. It requires a producer of software to find it beneficial to them to fit into the ecosystem around them. > The promise of a computer is to reveal truth, through a seamless flow of information. Seamless flow of information requires connecting the underlying semantic domains. Semantic domains rarely exactly match. Humans use enormous amounts of context and negotiation to construct language games in these situations. > music was around forever but in the 16th century, if you made music, you made it for god, or the king. This is empirically false. We have records of dance music, of broadside ballads that were sung in the streets, of the music people played at home. And there were lots of student drinking songs about being young and free. I think the real solution to the author's angst is to go study the field more broadly and get out of whatever ghetto they are living in.
- natpalmer1776 6y agoYour comment was a very interesting read up until that last paragraph. Seems a bit harsh despite your many valid* points. Edit: Made typo on mobile.
- npsimons 6y agoHe's not wrong. Look further down thread, you can find people pointing out examples of domains where there is a dearth of software, and a definite need to keep writing it. All due respect to the expertise shown in articles posted on HN (it's part of the reason I keep coming back), but the Dunning-Kruger effect hits hard. As Einstein put it, "the horizon of many people is a circle with a radius of zero. They call this their point of view."
- ryukafalz 6y ago>we really don't use, share, or make decisions using information today. Don't lose sight of the fact that you're reading this on (and the author posted this through) a computer connected to a global network. That's the only reason it's possible to read this. Disseminating this so widely would have been incredibly difficult (and expensive) not that long ago. Is it perfect? No. But I feel like it's hard to see how far things have come when we're living with it day-to-day.
- the-pigeon 6y agoHuh. I've had the opposite experience of this author. In my 10 years are a software developer we've made amazing strides towards making sense out of the software itself and the data flowing through my systems. Honestly I feel like we'll have a decent base to our craft in another decade or two. The biggest problem I do see in software is that people with no software design experience often drive the most important software design decisions. Primarily companies marketing departments driving their development. It's not necessarily wrong for those types of roles to drive product design but the people in those roles need to learn a lot more about what makes a good product.
- dimitrios1 6y agoMy takeaway as the real lesson here is don't get too caught up in idealism.
- masswerk 6y agoI think, the main takeaway is that computing should be (still) about information. Currently, it's all about media and media use, and the major vendors of operating systems have turned into media houses and/or data transit facilities (regarding their revenue model). And it shows. (Compare Big Sur – this is certainly not an interface that's about information processing.)
- frankzander 6y agoGreat - absolutely great.
- baron816 6y agoCan you imagine a world made better with more software? I can. We should continue.
- sabujp 6y agoyou're going to need software for devices and gadgets that you can't even imagine yet, it's not going anywhere anytime soon
- koonsolo 6y agoAuthor uses all the latest technologies to spread how "software is not working" I'm reading this in my mobile browser, which can also run my game development tool inside of it. So yes, software is working, and yes, new cool software is released all the time (eg deep learning)
- prewett 6y agoThis article reminds me of what I think about houses: modern houses are so cheap, ugly, no architectural sense, poor construction, etc; those old Victorian houses are so nice, robustly constructed, beautiful, attention to ornamentation, etc. But the reality is that there were a lot of lousy Victorian-era houses. And fifty years from now people will look back on the modern houses that survive (because they are good enough quality to last) and wax nostalgic. Also, if he thinks 1970s Unix was the pinnacle of design, he should at least read about Plan 9 before deciding that we should stick with 1970s Unix. And maybe learn Go.
- rbosinger 6y agoI love the strange design of the blog. The design, with the crazy spacing and bullet points makes it kind of fun to read.
- Farbklex 6y agoWe should have stopped making To-Do list apps after Wunderlist.
- stainforth 6y agoI don't see anyone mentioning it but the computer vision vacancy rate project https://www.movesmartly.com/articles/condo-units-sitting-empty-in-toronto https://www.movesmartly.com/articles/condo-units-sitting-emp... is something I wanted to do for a long time. I'm not sure if the author was criticizing it or not, but at least it's bringing attention to something through one avenue of survey.
- troymc 6y agoI thought, these are some interesting thoughts, maybe I will subscribe to their RSS feed. But there doesn't seem to be one. I looked at the source of that web page and apparently all the HTML was generated by JavaScript... Sigh.
- m1117 6y agohttps://www.youtube.com/watch?v=HgzGwKwLmgM https://www.youtube.com/watch?v=HgzGwKwLmgM
- teekert 6y agoI am a starting programmer (5 years now or so) but I don't understand how you can just talk about OOP like "It’s hard to describe how wrong and confident this idea was." without any examples. I am really starting to hate this, is this some kind of religion with a holy book where it is just written "OOP is bad." I'm finding it difficult to take such a piece seriously and over time it pisses me off more and more. I use OOP everyday and sure, there is such at thing as "too much OOP", I have reached that point, but there is also sometimes too little and just a mess of linked functions. I only use Python btw. Ugh, what a horrible negative piece to read for someone who really deeply loves computers.
- xikrib 6y agoI liked this. It can be read as a very timely articulation of the age-old human obsession with platonic ideals. The quest for 'the seamless flow of information' is so much like the quest for true democracy, spiritual enlightenment, immortality, a unified scientific theory, artificial consciousness, transcendence before it... In the end we always re-discover that our noble ambitions don't free us from our mortal and earth-bound bodies, and that makes us feel sad. We're not gods after all, we're monkeys who managed to self-evolve the hair off of our bodies and are, for the present moment, transfixed by programmable glowing rectangles ... Importantly, this failure to be anything more is what reconnects us to ourselves. Albert Camus comes to mind: “I leave Sisyphus at the foot of the mountain. One always finds one's burden again. But Sisyphus teaches the higher fidelity that negates the gods and raises rocks. He too concludes that all is well. This universe henceforth without a master seems to him neither sterile nor futile. Each atom of that stone, each mineral flake of that night-filled mountain, in itself, forms a world. The struggle itself toward the heights is enough to fill a man's heart. One must imagine Sisyphus happy.”
- revskill 6y agoI often laugh at Enterprisey world about how complicated it become. The problem is that, i only need one table to really deliver REAL value to my customer, instead of huge giant monothlic with complicated business logic ! Why ? I don't know. You might don't need "general" or "framework" to deliver real value to your customer. What i (or many) needs is a "framework of design", not code on how to deliver value to customer.
- carapace 6y agohttps://en.wikipedia.org/wiki/Conway%27s_law https://en.wikipedia.org/wiki/Conway%27s_law > Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. — Melvin E. Conway I think what we're seeing is a kind of global instance of Conway's Law.
- bird_monster 6y agoI would like to stop. And by stop I mostly mean, set on a handful of tools and stop mindlessly passing from language to language, framework to framework, cloud provider to cloud provider, trying to find the _perfect_ one. I think it would be better to just pick something, anything really, and become very good at it. In the past decade I've built production apps in C#, Java, Go, Ruby, Javascript, Python, using AWS, Azure, GCP, backed by DynamoDB, Postgres, Snowflake, MySQL. I've used dotnet, Unity, Ruby on Rails, Sinatra, Spring, DropWizard, Gin, Gorilla Mux, Node, React, Express Flask, Django. Probably more. I didn't use any of them long enough to become what I would call an "expert", but I used each of them long enough to dislike various components in favor of other pieces from other languages/frameworks. I kinda just learned that nothing's ever going to be "My" language, like I see for other people all the time. They'll always just be "meh" at best, but I should probably just pick a devil to know, rather than hoping to find magic somewhere.
- mro_name 6y ago1995 Niklaus Wirth came to the conclusion software engineering is moving towards exhaustion. https://people.inf.ethz.ch/wirth/Articles/LeanSoftware.pdf https://people.inf.ethz.ch/wirth/Articles/LeanSoftware.pdf So did Dijkstra in 2000, see EWD1304. What changed since to the better?
- danShumway 6y ago> Information has not become more seamless. > There has never even been a reduction in the number of seams. > It just has not ever happened. This is ridiculous. The world of information today with the Internet is better than it was in the 1970s. It just is, that is an indisputable fact. We have more information at our fingertips than we have ever had in human history, and it's good that we have that information. Finding information has become more seamless. I can go on Reddit right now and get a dozen people to give me detailed breakdowns of what fountain pen to purchase. Last week I got a professional chalk artist to give me recommendations on what chalk brands I should be looking at within 30 minutes of me posting the question. When my parent's computer broke a couple months ago, my Dad went on Youtube and got detailed instructions on how to take it apart and fix it from someone who didn't even speak English. It's not just that people exist who can help you out, there are enough of them online, even if they're nontechnical, that even the most niche topics can often support a community of educators and experts. And that's not even talking about the social effects of being a marginalized individual and having access to other people who are like you, even if you live in a rural repressed area. Growing up alone without the Internet if you're in a hostile environment is awful. Nobody should wish that on anyone. I get that it's trendy right now to hate on the Internet, but the author really needs to get some perspective on this. ---- And on the subject of software being 'done', pick any creative field, anywhere, and ask people working in it if there are any new things they want their computer to do. I can think of 5-10 features purely off of the top of my head that I want added to Krita that would make me a much more productive artist. Does anyone really believe that if you went to a 3D artist and had them look at the state of Blender today that they would say, "all of that is just cruft, it isn't making my life easier." It's absurd. People romanticize the past, but even just going back 15 years, Linux wasn't an ideal paradise. It was hard to do everything. Nobody who wasn't a computer engineer could reliably use the OS. Today, I have children who haven't even gotten out elementary school using Linux as a daily driver, because the OS got better and because software today, for all of its real flaws, is still way better than it used to be. If people want to point at flaws in modern software, I'm down for it, there are plenty. If people want to say that we've regressed in some areas like Unix philosophy, I'm down for that too. I think we have regressed in some ways. But it's just not a coherent argument to say that software has gotten less accessible or that it hasn't made any gains in the past 20 years. Try to retouch a photo in a 20 year-old version of Gimp, and then try to tell me how amazing everything was back then.
- PenisBanana 6y agoPage tries to connect to localhost <script id="reload" src="http://localhost:35729/livereload.js?snipver=1" ></script>
- ellis0n 6y agoI agree, this article looks well.
- psnehanshu 6y agoNothing is ever enough. The article is bullshit.