Earlier quoted context omitted.
Are we using different Djangos? Let’s take it for granted you’re using it with HTTP since it’s a web framework (this would all apply with WS). You routes call your views. Your views load your models. These feed into your templates, which go into a response. You can tweak what’s going on at each step (DRF) but there’s definitely a way it’s all supposed to work together. It’s classic IOC.
I use Django with and without HTTP. All a Django View is is a function (or in the case of a class-based view, a method of the class) that takes a request object and returns a response object... this is pretty fundamental to HTTP, so any HTTP app will do this. Its not Django dictating it, its the nature of HTTP. You don't have to use any of those parts of Django if you don't want to. I often opt to use Jinja2 instead…
Using a framework will harm the maintenance of your software
271–280 of 550 posts
Re: Using a framework will harm the maintenance of your software
#272Earlier 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…
> 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. And then you change a job and you take 80% knowledge with you and your now-past project is in deep trouble.
Re: Using a framework will harm the maintenance of your software
#273Earlier quoted context omitted.
> 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. And then you change a job and you take 80% knowledge with you and your now-past project is in deep trouble.
If knowledge is on a single person alone, then your ex-company has bigger issues than framework or no framework. Not to mention that the interesting parts of your app should be the domain logic and workarounds and solutions used in it for business issues and historical layers of bussiness logic choices. And that a single person can take with them whether there's a framework or not.
If it's a matter of training up other people, we're just as well becoming experts in a framework
Re: Using a framework will harm the maintenance of your software
#274Earlier 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…
That’s why I always start a new app by writing my own operating system for it first. Use frameworks, use libraries. They will save you time, make your code less buggy, make it easier to hire other people. Writing your own ball of mud is great for a hobby but not for business.
And even worse when these frameworks are open source and don't even have any accountable people at all, and god knows how many people working professionally are suddenly held hostage by some dude who just felt like going backpacking in south america for 6 months without giving any notice to anyone.
Re: Using a framework will harm the maintenance of your software
#275Re: Using a framework will harm the maintenance of your software
#276Earlier quoted context omitted.
I first thought to post some links to code bases that, in my eyes, aptly counter argue your claim. Then I realised that you have already solidly placed yourself in a corner and are bound to defend that corner no matter what I am going to post. Since there's no objective measure of what constitutes as a mess (in contrast to what is simply not perfect) it's also easy to convince yourself that the statement always remai…
"I really have proof for my argument, I swear, I'm just too petty to provide it, trust me bro". Are you serious?
Re: Using a framework will harm the maintenance of your software
#277Earlier quoted context omitted.
Maybe common structure, not common parts. "Framework" is a good description: it gives you the shape, you fill it in.
Care to elaborate the difference? In both cases common code is extracted.
The old archetype of a framework might be one which expects to control an overall event loop for your application.
In practice many things we would still recognise as frameworks allows you to undo that, but I still think it's a useful rule of thumb in that even many frameworks which technically allows you to remain in control of the overall flow tend to assume the framework will mostly dictate structure and flow.
Re: Using a framework will harm the maintenance of your software
#278Earlier quoted context omitted.
I don't agree with this simplistic distinction between framework and library. There are plenty of libraries that call back into user code. A better definition might be that a framework imposes an entire 'application model' on you, and trying to step outside that predefined model is at your own risk, while a library is a much smaller and flexible building block (also a building block for frameworks). But there's a lar…
I think the last sentence is really true. And yes, there are libraries that call back into user code, which makes them framework-like in this regards. > A better definition might be that a framework imposes an entire 'application model' on you, and trying to step outside that predefined model is at your own risk This is the kind of definition were 50% will call something a framework and the other half will call it a…
Callback hell however, is not something I'd associate with a framwork
Re: Using a framework will harm the maintenance of your software
#279Earlier quoted context omitted.
A framework is what happens when you write a ton of similar apps and factor out the common parts. The quote here is no more literally true than the original lisp quote, but (just like the original) that doesn't stop it from being true in spirit.
If that were true, what would be the difference between a library and a framework? Is a library not also factoring out common parts? Or is a framework just a bunch of libraries? No, this definition doesn't describe what people understand as frameworks.
A framework is a library that is so pervasive that you cannot reasonably do so - your shim would just be a copy of the framework's API, and it would be exceptionally difficult to take a different framework and make it fit the shim.
E.g. if you need to work with time zones, you can easily write out the function signatures you need, then look up any number of date-time libraries and make any one of them fit your shim.
But if you need to 'manage data flow between backend and UI', and try to write out the function signatures you need, you're either going to be copying a particular framework's API or you're going to have a hell of a time implementing the same signatures for two different frameworks if one is one-way and the other is two-way.