TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Reinventing the wheel, good or bad?

5 pointsby vsakosabout 10 years ago
I frequently find myself in a situation when there is an existing library, framework or something that can do the work I need with a few lines of code, but instead of using existing and well tested tools, I&#x27;m creating everything from zero.<p>Is this a good or a bad thing?

7 comments

misframerabout 10 years ago
Whether it is good or bad depends on the context. If your employer, team, or clients need something done but reinventing the wheel is consuming disproportionate resources, it&#x27;s probably a bad thing.<p>On the other hand, if you&#x27;re working on something as a hobby or something where you don&#x27;t have the same constraints, then reinventing the wheel is a <i>great</i> way of learning. You can learn about things, how they work, and how they&#x27;re designed, but unless you try to do it yourself, it&#x27;s much harder to grasp why things are the way they are and not some other way.<p>Regardless of the context, it&#x27;s important to make sure you limit the number of things you reinvent. Otherwise, you&#x27;ll keep reinventing and never make any progress beyond what has already been done.
viraptorabout 10 years ago
As usual - it depends. A few guiding questions:<p>- does anyone wait for and pays for the result, or are you just practising &#x2F; learning?<p>- can you list at least one thing which is not correct&#x2F;optimal in the existing project?<p>- can you explain how the existing project work?<p>- can you say before starting how&#x2F;why will you do better than the existing project?<p>If you just practice - do what you want. If you do real work, better prepare answers for the other questions. Both for your justification and for when you&#x27;re asked why it takes extra time and why are you not using X.
danielvfabout 10 years ago
&quot;Go not to the elves for counsel, for the will tell you both yea and nay.&quot; - Tokien<p>It&#x27;s impossible to say if it&#x27;s a good thing or a bad thing, since so much of it depends on the programmers, the business, and the libraries you are replacing.<p>Fun side project, maybe write your own. You are Solo or tiny team, maybe write your own You know why exsisting libraries have problems, write your own. You have plenty of customers, and need to scale beyond what other people are doing, maybe write your own.
nickm12about 10 years ago
As everyone else said, the correct answer here is very situational.<p>Adding dependencies to your program should not be taken lightly. Rewriting something that you can get in &quot;a few lines of code&quot; from an existing framework should also not be taken lightly.<p>In general, I lean towards using existing code where possible because it lets you spend your time writing new functionality for your own code, whatever it is. However, I never want to pull in a dependency just for one function---dependencies have their cost so I want to be sure I&#x27;m getting a lot of value as a result.
LarryMade2about 10 years ago
It&#x27;s inevitable.<p>Technology keeps reinventing itself and usually needs a different model wheel than the ones produced earlier. Sometimes it could be an old forgotten wheel re-imagined on the new technology or maybe some slick shiny wheel that starts a fad.<p>Until we have technology more universally stable (processor, platform, etc) we will be reinventing wheels.<p>For your case, did you try the other methods? did they work? can yours do better? If you can prove progress&#x2F;advancement its good, if you just want to do it, might not be so good (at least while at work).
joshuapantsabout 10 years ago
The way you describe it, it definitely sounds bad. If you can build a better wheel, by all means start from scratch, but that probably won&#x27;t be the case in every last situation you find yourself in so you&#x27;ll probably end up having wasted a lot of time.
M8about 10 years ago
Maybe the wheel was invented when someone tried to reinvent the drag harrow.