73
submitted 1 month ago* (last edited 1 month ago) by fortnitefinn@sh.itjust.works to c/programming@programming.dev

I'm talking about programs that can't be improved no matter what. They do exactly what they're supposed to and will never be changed.

It'll probably have to be something small, like cd or pwd, but does such a program exist?

top 50 comments
sorted by: hot top controversial new old
[-] portifornia@piefed.social 92 points 1 month ago

Honestly, it all starts going to shite after "hello world."

[-] homoludens@feddit.org 15 points 1 month ago

Shouldn't it be "Hello world."?

[-] SorteKanin@feddit.dk 22 points 1 month ago

No. "Hello, world!" or you're doing it wrong.

load more comments (2 replies)
[-] Onomatopoeia@lemmy.cafe 5 points 1 month ago
load more comments (1 replies)
[-] cecilkorik@lemmy.ca 47 points 1 month ago
[-] dgriffith@aussie.zone 15 points 1 month ago

It was fault tolerant but I wouldn't say it was perfect. There were plenty of "known issues", and the fix in production was basically, "don't do that".

load more comments (1 replies)
[-] oce@jlai.lu 42 points 1 month ago

You may be interested by this https://en.wikipedia.org/wiki/Formal_verification.

Prominent examples of verified software systems include the CompCert verified C compiler and the seL4 high-assurance operating system kernel.

[-] Onomatopoeia@lemmy.cafe 38 points 1 month ago

Automotive engine control computers.

They just work, for decades and millions of miles.

[-] IanTwenty@piefed.social 28 points 1 month ago

There was a moment in time where maybe it was qmail:

https://en.wikipedia.org/wiki/Qmail

Ten years after the launch of qmail 1.0, and at a time when more than a million of the Internet’s SMTP servers ran either qmail or netqmail, only four known bugs had been found in the qmail 1.0 releases, and no security issues.

More on how it was accomplished:

https://blog.acolyer.org/2018/01/17/some-thoughts-on-security-after-ten-years-of-qmail-1-0/

load more comments (1 replies)
[-] bleistift2@sopuli.xyz 28 points 1 month ago

No; since every user defines the perfect program differently. Which should be the default behaviour(s)?

[-] mindbleach@sh.itjust.works 13 points 1 month ago

You cannot criticize a good knife by asking why it's not a hammer.

[-] bleistift2@sopuli.xyz 9 points 1 month ago

But I can critisize it for having only one sharp edge instead of 2. Or for being too short or too long. Or for having a handle that’s not shaped well for my hand. (That last metaphor is probably the correct one for the sentiment I’m going for.)

load more comments (1 replies)
[-] FishFace@piefed.social 4 points 1 month ago

A hammer is a completely different tool, but different defaults in a single program are not.

Point is there's no objective standard for "perfect"

[-] treadful@lemmy.zip 4 points 1 month ago

Software is always an ongoing conversation.

[-] VitoRobles@lemmy.today 26 points 1 month ago* (last edited 1 month ago)

I wanted to say VLC because to me, it's the gold standard of fully working open-source software that just destroys the commercial competitors.

But it's not perfect only because society changes. New video formats forces VLC and open-source devs to adapt. Bigger video and new tech specs require VLC to update. If it wasn't for all those external needs, VLC would be perfect.

Did I also mentioned the many times rich companies wanted to buy VLC and they laughed?

load more comments (2 replies)
[-] markz@suppo.fi 24 points 1 month ago
[-] markz@suppo.fi 12 points 1 month ago

The dev of left-pad made it perfect by removing it.

[-] lIlIlIlIlIlIl@lemmy.world 24 points 1 month ago
[-] theherk@lemmy.world 5 points 1 month ago

Ha. I still have an open PR on that.

load more comments (1 replies)
[-] kibiz0r@midwest.social 17 points 1 month ago* (last edited 1 month ago)

Is there a perfect building?

Probably not, since they exist in an environment — which is constantly changing — and are used by people — whose needs are constantly changing.

The same is true of software. Yes, programs consist of math which has objective qualities. But in order to execute in the physical world, they have to make certain assumptions which can always be invalidated.

Consider fast inverse sqrt: maybe perfect, for the time, for specific uses, on specific hardware? Probably not perfect for today.

[-] L0rdMathias@sh.itjust.works 15 points 1 month ago

Notepad.exe, pre-windows 11. Now it's something else entirely but still uses the name :(

[-] FizzyOrange@programming.dev 27 points 1 month ago

Nah it was eternally annoying that it didn't support Unix line endings. Also there are clearly a ton of basic features that people want from lightweight text editors.

[-] edfloreshz@lemmy.ml 18 points 1 month ago

Notepad did what it needed to do, but it could be improved in a lot of ways

[-] mindbleach@sh.itjust.works 4 points 1 month ago* (last edited 1 month ago)

Notepad in Windows 7 occasionally did some weird shit.

load more comments (1 replies)
[-] Treczoks@lemmy.world 15 points 1 month ago

TeX. Best documented source, and last bug found was 12 years ago.

[-] fruitcantfly@programming.dev 11 points 1 month ago* (last edited 1 month ago)

The 2021 release of Tex included several bug-fixes, so not quite 12 years:

https://tug.org/texmfbug/tuneup21bugs.html

See also the following list of potential bugs, that may be included in the planned 2029 release of Tex:

https://tug.org/texmfbug/newbug.html

That said, Tex is still an impressive piece of software

load more comments (2 replies)
[-] BodePlotHole@lemmy.world 10 points 1 month ago
[-] jsnfwlr@lemmy.ml 5 points 1 month ago

7zip has had few CVEs and vulnerabilities

[-] Blackmist@feddit.uk 10 points 1 month ago

TeX?

Development is considered to be complete, and the version numbering is just adding a digit of pi. Last change was 5 years ago.

load more comments (1 replies)
[-] FizzyOrange@programming.dev 8 points 1 month ago

Yeah you probably can't do to much more to pwd or yes or whatever (yeah I know about the silly optimisations). I think once you get much beyond that there are always more features you can add. Even for something like cd, people have made fancier versions with fuzzy matching and so on.

[-] irelephant@lemmy.dbzer0.com 8 points 1 month ago
[-] panda_abyss@lemmy.ca 8 points 1 month ago
[-] Bookmeat@lemmy.world 8 points 1 month ago
[-] bleistift2@sopuli.xyz 8 points 1 month ago

Error: Too many unprocessed floats.

[-] eager_eagle@lemmy.world 8 points 1 month ago* (last edited 1 month ago)

ugh, no way. It might do a fine job with typesetting, but the user experience is utterly awful and that's very unlikely to change because of design choices over 40+ years. If you don't think so, give typst a real try.

load more comments (1 replies)
load more comments (2 replies)
[-] thingsiplay@lemmy.ml 8 points 1 month ago

I don't think such thing as perfect software exist, only abandoned software. If the environment changes, then the software needs changes too.

load more comments (3 replies)
[-] mushroommunk@lemmy.today 7 points 1 month ago

I would have said Windows notepad but they screwed the pooch on that one and changed it.

load more comments (4 replies)
[-] Kolanaki@pawb.social 6 points 1 month ago

A program that just prints "Hello World" to the screen and quits.

[-] Kissaki@programming.dev 6 points 1 month ago

…that supports Unicode? Which encodings? Or only ASCII? Unicode continues to change.

I wouldn't be very confident that it won't change or offer reasonable opportunities for improvement.

[-] Kissaki@programming.dev 6 points 1 month ago

For software to be perfect, can not be improved no matter what, you'd have to define a very specific and narrow scope and evaluate against that.

Environments change, text and data encoding and content changes, forms and protocol of input and output changes, opportunities and wishes to integrate or extend change.

pwd seems simple enough. cd I would already say no, with opportunities to remember folders, support globbing, fuzzy matching, history, virtual filesystems. Many of those depend on the environment you're in. Typically, shells handle globbing. There's alternative cd tools that do fuzzy matching and history, and virtual filesystems are usually abstracted away. But things change. And I would certainly like an interactive and fuzzy cd.

Now, if you define it's scope, you can say: "All that other stuff is out of scope. It's perfect within it's defined target scope." But I don't know if that's what you're looking for? It certainly doesn't mean it can't be improved no matter what.

load more comments (2 replies)
[-] lemmydividebyzero@reddthat.com 5 points 1 month ago* (last edited 1 month ago)

Windows event viewer... You open it, go to the toilet, to the shower, take a coffee, ... and only 2 more minutes later, it shows you the entries...

It's so perfect, they never had to improve it in decades.

/s

[-] Gork@sopuli.xyz 5 points 1 month ago
load more comments (1 replies)
[-] antimidas@sopuli.xyz 5 points 1 month ago
[-] whotookkarl@lemmy.dbzer0.com 5 points 1 month ago

Pretty subjective but if you're looking for do one thing and do it well I'd go with some of the GNU core utils like you mentioned, vlc & ffmpeg for AV media, and sl for being a silly way to handle ls typos

load more comments (1 replies)
[-] technocrit@lemmy.dbzer0.com 4 points 1 month ago
load more comments (1 replies)
[-] kryptonianCodeMonkey@lemmy.world 4 points 1 month ago

Depends on your definition of "perfect" and "improved". Is it perfect because it does one fundamental thing really well? Is it improved by adding new features?

I think what you're meaning is, is there a program that is ubiquitous (or at least works anywhere), will basically remain used forever because it does a fundamental job that will always need to be done, and it does that job in the most straightforward way possible that can't be made any algorithmically simpler, faster, etc. Probably plenty, honestly. Bitwise operations, arithmetic, fetch/store, etc. Though ubiquity/working anywhere gets rarer the higher you go from hardware. Even your suggestion of cd, for example, has to interface with an OS's file system, of which there are several common types. What it's doing is simple in concept, but will always be dependent on other programs for the file system.

load more comments
view more: next ›
this post was submitted on 15 Feb 2026
73 points (91.0% liked)

Programming

26459 readers
98 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS