Qual è l'origine del termine negativo "codice legacy"

28

Tutti parlano di codice legacy nello sviluppo del software e ho sentito che il termine negli ultimi dieci anni usato per dipingere qualsiasi base di codice era cattivo.

Da dove nasce questo termine, che ha una connotazione così potente per i programmatori?

Sono sicuro che ci deve essere un libro sullo sviluppo del software che ha aperto la strada a questo termine. Mi piacerebbe individuare l'origine del termine "codice legacy".

    
posta stevebot 09.06.2014 - 17:36
fonte

4 risposte

39

Il codice legacy si basa sulla frase di un sistema legacy che si applica specificamente al codice. Secondo Wikipedia probabilmente risale agli anni '70 ed era di uso comune negli anni '80. È decollato con l'esplosione tecnologica degli anni '90.

Questo può essere visto con il visualizzatore di ngram di Google: sistema legacy, codice legacy

Approfondendoulteriormente,puoitrovareusidocumentatideltermine"sistema legacy" in anni '70 .

Il primo esempio di "sistema legacy" che google ha in un libro su Atti della conferenza di analisi numerica e computer dell'esercito del 1978:

... well strutted and documented solution to a clearly defined problem is the legacy system operation needs to be understood and to change the existing system with confidence.

Esiste anche un esempio di "sistema legacy" utilizzato al di fuori del settore tecnologico in Clout: Womanpower and Politics grin 1976:

... in addition, she holds a seat as the third-ranking Democrat on the powerful Banking and Currency Committee - positions of power she has built up on her own, not via the legacy system.

Al di là di questo esempio che mostra che il suo uso si è esteso oltre il puro mondo del software, le specifiche di dove esattamente il termine originario sono probabilmente perse per le sabbie del tempo. Dati i riferimenti militari e politici, potrebbe aver avuto origine con loro (principalmente il esercito e la sua migrazione in gergo ( < sub> "Sembra probabile che 'kluge' sia arrivato al MIT tramite gli alumni dei molti progetti di elettronica militare eseguiti a Cambridge durante la guerra (molti nel venerabile Edificio 20 del MIT che ospitava la TMRC ..." ))

    
risposta data 09.06.2014 - 17:48
fonte
5

La base di codice legacy di solito non si riferisce a un sistema POS, ma piuttosto a qualsiasi sistema esistente in una base di codice o in un sistema che non è più utilizzato per il nuovo sviluppo. Per esempio il mio team attualmente supporta alcune applicazioni .net 1.1 e 2.0 che sono considerate codice legacy. Se arriva un momento in cui è richiesta una modifica, verranno riscritte o aggiornate per utilizzare i più recenti framework e standard. Fino ad allora li gestiamo come applicazioni legacy che devono continuare a funzionare ma non vengono implementati miglioramenti o correzioni di codice.

Ci sono anche alcuni sistemi legacy che non supportiamo affatto che sono stati scritti in VB6 e Classic ASP. Non abbiamo capacità o direttive per supportare o modificare questi sistemi, ma finché continueranno a funzionare e non avremo necessità di miglioramenti, non saranno probabilmente aggiornati. Non c'è niente di particolarmente sbagliato in nessuno di questi sistemi. Svolgono il loro lavoro nel modo in cui dovrebbero e oltre a sembrare un'app dalla metà alla fine degli anni '90 non hanno grandi problemi.

Quindi legacy non significa POS solo un sistema che è stato creato con una tecnologia o un linguaggio precedenti che non è all'altezza degli attuali standard. Alcuni sistemi legacy si qualificano come POS soprattutto perché mancavano delle metodologie di sviluppo esistenti che consentono il codice gestito e gli oltre 15 anni di esperienza dei veterani del web coder.

    
risposta data 09.06.2014 - 20:38
fonte
3

"Codice legacy" è un termine usato dal marketing per spingere coloro il cui codice è vecchio (ma presumibilmente funziona bene) in aggiornamento ai più recenti (e probabilmente più corretti) linguaggi e tecniche del software. È strettamente collegato al "sistema legacy", che fa riferimento a vecchi hardware e sistemi operativi che funzionano bene ma non sono conformi a ciò che è ora "politicamente corretto" (ad esempio OpenVMS, sistema IBM).

    
risposta data 10.06.2014 - 05:05
fonte
2

Il termine codice precedente risale almeno al 1989 come utilizzato da Glenn Everhart in comp.sys.amiga :

(...by the way, yes, I do sometimes program in C also...but I find it easier to convert legacy code w/o changing its language...)

Non ho trovato nulla di verificabile in precedenza in Google Libri.

    
risposta data 10.06.2014 - 11:57
fonte

Leggi altre domande sui tag