this post was submitted on 15 Feb 2026
65 points (90.1% liked)

Programming

25594 readers
194 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
 

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
[–] antimidas@sopuli.xyz 2 points 12 hours ago
[–] myrrh@ttrpg.network 1 points 14 hours ago
[–] VitoRobles@lemmy.today 18 points 1 day ago* (last edited 1 day 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?

[–] lemmydividebyzero@reddthat.com 3 points 23 hours ago* (last edited 23 hours 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

[–] Blackmist@feddit.uk 5 points 1 day 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.

[–] somegeek@programming.dev 2 points 23 hours ago

I would say git, tex, sqlite, Clojure, Steel banks common lisp are some of the candidates.

Perfect doesn't meen "not any bugs fixes or features needed" to me. I can't really define what it means to me...

[–] padreati@lemmy.zip 1 points 22 hours ago

Some time ago I used haproxy, a software load balancer. I remember that I found an issue which was that it could start with an empty configuration or something similar. When I reached the owner repo it was stated that there were found nu bugs for years of heavy use.

[–] thedeadwalking4242@lemmy.world 1 points 22 hours ago

Anything I've ever written....

..JK I suck ass

[–] Kissaki@programming.dev 4 points 1 day ago (1 children)

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.

[–] ne0phyte@feddit.org 2 points 1 day ago (1 children)

If you just need the functionality then fzf does (among other things) exactly that. Interactive fuzzy cd. If you use the shell bindings you can do cd foo/bar/**<tab> to get a recursive fuzzy matching or you can do alt+c to immediately find any subdirectory and directly cd into it upon pressing enter. You can also use Ctrl+T to find and insert a path into the prompt.

[–] Kissaki@programming.dev 1 points 7 hours ago* (last edited 7 hours ago)

Thanks for the suggestion. As a first step, I set it up in Nushell with a ctrl+t shortcut:

$env.config.keybindings = (
    $env.config.keybindings | append {
        name: fzf_file_picker
        modifier: control
        keycode: char_t
        mode: [emacs, vi_insert, vi_normal]
        event: {
            send: ExecuteHostCommand
            cmd: "commandline edit --insert (fzf | str trim)"
        }
    }
)

Maybe I will look into more. :) I've known about fzf but I guess never gotten around to fully evaluating and integrating it.

Nushell supports fuzzy completions, globbing, and "menus" (TUI) natively. Still, the TUI aspect and possibly other forms of integrations seem like they could be worthwhile or useful as extensions.

[–] portifornia@piefed.social 83 points 2 days ago (3 children)

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

[–] homoludens@feddit.org 12 points 2 days ago (1 children)

Shouldn't it be "Hello world."?

[–] SorteKanin@feddit.dk 18 points 1 day ago

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

load more comments (2 replies)
[–] cecilkorik@lemmy.ca 43 points 2 days ago (2 children)
[–] SlurpingPus@lemmy.world 3 points 1 day ago

It's on Github and has several PRs.

[–] dgriffith@aussie.zone 10 points 1 day 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".

[–] oce@jlai.lu 36 points 2 days 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.

[–] IanTwenty@piefed.social 21 points 1 day ago (1 children)

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/

[–] kalpol@lemmy.ca 2 points 1 day ago* (last edited 1 day ago)

Djbdns was excellent too, and ezmlm,.in fact all DJB's software was quality for its single purpose. The world moved on though, and you had to have your basic Internet servers just...do more

[–] Onomatopoeia@lemmy.cafe 33 points 2 days ago

Automotive engine control computers.

They just work, for decades and millions of miles.

[–] Kolanaki@pawb.social 4 points 1 day ago (1 children)

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

[–] Kissaki@programming.dev 3 points 1 day 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.

[–] arcine@jlai.lu 3 points 1 day ago* (last edited 1 day ago) (1 children)

Idk if it's perfect but I really like the "literate programming" version of wc

This is not the original, but here is one version of it : https://github.com/zyedidia/Literate/blob/master/examples/wc.lit

[–] Kissaki@programming.dev 3 points 1 day ago

Your sentence abruptly ends in a backtick - did you mean to include something more? Maybe “wc”?

[–] lIlIlIlIlIlIl@lemmy.world 23 points 2 days ago (2 children)
load more comments (2 replies)
[–] Treczoks@lemmy.world 12 points 1 day ago (1 children)

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

[–] fruitcantfly@programming.dev 9 points 1 day ago* (last edited 1 day ago) (2 children)

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)
[–] bleistift2@sopuli.xyz 24 points 2 days ago (2 children)

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

[–] mindbleach@sh.itjust.works 12 points 2 days ago (3 children)

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

load more comments (3 replies)
load more comments (1 replies)
[–] oyo@lemmy.zip 3 points 1 day ago (1 children)

mcmaster.com is pretty close...

[–] Kissaki@programming.dev 1 points 1 day ago

Do you exclude inventory management from that "will never change" so that that's only about software?

I imagine there will be new products to be listed.

[–] ellen@piefed.social 3 points 1 day ago

Winamp! It probably had some bugs or security issues but functional it was perfect imo.

[–] kibiz0r@midwest.social 16 points 2 days ago* (last edited 2 days 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.

[–] markz@suppo.fi 20 points 2 days ago (1 children)
load more comments (1 replies)
[–] BodePlotHole@lemmy.world 10 points 1 day ago
[–] irelephant@lemmy.dbzer0.com 7 points 1 day ago
[–] L0rdMathias@sh.itjust.works 14 points 2 days ago (3 children)

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

[–] FizzyOrange@programming.dev 24 points 2 days 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.

load more comments (2 replies)
[–] kalpol@lemmy.ca 1 points 1 day ago (1 children)
[–] arthur@lemmy.zip 3 points 15 hours ago
load more comments
view more: next ›