Earlier quoted context omitted.
I think C# is really going to shine in the LLM coding era. You can write Roslyn Analyzers to fail the build on arbitrary conditions after inspecting the AST. LLMs are great at helping you write these too. If you get a solid architecture well defined you can then use these as guardrails to constrain development to only happen in the manner you intend. You can then get LLMs to implement features and guarantee the code…
As someone whose C# is one of the main work ecosystems, I highly doubt it. What I am seeing it that LLMs will push current programming languages down the stack, like now you're enjoying C# => MSIL => Machine code. On my line of work I already can imagine the other side of the tunnel, more low-code/no-code tooling, orchestration agents, and much (much) less manually writing C#, Java and TypeScript.
AI can code, but it can't build software
181–185 of 185 posts
Re: AI can code, but it can't build software
#182Re: AI can code, but it can't build software
#183This is a good headline. LLMs are remarkably good at writing code. Writing code isn't the same thing as delivering working software. A human expert needs to identify the need for software, decide what the software should do, figure out what's feasible to deliver, build the first version (AI can help a bunch here), evaluate what they've built, show it to users, talk to them about whether it's fit for purpose, iterate…
Re: AI can code, but it can't build software
#184Earlier quoted context omitted.
Can you please explain? Are you saying all software development outside of the web is "niche"?
Niche as in for every one systems programmer there are dozens of people writing API Glue. By hours of work spent and lines of code produced the latter is in a whole different scale than systems programmers (which is a very badly designed term anyway).
Re: AI can code, but it can't build software
#185Earlier quoted context omitted.
Linters are great at catching specific pattern violations, but they’re useless against bad decomposition or a poorly chosen abstraction. An LLM can generate code that passes all 100 linters and still ends up being a logical mess - with business logic in the wrong layer and completely unmaintainable.
With Roslyn Analyzers and things like ArchUnit I've found its possible to actually write linters that enforce a predetermined architecture with established patterns such as enforcing usage of particular base or framework level classes in specific layers/locations. I agree with the assessment LLMs aren't great at novel architectural work. I'm merely reporting my experience that using LLMs to write analysers that enfor…