Reinventare la ruota o la tecnologia che la guida? [chiuso]

-3

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?

    
posta series0ne 04.03.2013 - 10:26
fonte

1 risposta

5

Ci sono 2 motivi per cui questo accade:

  1. Qualcuno pensa di poterlo fare meglio. Questo è il caso di NHibernate vs Entity Framework. Sono stati creati da diversi (gruppi di) persone per risolvere gli stessi problemi. Entrambi hanno affrontato il problema da un lato diverso, pensando che sarebbero stati più bravi a risolverlo. Ogni volta che qualcuno fa questo, devono essere sicuri, sono in grado di creare qualcosa di meglio di ciò che esiste. Se il parser JSON che hai scritto in una settimana non può fare tutto ciò che i parser JSON esistenti fanno e qualcosa in più, allora è inutile. O se questo parser JSON lo fa in modo che sia necessario, ma altri parser JSON non possono fornire. Ma l'analisi di JSON è relativamente semplice ed è difficile credere che tu abbia bisogno di qualcosa che altri parser non forniscono. L'unico motivo per cui dovresti crearlo è imparare come scrivere parser JSON.
  2. I problemi cambiano. Questo è il caso di Windows 8 vs Windows 7. Win 8 è stato creato per la nuova era, dove touch, app store, piattaforme bloccate e piccoli dispositivi hanno futuro, invece di vecchi desktop pesanti, tastiera e mouse. Questo non sembra essere il tuo problema, perché JSON è ancora una delle prime scelte per la serializzazione dei dati. Ovviamente ne varrebbe la pena se ti venisse in mente un formato di archiviazione che sarebbe in qualche modo migliore di JSON. E non ne dubito affatto.
risposta data 04.03.2013 - 10:51
fonte

Leggi altre domande sui tag