Live data from Hacker News

Using a framework will harm the maintenance of your software

berk.es

421–430 of 550 posts

Re: Using a framework will harm the maintenance of your software

#421
I've worked on projects that use frameworks, and don't.

My experience:

1. Frameworks do save time at the start of the project. There's lots of stuff that comes for free and it does get the project going faster.

2. Every project that uses a framework (and survives long enough) ends up fighting that framework. And the more comprehensive the framework, the quicker the project reaches this point and the harder the fight is.

3. If the team doesn't know the framework well at the start of the project, most of the speed gains at the start are lost, and most of the issues with the framework later are worse.

In my experience (almost 30 years now), using libraries instead of frameworks gets most of the benefits and stops most of the pain.

Re: Using a framework will harm the maintenance of your software

#422
I heard an analogy between writing without a framework / your own framework an nuclear energy that I found fitting (not taking sides either way). Please bear with me.

The best-case scenario is better. More energy in the case of nuclear and just what you need, more performant, less code in the case of no framework. Everything just for your use case and no more.

But the worse-case is much much worse too. If you drop checks and discipline once (key developer switching jobs without in-team knowledge, for instance) there is no way back and the consequences can be catastrophic.

I would conclude than in general it is not worth it, but if you have the discipline and political incentives and/or special requirements (big ifs) it can be worth it, as long as those ifs keep being true.

I guess my insight is: it depends :)

Re: Using a framework will harm the maintenance of your software

#423
post #337

I love these technical topics because I can open up popcorn bag and read how people with statistical significance of 1 person experience throw their opinions and claim they have it all figured out. In my 14-15 years of experience in software industry I learned that having framework helps mostly with that - having bunch of "know it alls" rounded up to use the same approach instead of having "I know better discussions"…

Why start your post with an "I love to see 1 sample anecdata" and then make a whole post doing the same thing?

Re: Using a framework will harm the maintenance of your software

#424
post #254

Developers use frameworks because frameworks that are used by many others take care of edge cases that most engineers have no chance of fixing, or even discovering, on their own. Web framework code is typically riddled with comments like "this extra margin is added to the input to work around a bug in Internet Explorer 11 where Tibetan characters are cut off" . Good luck solving such issues without having tens of tho…

you don't always need all the solutions a framework provides

e.g. your Tibetan users don't use IE11, so all your IE11-Tibetan code is just taking up disk space

You ain't gonna need it, and all that.

Re: Using a framework will harm the maintenance of your software

#425
post #257

Earlier quoted context omitted.

> 1. Every sufficiently complex framework-free application contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of a framework. Of which you are the creator and expert, and have complete control and insight, and can change it in any way you want any time. It is in 100% alignment with your goals at all time. If you use a framework your organisation becomes incredibly complex, because you a…

Speaking purely about web software / web APIs, most software is 90% CRUD. It absolutely makes sense to use a framework to save new hires from grokking 90% of it's capabilities. You can have a new developer do stuff right out of the gate.

Isn't that the real, unspoken purpose of a framework?

To commoditize a critical (and formerly well compensated) skill for the purpose of outsourcing it to the country with the cheapest possible labor?

Re: Using a framework will harm the maintenance of your software

#426
post #359

Earlier quoted context omitted.

> In my experience this has been a point in favor of OTS frameworks Its not guaranteed. I've seen many developers spend lots of time trying to get the framework they're working in to cooperate or dig through bad documentation. Framework authors are fallible too and general-purpose software is really hard to get right.

Well, my point here is that even if there are little patches against a framework, we're talking something like 5% of the repo's code is framework-y stuff. If you've got your own framework, then... what even is the limit? 50%? 90%? I wonder if some of the disagreements in this thread are just like, people in favor of frameworks used Rails/Django, people against them used Spring/Struts. > Framework authors are fallible…

> Yeah, I think that's solved by the "market".

The market will settle on "good enough for the average usecase".

> But more broadly, what are the odds a bespoke framework will do it right? Will you think up a new way to organize controllers, or to abstract auth, or to manage database sessions, etc. etc. etc.

Some of this is a nightmare indeed (e.g. dealing with any web security stuff). Other things are very straightforward, especially when you don't have to deal with 1000 other people's use cases but only your own.

> just let me focus on the business logic please

We all want this. The question we should be asking is do we spend more time fighting a 3rd party framework or implementing our own. The answer may well be we'd spend more time implementing our own - but its still important to be aware if things start to go south.

Re: Using a framework will harm the maintenance of your software

#427
post #402

On contrary. Not using frameworks (when you have need for them) actually means you build 60% of framework your self, and then you have to maintain your app and your framework. Which is waste of time and resources. In my experience as freelance developer the worst project I could possibly get is from people who invent their own "frameworks" (they just call it "lib") because they thought they were smart avoiding framew…

As a freelancer you only see projects that were in bad enough shape that they needed extra help, no?

Re: Using a framework will harm the maintenance of your software

#428
post #17

1. Every sufficiently complex framework-free application contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of a framework. 2. If you have a talented team, that half of a framework can be much better than using a one-size-fits-all framework that is popular because it used to be lean and mean with a small surface area, but has grown over time to do everything for everyone, becoming a com…

> 1. Every sufficiently complex framework-free application contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of a framework. After 25 years of experience writing software I can honestly say I have encountered many people that agree with this, and perhaps all of them (every single one) have not actually experienced writing an application without a framework. This sentiment sounds correc…

I think of frameworks as running with crutches or cycling with training wheels. People interview potential couriers, look them in the eye, and ask: "DO you run with crutches?"

Not "CAN you run with crutches?" (as anyone who can run without crutches can run with them) but DO you run with crutches, as though running without crutches might signify a lack of ability. Fine time to unask the question.

Re: Using a framework will harm the maintenance of your software

#429
post #402

On contrary. Not using frameworks (when you have need for them) actually means you build 60% of framework your self, and then you have to maintain your app and your framework. Which is waste of time and resources. In my experience as freelance developer the worst project I could possibly get is from people who invent their own "frameworks" (they just call it "lib") because they thought they were smart avoiding framew…

As a freelancer you only see projects that were in bad enough shape that they needed extra help, no?

Not really. Those bad ones look for outside help when people who maintained all that leave and they don't find in-house devs quickly. Projects that use frameworks tend to maintain opinionated structure that frameworks usually push. Which helps onboarding. Not always, but mostly. And it's always easier to fix and maintain the mess I see for example in a Laravel project, than in built-all-alone project.
Post reply on HN