Hacker News new | ask | show | jobs
by hombre_fatal 76 days ago
Software doesn’t end at the 20k loc proof of concept though.

What every developer learns during their “psh i could build that” weekendware attempt is that there is infinite polish to be had, and that their 20k loc PoC was <1% of the work.

That said, doesn't TFA show you what they use their loc for?

2 comments

Check out `print.ts` to see how "more LOC" doesn't mean "more polished"
Okay, I'm looking at it. Now what?

This file is exactly what I'm talking about.

Take the loadInitialMessage function: It's encumbered with real world incremental requirements. You can see exactly the bolted-on conditionals where they added features like --teleport, --fork-session, etc.

The runHeadlessStreaming function is a more extreme version of that where a bunch of incremental, lateral subsystems are wired together, not an example of superfluous loc.

The file is more than 5000 lines of code. The main function is 3000. Code comments make reference to (and depend on guarantees in connection with) the specific behavior of code in other files. Do I need to explain why that's bad?
By real-world polish, I don't mean refining the code quality but rather everything that exists in the delta between proof of concept vs real world solution with actual users.

You don't have to explain why there might be better ways to write some code because the claim is about lines of code. It could be the case that perfectly organizing and abstracting the code would result in even more loc.

I think that’s why the author was comparing to to a finished 3D game.
I guess because you see 3D stuff in a 3D game instead of text, people assume that it must be the most complex thing in software? Or because you solve hard math problems in 3D, those functions are gonna be the most loc?

It's a completely different domain, e.g. very different integration surface area and abstractions.

Claude Code's source is dumped online so there's probably a more concrete analysis to be had than "that sounds like too many loc".

It is a different domain but that wasn’t your argument. Your argument was that someone was comparing it to a POC when in fact they were comparing to a finished product.

Also a AAA game (with the engine) with physics, networking, and rendering code is up there in terms of the most complex pieces of software.

They just claimed that you can build a 3D game in 500k loc, thus Claude Code shouldn't use so many loc. They/you didn't render the argument for that.

For example, without looking at the code, the superstition also works in the opposite direction: Claude Code is an interface to using AI to do any computer task while a 3D game just lets you shoot some bad guys, so surely the 3D game must be done in fewer loc. That's equally unsatisfying.

You'd have to be more concrete than "sounds like a lot".

> Claude Code is an interface to using AI to do any computer task

Claude Code is quite literally a wrapper around a few APIs. At one point it needed 68GB of RAM to run and requires 11ms to "lay a scene graph" to display a few hundred characters on screen. All links here: https://news.ycombinator.com/item?id=47598488

> while a 3D game just lets you shoot some bad guys, so surely the 3D game must be done in fewer loc.

Yes, most games should be done in fewer loc

I could run a text adventure with a Zmachine emulator under a 6502 based machine and 48k of RAM, with Ozmoo you can play games like Tristam Island. On a Commodore 64, or an Apple II for you US commenters. I repeat the game it's being emulated in a simple computer with barely more processing power than a current keyboard controller.

As the ZMachine interpreter (V3 games at least, enough for the mentioned example), even a Game Boy used to play Pokemon Red/Blue -and Crystal/Sylver/Blue, just slightly better specs than the OG GB- can run Tristam Island with keypad based input picking both selected words from the text or letter by letter as when you name a character in an RPG. A damn Game Boy, a pocket console from 1989. Not straightly running a game, again. Emulating a simple text computer -the virtual machine- to play it. No slowdowns, no-nothing, and you can save the game (the interpreter status) in a battery backed cartridge, such as the Everdrive. Everything under... 128k.

Claude Code and the rest of 'examples' it's what happens when trade programmers call themselves 'engineers' without even a CS degree.

Your claim was that they could implement the same app in 50k lines of code.

A cursory glance at the codebase shows that it's not just a wrapper around a few APIs.

> Claude Code is an interface to using AI to do any computer task

Shouldn't interfaces be smaller than the implementation?

No. We aren't talking about .h vs .c files nor PL interfaces.

A GUI/client can be arbitrarily more or less complex than the things it's GUI'ing.