6

To those of us who suffer from "Not invented here syndrome", I want you to ask yourself this question. If "reinventing the wheel is so valuable", would you re-implement the entire OSI stack?

No, as it would be a COMPLETE waste of time!!!

In all the layers below your application, several things related to how your code gets presented to your end-user are abstracted away from you. If you are able to accept that completely, why do you feel the need to re-implement every well-understood part of your particular project?

Cars, for example, are mostly made from standardized parts that solve well-understood problems. It then may have a few custom parts that may solve some novel problems to make it stand out from the rest.

Buildings are made completely from standardized parts, with regulations on how they are put together with some room for artistic flare.

If Software wants to be as equally respected as the rest, we need to get to that point.

DONT reinvent the wheel, just use battle-tested parts and just focus on what your project is trying to solve. It will be way more fruitful and fulfilling.

/rant

Comments
  • 2
    Yea but... If no-one reinvented the when then there would be no progress. The more people go out to write something new that fixes a problem they have, the more progress we have.

    Ofcourse, rewriting exact replicas is a waste of time. And often times development speed and stability matter more than progress so you should use well established stuff.
    But for hobby projects? Reinvent away. I've written many things that already exist but did them a little differently and it has helped me learn, alot.
  • 1
    To add to the previous counterpoint, standards don't start out as standards, be they ISO-developed or de facto organically emergent standards. They can't come into existence as battle-tested parts from day one.

    Sometimes what your project is trying to solve, even if indirectly, is the tyranny of the standard itself, providing options that might ironically reach the status of standard themselves, thereby changing and evolving the standard.

    While I agree that software development should be as respected as other engineering disciplines, I don't think it should get there by giving the same weight and persistence to standardization.
    Our parts and materials are thoughtforms, more mutable and composable than any physically-bound ones.

    I guess what I'm trying to say here is that standardization is very useful in figuring out how to build something, but I see it more as a default choice than a preferential one.
  • 0
    Go on. If you like abstraction, https is useless in guaranteeing security, use IPSec instead like we are told since 1999.

    Sometimes, the solution that is all made is bad from top to bottom and you have to work out your way to make things work like you want them to
  • 1
    @Shodan I really like your take. However, what are your thoughts on music? It’s parts are also thought forms. It’s also so very well understood that without knowing the theory, you can just use the standardized parts and create a song that communicates any type of emotion you want. Lots of tutorials online on how to do exactly that.

    I’m just saying that software also needs to get there. However most of us have these egos. We are all Richard Feynman wannabes. He had so much potential but he wasted so much time replicating research done by others solely because he thought he was smarter than them, rather than contributing on top of what was done...
  • 0
    @windlessuser I think I see where you're getting at, but formulating a single indisputable theory (e.g. music theory) based on intrisic laws (e.g. math) is something that I don't see software development doing unless you go into impractical levels of abstraction/generalization - it all boils down to manipulating electrons in the end, and I feel that what we need to do with them has way more branchable conceptual layers than music.

    Your OSI model example is a good one, but how many more decades will it hold as a standard, I wonder? Do we have enough understanding to claim that the scientific models we use to interpret reality are absolute?

    I think that it's more of a matter of how useful that model is in understanding rather than how definitive and "true" it is, because what we know changes.

    I hope I'm making any sort of sense here 😅
  • 0
    @Shodan we’re converging, awesome! It doesn’t matter if a standard gets replaced by another; it happens in other disciplines too. We just need one so that we don’t need to start from scratch every time.

    Again with OSI, layer one can be Cat1-7, Coaxial cable, fiber or WiFi. Regardless, layer one always behaves as layer one. We’ve developed a standard for Authentication and Authorization via OAuth2.x. While it has many vendors, you have a good idea how it works if you read the spec.

    On the flip side, what if HTML didn’t exist and the browser vendors each did their own thing... trust that web design would be in a very dark place... it’s the current case with REST as NO ONE uses the HTTP spec as intended
Add Comment