Will We Care About Frameworks in the Future? (kinlan.me)
- Reference: 0175461817
- News link: https://developers.slashdot.org/story/24/11/13/1145205/will-we-care-about-frameworks-in-the-future
- Source link: https://paul.kinlan.me/will-we-care-about-frameworks-in-the-future/
> Frameworks are abstractions over a platform designed for people and teams to accelerate their teams new work and maintenance while improving the consistency and quality of the projects. They also frequently force a certain type of structure and architecture to your code base. This isn't a bad thing, team productivity is an important aspect of any software.
>
> I'm of the belief that software development is entering a radical shift that is currently driven by agents like Replit's and there is a world where a person never actually has to manipulate code directly anymore. As I was making broad and sweeping changes to the functionality of the applications by throwing the Agent a couple of prompts here and there, the software didn't seem to care that there was repetition in the code across multiple views, it didn't care about shared logic, extensibility or inheritability of components... it just implemented what it needed to do and it did it as vanilla as it could.
>
> I was just left wondering if there will be a need for frameworks in the future? Do the architecture patterns we've learnt over the years matter? Will new patterns for software architecture appear that favour LLM management?
[1] https://paul.kinlan.me/will-we-care-about-frameworks-in-the-future/
WebDev (Score:2)
Took me a minute to realize they were talking about web development. No, frameworks are just abstractions over HTML, Javascript, and CSS. They were never necessary. I hope AI puts webdevs out of business tbh
Re: (Score:2)
Frameworks can either help or be a liability.
The future is now (Score:2)
I don't care about frameworks now .
Yes, you may need to understand them if your current codebase uses them, but generally speaking, software engineers are called on to solve new and novel problems; if there already exists a solution to your problem (e.g. a framework, etc...), it is very likely that the business will just buy it, rather than employing you.
Learning frameworks is planning your own obsolescence.
Re: (Score:2)
I will give a pass to browser frameworks. The state of Javascript has improved, but largely stayed deliberately a bit dysfunctional.
The pace of improvement stepped up, but Javascript in the browser continues to be pretty bare bones with a lot of reluctance toward embracing higher order function directly. Besides, Javascript has a monopoly on network access and DOM manipulation in the browser ecosystem, so other languages that may cater to different paradigms cannot exist directly in that ecosystem (yes, com
It strongly suggests these are just toys (Score:2)
Anyone who has used Flask, Django, Spring Boot, Rails, etc. doesn't even have to think about why they'd prefer to debug code an AI wrote against a framework vs implementing functionality with raw standard lib functionality.
Every good Java developer has seen the work of devs who decided to raw dog it with servlets to respond to REST instead of using Spring Boot, Micronaut, Quarkus, etc. That sounds precisely what this is generating, if not worse, and that's a resounding HELLLLLL NO.
Re: (Score:2)
Funny thing is, I've always seen the opposite experience. That it was always simpler to implement your own servlet to do what you needed the way you needed it than having to rely on crap like these javascript "frameworks".
Re: (Score:2)
The thing is, the new guys just don't know how to do those 15 pages without relying on the 40k file framework. But the new guys are really good at convincing the boss that he "absolutely needs" the 40k file framework, even though there are other people on the team who are perfectly capable of doing the 15 pages without the framework.
Efficiency used to mean something. (Score:2)
I don't mean coding efficiency, I mean efficient code. Libraries were supposed to solve this, but now everyone includes their own copy of the same library and the 'Agent's' code just duplicates the same things over and over. I guess processing power and memory are no longer a constraint so damn with efficient code.
Which brings us to efficient code uses less resources and power. But damn that! Lets just build more data centers and power plants - modern coding is going exactly the opposite way of reducing
DRY (Score:2)
Don't Repeat Yourself isn't about not repeating code. It's about not repeating knowledge. But keep pushing this constipated AI agenda and see where it gets you.
Too early (Score:2)
It seems just a little bit too soon to have so much reliance on AI that a human could never figure out what was going on if the AI all of a sudden refused to make a modification. Sure, it may build the page ok in the beginning but what about after modification 20, 50, 100...
My favorite description.. (Score:2)
...of frameworks comes from a guy on youtube.
Frameworks make the first few hours of a project seem easy.
Then they make it much harder as you run into quirks, bugs and rigid design rules that make it nearly impossible to do what you want.
Frameworks were designed to allow cheap, low talent workers to quickly churn out mediocre code.
Today's AI code generators continue the trend and make it worse.
Re: My favorite description.. (Score:2)
Maybe AI generators have been trained on the mediocre code quickly churned out by cheap, low talent workers?
Re: (Score:2)
This.
Re: (Score:2)
I agree with some this assessment but strongly disagree with the rest.
What distinguishes a framework from a library is the "hollywood principle" : "Don't call us, we'll call you."
Libraries expose symbols that your application can consume and call into. Libraries sit there passively, waiting to be invoked.
Frameworks, on the other hand, are skeleton applications. They take a very active role, and call into your code rather than the other way around.
Both exist to cut down on development time, but a framework i
Dealing with an LLM for coding... (Score:2)
Dealing with an LLM for coding is a lot like dealing with a barely functional entry level programmer that will not learn.
As someone forced to deal with outsourcing to the lowest bidder, the 'make use of LLM' had a very familiar feeling to dealing with unqualified people crammed through the outsourcing firm to grift my employers, except:
-With the human, at some point you stop and say "ok, I have no idea how you are screwing up, and you can't seem to fix it, I have to look at the code and specifically figure
guy doen't care about good code (Score:2)
From TFA:
"the software didn't seem to care that there was repetition in the code across multiple views, it didn't care about shared logic, extensibility or inheritability of components... it just implemented what it needed to do and it did it as vanilla as it could."
So, the AI to writes crappy, bloated, unmaintainable software, and he doesn't care. Good luck when the customers come complaining, the AI continues to fuck up your code more and more, and no programmer will ever want to touch it.
Of course, lots
Take me to your lizard. (Score:5, Insightful)
"As I watch the code pass by in Replit, I'd noticed that the Python and JavaScript it produced was vanilla and it would frequently duplicate the logic on different screens for the same functionality. It certainly wasn't that type of code that I would craft. I probably would have planned for the removal of repetition. I would have planned for the ability to extend and inherit. I would have planned for testability."
This thing is making bad code. And you're just watching it. Complexity is exploding, unchecked. It won't be maintainable. It won't be extensible. Not even by the thing that built it.
Also, I resent this guy's apparent conflation of patterns with "frameworks".