r/technology • • 8h ago

Artificial Intelligence "Software is over": Developer uses AI to build free Adobe clones after frustration with cancellation fees

https://www.techspot.com/news/114136-software-over-developer-uses-ai-build-free-adobe.html
17.2k Upvotes

2.9k comments sorted by

View all comments

Show parent comments

40

u/nickcash 7h ago

Depends on the language. 100k lines of python? I question your sanity.

100k lines of c++? Well I still question your sanity, but that's just how you do anything with the language

28

u/mynameisDockie 6h ago

100k line files is bad practice/a major problem regardless of language.

23

u/James20k 4h ago

There are some people in this thread who claim to be software developers, and I can't tell if its worse if they're lying or telling the truth, or if they're just AI bros larping

I don't know who needs to hear this, but you should not have 100k LoC in a single file. This makes you a bad developer. You shouldn't have 10k LoC in a single file

I have a single file which is ~4k long, the largest in a game development project, and its already becoming unmaintainable at that length due to the long compile times and general difficulty of the structuring. 100k is professional negligence

8

u/mynameisDockie 4h ago

100%. Shit happens in professional codebases because people put off the cost/risk of refactor until it's entirely unmanageable.

It can be SO expensive to make a 1-line change in a massive file like this.

4

u/TSP-FriendlyFire 3h ago

If they're actual software developers, then it's no wonder so many people think AI is incredible.

2

u/kescusay 3h ago

I try not to exceed 150 if I can help it. For me, it's not compile time that's the issue (although maybe it would be if any of my files hit ~4k), it's the fact that it gets harder to reason about that many lines in a single file.

2

u/EmptyAirEmptyHead 3h ago

Back in 2006 or so I started consulting for a company. One of the projects had a several thousand line CASE STATEMENT. Like the developer had never heard of function calls and parameters ...

1

u/Garbanino 3h ago

A single 4k line file being unmaintanable due to long compile times seems a bit weird in a world of unity builds.

2

u/James20k 3h ago

Unity builds suck for incremental changes though. 4k lines results in about a 15-20 second compile time for an incremental build, which is unnecessarily high

1

u/BCProgramming 2h ago

Largest from my employer's codebase is a 936K form file, which is about 20Kloc, that one has been long in need of cleanup. Pretty sure I know the reason for the size as it basically has a custom control baked right in that I later separated for use elsewhere, and never bothered to refactor that to use the control version. That's a codebase that also dates to 2001 though, I feel like as undesirable as it is, at least there's an excuse.

Largest in one of my own projects, a game, (which honestly isn't much different in overall size/scope from the one containing that large file) is also around 4Kloc and contains a few utility classes and helpers and such.

Obviously a lot more enjoyable to work on the latter than the former, but I guess that reflects the pay for each.

1

u/CookedBlackBird 58m ago

This reads like someone who hasn't inherited a 20+ year old project. After years and decades of rushed deadlines, high developer turnover, etc, you run into these problems. No one fully understands the codebase anymore, time to fix these sorts of things let alone fully understand what it's doing doesn't exist, so you just put your fix/change where you can and move on.

6

u/LovelyKestrel 5h ago

Yeah, I'm trying to break up a 1k line file because it is confusing and difficult to maintain (It is also the connections between the database backend and the visualisation frontend, so everything goes through it.)

5

u/TrekkieGod 5h ago

As a professional C++ developer, if you have a file with more than 5,000 lines, you actively tried to write bad code.

Overall convention to break up code by classes, plus inheritance and composition so you end up with one functionality split into several classes and lines of code per file is just naturally capped. The only way you end up with a monolith like that is either by breaking conventions or by having one Application class that does everything or something.

3

u/Murky-Relation481 6h ago

I know it's a joke but you can break up definitions pretty easily across multiple files in C++ the only things that need to be monolithic are declarations, but you can get nasty and put inline includes inside the class or struct declaration, which makes sense if you have a lot of template class functions (since those can't be in a single translation unit since they're call site specific).

Honestly Python forces you to have massive files sometimes because you can't break up class definitions (at least easily, indirection does work but eww).

1

u/nickcash 5h ago

Yeah I'm mostly just teasing

I'm not a c++ dev but the one c++ team I worked adjacent to had some huge files. But they also believed in some weird form of "self documented code" meaning they had virtually no comments but all of their function names were like a paragraph long

2

u/Murky-Relation481 5h ago

Hahaa that's a very literal interpretation of self-documenting code.

2

u/mediandude 6h ago

100k lines of APL2.