Recentemente ho fatto una domanda su StackOverflow che era correlata alla divisione delle stringhe e alla corrispondenza dei pattern in .NET.
Alcuni sviluppatori dagli occhi spalancati che hanno visualizzato la domanda hanno detto: " Sembra che tu stia cercando di analizzare una stringa JSON ... perché non usi semplicemente JSON.NET o JavaScriptSerializer ".
La conversazione si è svolta su una tangente, (ed è stata annullata, molto probabilmente perché non potevano vedere il punto di scrivere alcune funzionalità, che è già stato fatto.)
Ho le mie ragioni per scrivere questa funzionalità ... la mia implementazione fino ad ora è slick e super-veloce (anche se soffre un po 'di suddivisione delle stringhe, da qui la domanda StackOverflow).
Penso che il punto che questi sviluppatori stavano cercando di fare fosse, " perché reinventare la ruota? "
Potrei anche obiettare: " Perché preoccuparsi di sviluppare NHibernate, quando Microsoft ha costruito un Entity Framework perfetto? ", o " Perché preoccuparsi di costruire Windows 8, quando Windows 7 è perfettamente sistema operativo desktop adatto? "Vale lo stesso principio, vero?
Quando un'azienda automobilistica progetta una nuova auto, non sta reinventando la ruota; piuttosto, stanno migliorando la tecnologia che lo guida. Allo stesso modo, il mio parser JSON è un'implementazione piacevole, ordinata e veloce (anche se, come gli stati sopra, soffre un po 'sulla suddivisione delle stringhe), quindi, quando il mio parser è pronto, dovrei essere evitato per scrivere qualcosa che è già stato fatto, o lodato per averlo fatto meglio?
EDIT: considera il seguente Q / A: Sta reinventando la ruota davvero così male?