logoalt Hacker News

Arcurulast Thursday at 6:33 PM4 repliesview on HN

> 5. Therefore all new development should be microservices written from scratch and interacting via cleanly defined APIs.

Not necessarily. You can get the same benefits you described in (1)-(3) by using clearly defined modules in your codebase, they don't need to be separate microservices.


Replies

lolinderyesterday at 1:57 PM

I wonder if we'll see a return of the kind of interface file present in C++, Ocaml, and Ada. These files, well commented, are naturally the context window to use for reference for a module.

Even if languages don't grow them back as a first class feature, some format that is auto generated from the code and doesn't include the function bodies is really what is needed here.

show 1 reply
sdesollast Thursday at 7:23 PM

Agreed. If the microservice does not provide any value from being isolated, it is just a function call with extra steps.

show 1 reply
ben_wtoday at 12:53 AM

Indeed; I think there's a strong possibility that there's certain architectural choices where LLMs can do very well, and others where they would struggle.

There are with humans, but it's inconsistent; personally I really dislike VIPER, yet I've never felt the pain others insist comes with too much in a ViewController.

theptipyesterday at 3:46 PM

Yeah, I think monorepos will be better for LLMs. Easier to refactor module boundaries as context grows or requirements change.

But practices like stronger module boundaries, module docs, acceptance tests on internal dev-facing module APIs, etc are all things that will be much more valuable for LLM consumption. (And might make things more pleasant for humans too!)