u/Conscious_Support176
Conscious_Support176
Conscious_Support176
Seems misguided. Using best practices is standing on the shoulder of giants do you don’t reinvent the wheel. It’s hard to say what the benefit is of reinventing best practice as good practice.
Conscious_Support176
It depends.
If !foo is a precondition, the else is noise.
Conscious_Support176
Well, the same thing is written three times here. Once in the summary comment, once in the line comment and once in the printer language.
Clean code here would not involve the use of magic string values.
Conscious_Support176
EF gives you the foundation you need to do it systematically with reflection if you are using model first.
What I think I’m trying to say is, if you already have a bunch of code you write by hand to do this, it sounds like a straightforward refactoring job using reflection?
I’m not sure if anyone has built a general purpose solution for this as not everyone would want it done the same way.
If you simply want query results in either XML or json format, Sql server supports that and I believe oracle does too. It would make little sense for an RDBMS to go deeper than that as this would simply be replicating the work that is done by ORMs.
On the SQL side, I expect you’re familiar with dynamic SQL. Can’t say I’m a massive fan of where I’ve seen dynamic Sql used for this sort of thing, it’s easy to get it up and going, but you have to put in the extra work to keep things testable and robust.
I doubt if an ORM solution that is sufficiently configurable would get enough customers willing to pay for the development cost when most people will either hand code or use one of the ways of leveraging the data model during the build, or even at runtime.
Look into ways of using the data model at build time to refactor the code you’re writing by hand.
Long story short, this is classic DRY: find a way to get the machine to do the repetitive work for you, rather than doing it yourself.
Conscious_Support176
Why? If you’re using EF it doesn’t matter which rdbms, right?
Conscious_Support176
Macros are a preprocessor thing and can paste tokens together so a separate lex and parse would be needed after preprocessing if a module system supported all macros.
Macros were always a cheap substitute for actual capabilities, so just about everything you might want to use them for in a bmi can now be done better a different way.
Implementing a cut down macro system seems pointless. If the macros are a build option to support different targets and your build applies it to all bmis for that build, why not define a separate build folder for each combination of options so you never need to rebuild just because you switched target?
Conscious_Support176
Isn’t that what model first EF is for? You can put a step into your build that does the grunt work using c# reflection.
I understand you can use the modeldb created by Vidual Studio during the build to do the same.
Yes I agree it cries out for automation and refactoring. The refactored code must surely use the data model as input.
Conscious_Support176
What? You are the one crying about gatekeepers. According to you, AI is good, if it gets rid of those pesky gatekeepers.
I mean, how brilliant. Let’s do away with human judgment, skill and experience and trust the algorithm instead.
Don’t get me wrong. AI has a lot of uses. But producing mountains of code that no one will ever have time to read much less understand does not seem like the smartest possible strategy.
What could possibly go wrong?
Conscious_Support176
Yes. Just like there is no such thing as a poverty line. It all just lifestyles all the way down. There’s no such thing as a hierarchy of needs.
Conscious_Support176
Not sure about that. There’s a long established history of grabbing market share by reducing costs. If quality suffers it doesn’t matter if you’ve obliterated the competition
Conscious_Support176
You’re missing the point. Development defines structured abstractions which create deterministic solutions, including code generation. Generative AI collapses all abstractions into natural language which is not deterministic. Making it impossible to square that circle unless the AI invents a domain specific language to resolve the non determinism. Bringing you right back again to programming only now you’ve burnt how many tokens to create what a programmer could have done with a fraction of the effort.
Or maybe you want to replace programmers with a new category of AI lawyers who work with AI generated domain specific languages? You know why everyone likes to hate lawyers and legalese , right? Legal language exists for a reason.
To frank, I don’t really care either way. What sickens me is people so eager to screw over everyone else in some way that they don’t think twice about burning the future by pouring energy into the data centres that AI requires to keep reinventing the wheel.
Conscious_Support176
AI coding agents are useful for a couple of things. If you don’t know how to use a library it can work through the api for you. Problem there being, this ends up makes you less competent because you’re not learning the capabilities of the components that you are using. It can also save you repetitively following coding patterns by generating the repetitive code for you. Problem there being a competent coder would at least have written some kind of code generator if that was an issue.
TLDR: a competent coder doesn’t need AI to create any and all abstractions that might help to create a maintainable application.
Conscious_Support176
You were bleating about gatekeeping, but you don’t seem to have the first clue what I am taking about. It’s great that you’re happy that these gatekeepers will be replaced. Happy for you.
Conscious_Support176
So, how did you find yourself policing that people need to have contributed something of particular value before criticising AI-written code posted to a programming-language forum?
You’re aware that the most critical skill the ability to test and validate code, including code you might have written to generate code, rather than simply producing code.
Is it not reasonably obvious that posting the output of a non-deterministic tool that takes English as its source language does is not in the same playing field as the purpose of a programming language forum?
Conscious_Support176
Competent developers were not just typing away developing slop. They built numerous tools like frameworks, DSLs and so on which could generate code in a deterministic manner, where code generation was required, or whatever abstraction the task actually needed.
For the most part, AI allows incompetent developers do something similar, but in a non-deterministic, inefficient and unmaintainable manner based on abstracting away the task of translating what the user asked for, written English, into something clear and unambiguous.
Conscious_Support176
I guess you might still be unaware that writing code is the easy part.
Conscious_Support176
You know, when you grossly misunderstand what people are saying to you, that is one thing. When you assume that the problem is that they are an idiot, that is next level ignorance.
Was there ever a time that you learnt something from somebody where you had the wrong idea about it beforehand?
Conscious_Support176
This is a bizarre argument. Programmer’s will continue to find jobs. The mythical jobs that will be created by AI. While in your own experience you’re literally replacing programmers with AI sub agents because it’s a better deal. You were an already outsourcing because your company is not willing to pay for local talent.
Conscious_Support176
Perhaps the fact of so many unique dialects was a sign of decline. It was no longer a national language, as would separate areas as much as it would connect them.
Conscious_Support176
Fine. Be ignorant. Good bye.
Conscious_Support176
Pay bands aren’t everything. This is literal nonsense.
Conscious_Support176
No it doesn’t fix the math. Because the problem isn’t the numbers, it is the math itself. The problem is that there is no government built public housing to compete with the private market. Housing is a scarce commodity so developers simply turn off the tap to maximise profits. That’s the math.
Conscious_Support176
First we don’t have decent security of tenure here so it’s not comparable. A conglomerate has techniques other than the daughter coming back from Australia.
Second it’s quite hard to be accepted into the German system. Good places with good security of tenure require a track record, references and so on. This in itself makes life more difficult for migrants that it would be here.
Conscious_Support176
There’s this thing called training and certification. You might have heard of it. The graph above does not say third world immigration by the way.
Not sure what’s happening there but the first printf isn’t printing strArr[0].