On the concept of reinvention of the wheel, Redevelopment of the wheel, Re-implementation of the wheel, etc.
Re-implementation of /blu3mo-public/wheel.
(Iâm using it in a different sense than reinventing the wheel, I donât know if the word exists)
-
reinvention of the wheel: without knowing the wheel, come up with a new wheel on your own.
-
reimplementation of the wheel: like in making a car, you donât buy a commercial wheel and make the wheel by yourself?
I use this term âreinventing the wheelâ in a narrower sense than the world uses it, but I thought it was a good idea to make a neat distinction because it is just a bonafide way of using the word in the world. Iâll try to break it down more finely.
- A: Inventing the same solution without knowing the existing solution
- B: You know of an existing solution and implement it without knowing that there is an existing implementation available
- C: Knowing that there are existing implementations available, dare to implement
- C1: For the purpose of acquiring knowledge and the pleasure of creating
- C2: Dissatisfied with the existing implementation and intended to improve it
Opinion on this matter https://www.ipa.go.jp/files/000078693.pdf
-
Message from the 2020 PM
-
We welcome âreinventing the wheelâ in a sensible way. Reinventing the wheel is the act of creating a similar program from scratch by oneself, despite the existence of existing libraries and precedents. Today, there is an abundance of development tools and libraries that allow efficient programming, and it is now possible to create the desired application with fewer man-hours by simply combining and integrating multiple elements. It is sometimes pointed out by outsiders that it is not productive to create something from scratch yourself when someone else already has a library that achieves the same thing. But will that really produce new innovation and technological innovation? Rather, in this day and age, it is more likely to be a competitive advantage to have the skills and hands-on experience to implement application layer programs, to be familiar with lower layer technologies, and to be able to create things from the bottom to the top in one fell swoop. New technological innovations can be created through trial and error, such as understanding the principles of things, skillfully breaking the mold, and creating a new mold of oneâs own. We may reinvent the wheel for learning purposes, but the unexplored requires more than that. It is also important to have a passion for programming itself, a love of writing your own code from scratch to continue until you succeed. As a result, if you can provide even a single new value to the world, you can proudly say that you have ventured into unexplored territory. We welcome proposals based on intrinsic motivation, even if it is reinventing the wheel, and we welcome proposals based on intrinsic motivation that you can continue to be passionate about, even if the implementation is difficult.
- This is in response to the air of rejection of âreinventing the wheelâ in the world, rather than the assertion that C provides a competitive advantage
- Plus, he says, âunexplored requires us to stay in C1 and go for C2.â
I am of the opinion that âthere is no need to reinvent the âarchitectureâ of the wheel, but it is often necessary to create the âobjectâ itself, the wheel.
- Opinion that A is not necessary but C is sometimes necessary
We do not need to waste our brains on âreinventing the wheel,â but rather, we believe that âreimplementing the wheelâ is very important. However, the âreimplementation of the wheelâ is often just a study, and a study is a study. It is similar to writing characters while watching a model in calligraphy. It is not necessary to think about ânew charactersâ when you have a model, but it is like looking at âexisting charactersâ and thinking about why they are the way they are.
- Opinion that A is not necessary but C is useful, but that what is made in C1 is only a study
Why you shouldnât re-implement the wheel - monjudohâs diary
Why you should not use reimplemented wheels The amount of testing and verification is totally different. The true cost of reimplementing a wheel is not only the cost of implementing the wheel, but also the cost of making the testing and verification as extensive as the existing wheel.
- Often overlook the cost of testing and validation when targeting C2
- The result is a lack of reliability, even if you think youâve built something better than whatâs already there.
- So the argument is that it is better not to use it.
https://twitter.com/Pachel_V/status/1075952836406460416
âDonât reinvent the wheelâ is a management saying, in other words, âDonât do what doesnât pay the bills. Conversely, from an engineerâs perspective, I believe that âreinventing the wheelâ is the way to improve technical capabilities, so we should actively reinvent the wheel. reinvented, and then use the existing better wheels for practical use. - Which is more important, monetary capital or knowledge capital?
- Opinion that management tends to oppose C1 because it is unlikely to lead to financial gain, while engineers are right to do C1 to acquire knowledge and then not use it for practical purposes.
This page is auto-translated from /nishio/è»èŒȘăźćçșæ using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. Iâm very happy to spread my thought to non-Japanese readers.