Elektrine lite

← Feed

@mei@donotsta.re

Post #1832036

2025-06-01 01:43 UTC

there are, predominantly, three types of software: - software written by people who do not take pride in their work, due to which the software is full of bugs - software written by people who do take pride in their work, and have thusly burnt out, due to which the software is full of unfinished and/or missing features - software written by people who are paid big money by investors, due to which the software is full of dark patterns and antifeatures the art of using a computer involves learning to identify which of the above types a given piece of software belongs to, and choosing the software you use based on this tradeoff.

Replies (14)

  • @whitequark@mastodon.social 2025-06-01 01:50

    @mei which gender am i

    Open ##1832283

  • @dalias@hachyderm.io 2025-06-01 02:01

    @mei The cheat code to class 2 is well-defined scope and saying no.

    Open ##1832286

  • @moz@fosstodon.org 2025-06-01 02:06

    @mei - software lovingly maintained by someone who cares a lot and carefully manages every part of the process, until inevitably it grows too complex for them to understand at which point it becomes a bug magnet. The latter is why all software inevitably needs to be completely rewritten once the requirements become unrecognisable when compared to the original design document.

    Open ##1832288

  • @stepheneb@ruby.social 2025-06-01 02:37

    @mei I think this is another category — and probably quite unusual. “Sometimes the critical constraining resource is what you can and can’t imagine.” I wanted to change what people could imagine is possible. https://learnmaketeachshare.org/creating%20with%20software/2018/09/15/imagining-what-could-be.html

    Open ##1832289

  • @Zugschlus@zug.network 2025-06-01 05:11

    @mei Corollary: It there is a product management, those people are the user's enemy.

    Open ##1832293

  • @blathoud@infosec.exchange 2025-06-01 08:08

    @mei We may see the emergence of a fourth type : AI written software, which is an "optimised" combination of the three first types ;-)

    Open ##1832299

  • @appagalcrochet@mstdn.social 2025-06-01 08:32

    @mei My husband has been writing code for almost 35 years. He says that very good software developers... are "perfectly lazy." In other words, they write code that is easily read, properly formatted, easy to add new, can be read not only by the writer with ease but anyone checking the code and who want to make it easy for them and others to use it instead of constantly having to add/remove. Trouble is... most people are sloppy lazy and do not care if it is something that becomes a foundation.

    Open ##1832300

  • @sibrosan@mastodon.social 2025-06-01 09:19

    @mei I would characterize a lot of software that I regularly use, as *not* full of bugs, *not* full of unfinished and missing features, and *not* full of dark patterns and antifeatures. That is not saying it's perfect, but it's very well suitable for the purpose. Naming but a few: Linux, LibreOffice, Signal, Firefox, GIMP, KiCAD, gcc.

    Open ##1832301

  • @jasongorman@mastodon.cloud 2025-06-01 12:31

    @mei And then there's the software written by developers who've figured out that it takes less time deliver features with fewer bugs.

    Open ##1832302

  • @wolf480pl@mstdn.io 2025-06-01 12:48

    @mei which type is Postgres?

    Open ##1832303

  • @notplants@sunbeam.city 2025-06-01 16:21

    @mei part of my interest in permacomputing is based on a similar starting point, but with the additional speculation of a fourth new category of software: - software which is simple by design, written by people who do take pride in their work, which has neither bugs nor missing features (but is intentionally focused in scope)

    Open ##1832305

  • @tml@urbanists.social 2025-06-01 20:57

    @mei Where does TeX fall in this classification?

    Open ##1832308

  • #2@mei@donotsta.re @x0

    Open ##1832310

  • @camerageek@fosstodon.org 2025-06-02 22:18

    @mei I realized I'm a type 2 when I decided to completely refactor a growing code base that ran in an embedded environment because it was getting difficult to maintain (despite the fact that there were very few reported bugs). One guess if I ever completed this before retiring the product...

    Open ##1832319