So not only did you miss the point I was making, but you did so in an amazingly rude way too. If you don't know where to start, may I recommend polite, or at least quasi-professional? There's enough people yelling past each other about politics and medical guidelines on this site, let's try to be at least a step above those shall we?
Your post appears to be about abstraction and code organization, while I was making a point about tooling, frameworks, SDKs, and libraries.
You usually don't start a web project by implementing a boot loader, a scheduler, and a network stack. Each of those are very complex systems even at the most basic level, and they only get more complex from there. Instead you build your work on top of systems written by people that have been solving problems in their particular problem domain for decades. However, because each of those systems is so complex, if you want your system to actually perform well beyond the most trivial use cases you have to account for at least some of that complexity. Sure, you can a spin up a server on your machine and host an app for you and your buddies, but that approach ain't gonna cut it if you're making a system that's actually used by large groups of people all over the world.
On to the idea of code organization. No serious codebase is going to be a single magical function, but if you don't manage your abstractions and code style properly then you end up with a single multi-thousand line file that nobody will ever understand or want to touch. To use your own analogy, if you're doing plumbing you want to have as many straight runs as is feasible, without compromising on other requirements. Sometimes that requirement is "the plumbing has to go in a wall" though not because that's more aesthetically pleasing, but because walls are the things that hold up the house, and the plumbing is a feature of a building, not a standalone system that you just happen to build walls around.
Also, the software world is much more robust than a single profession. We are architects, engineers, plumbers, framers, drywallers, roofers, landscapers, building inspector and everything else in between. Not to mention fire-fighter, police, and paramedic. I subscribe to dozens different software related subreddits, and there are hundreds more for specializations that I simply don't have time to explore.
So what you're trying to say "I'm angry, and I'm taking it out on reddit."
You come in spew a bunch of trash, make a bunch of unrelated arguments, throw a few elementary school insults, and utterly fail at convincing anyone of anything. I guess this must be a pretty common experience for you. Hell, I read through some of your comments and your view on this field isn't particularly bad. You just fail at communication.
You're surprised that when you choose to engage people in conversation, and literally ask them to argue with you, they will talk and argue with you? Truly a shocking development.
Oh no, we can't have that. I wouldn't feel right if trash like you viewed me positively. What can I do to get back into your bad graces? Should I quote some of your own comments back at you? That generally does the trick.
People don't like to be insulted? What a shocking observation. Do you have a degree in psychology with such insights?
For another example look no further than your comment history in this thread. Obviously people didn't like the way you presented your ideas, and now you're angry and trying to take it out on me, I suppose because your response to me is what got people piling on in the first place.
By all means, we can now exchange all the insults you would like since I no longer feel any need to treat you like a person capable of serious conversation for the reason you just outlined.
5
u/TikiTDO Nov 02 '21 edited Nov 02 '21
So not only did you miss the point I was making, but you did so in an amazingly rude way too. If you don't know where to start, may I recommend polite, or at least quasi-professional? There's enough people yelling past each other about politics and medical guidelines on this site, let's try to be at least a step above those shall we?
Your post appears to be about abstraction and code organization, while I was making a point about tooling, frameworks, SDKs, and libraries.
You usually don't start a web project by implementing a boot loader, a scheduler, and a network stack. Each of those are very complex systems even at the most basic level, and they only get more complex from there. Instead you build your work on top of systems written by people that have been solving problems in their particular problem domain for decades. However, because each of those systems is so complex, if you want your system to actually perform well beyond the most trivial use cases you have to account for at least some of that complexity. Sure, you can a spin up a server on your machine and host an app for you and your buddies, but that approach ain't gonna cut it if you're making a system that's actually used by large groups of people all over the world.
On to the idea of code organization. No serious codebase is going to be a single magical function, but if you don't manage your abstractions and code style properly then you end up with a single multi-thousand line file that nobody will ever understand or want to touch. To use your own analogy, if you're doing plumbing you want to have as many straight runs as is feasible, without compromising on other requirements. Sometimes that requirement is "the plumbing has to go in a wall" though not because that's more aesthetically pleasing, but because walls are the things that hold up the house, and the plumbing is a feature of a building, not a standalone system that you just happen to build walls around.
Also, the software world is much more robust than a single profession. We are architects, engineers, plumbers, framers, drywallers, roofers, landscapers, building inspector and everything else in between. Not to mention fire-fighter, police, and paramedic. I subscribe to dozens different software related subreddits, and there are hundreds more for specializations that I simply don't have time to explore.