3 ms·
I think as an industry LLM assisted programming is largely amplifying an existing gap: commercial software is often under much higher speed constraints and much
by Karrot_Kream 7mo ago
I think as an industry LLM assisted programming is largely amplifying an existing gap: commercial software is often under much higher speed constraints and much lower correctness constraints than the sorts of software that can be created by deeply understanding a software system.
Obviously this depends on the industry; aviation software that runs in regulated environments is probably under even higher correctness constraints than that which Sussman discusses. Accounting software too needs to balance books correctly or risk fines. But most software needs to be mostly correct. New features and better UX is more useful for the users of many systems than fixing tail frequency bugs.
Personally I do hobby code on systems I understand from scratch. Writing for older, well documented retro hardware for example is very fun. Writing things from simple abstractions is also fun. But my speed in doing this is something I know is not commercially viable and that's fine by me.
Many fields have a commercial aspect of them that has a much lower quality bar and a much higher output speed bar than their hobby equivalents. Wedding photography, voice acting, the quotidian demand for these things is far lower than appreciating an Ansel Adams piece in a museum.
- Swizec 7mo ago> New features and better UX is more useful for the users of many systems than fixing tail frequency bugs If nobody notices a bug, does it matter? There's whole classes of technically bugs that simply never happen under the real world operating constraints of a software system. The infamous example is that memory leak story from the Microsoft blog[1] – you don't need to fix memory leaks on a rocket that goes boom (or runs out of fuel) after 5 minutes of flight time. Just add the extra memory chip and move on. Engineering is all about building to real world constraints. Don't build a suspension bridge where a sturdy plank will do. [1] https://devblogs.microsoft.com/oldnewthing/20180228-00/?p=98125 https://devblogs.microsoft.com/oldnewthing/20180228-00/?p=98...
- switchbak 7mo agoIt's not a bug if someone designed it to work that way though - a no-op allocator is an allocator too, and can also be used on short-running processes (even outside of things that go boom).