I am smarter syndrome

Sometimes in University I found bold young guy saying something like:

I will reimplement this in machine language because is faster

I will reimplement this xyz C function by my own

My program crash, I think there is a bug in HP UNIX socket implementation

I will ge rid of this Java Garbage Collector because it is too slow. I will reimplement all the code in my C++ routine.


Belive me: your code is doomed. A full list of guys have already done your same code, found a million bugs and corrected it in the tool you want to replace because they are shitty slow, to your eyes.

I feel your pain because I made your same mistake. Keep reading.

First of all, let’s how many paper are cited in the OpenJDK java source code. It is a quite impressive number.

It is quite impressive too the number of papers on Garbage Collections, even considering only the papers until 1995.

The Not invented Here syndrome is often a bad things. In 2001, Joel Spolsky correctly said us when you should use it (and become a very  bold boy):

If it’s a core business function — do it yourself, no matter what.

But if Garbage collection, synchronization primitive, database optimization, sorting algorithms are not your business, please stop re-implementing the wheel.

You cannot easily win 50 years of IT knowledge… or do you can?