Quando non avrai più bisogno di una lingua, dovresti ancora usarla? [chiuso]

4

La mia prima lingua principale era Java. Tuttavia, nel corso degli anni ho abbandonato Java in favore di Python, JavaScript, bash, ecc. Ho ancora una conoscenza avanzata della lettura di Java, ma poiché non l'ho codificato per così tanto tempo, la mia conoscenza della scrittura è al massimo . L'altro giorno, mentre guardavo un vecchio codice scritto in Java, ho avuto l'ispirazione di riscriverlo come esperienza di apprendimento per riprendermi.

Fu a quel punto che mi fermai a pensare che se avessi scritto questo in Java sarebbe stato bello, ma quando l'ispirazione rinnovata mi colpì, volli implementarla come app web (era un gioco) , così altre persone potrebbero giocarci.

Quindi ora ecco il dilemma: Riscrivo (e rifacimento pesantemente) il codice che ho precedentemente scritto in Java, e allora in JavaScript (per la versione web), o faccio dimenticarti completamente di Java e riscrivilo in JavaScript?

EDIT: Non ho problemi a scrivere in Java prima e poi in JavaScript, ma è più probabile che non avrò più bisogno di Java per molto tempo. Quello che sto cercando di chiedere è se dovrei prima riscrivere il vecchio codice in Java, per esercitarmi in un'abilità che potrebbe non essere necessaria in futuro. Le lingue attuali sono meno importanti di quella domanda.

    
posta chrisdotcode 10.08.2012 - 19:15
fonte

3 risposte

5

Considera il tuo risultato finale: un gioco online, scritto in JavaScript.

Come tale, prendi ispirazione dalla tua vecchia base di codice e pianifica in anticipo.

Il modo in cui mi avvicinerei a questo sarebbe capire quale refactoring farei e usare sia il vecchio codebase che il piano di refactoring come un progetto per un nuovo codebase che usa JavaScript.

Il mio punto è che se stai per fare il refactoring su Java, quindi porta direttamente a JavaScript, avrai dei problemi durante il porting da Java a JavaScript (idiomi, come funzionano i diversi environmentw, ipotesi non rilevanti per Java ecc ... ). Eliminando il passaggio intermedio, sai che JavaScript non sarà una porta diretta e sarà già avanti per quanto riguarda i problemi con una porta diretta.

Dato che questo è un progetto personale progettato per il tuo divertimento, dovresti mirare a quello - non avere per rifattorizzare l'intera base di codice. Se inizi e senti che non è costruttivo ai tuoi obiettivi (riaccendere il divertimento nella programmazione), fermati e procedi con la riscrittura in JavaScript, senza aver fatto un sacco di lavoro che trovi noioso.

    
risposta data 10.08.2012 - 19:21
fonte
5

L'uso di una vecchia lingua suona ottimamente; a volte abbiamo quasi un nostalgico apprezzamento per le lingue che abbiamo usato in precedenza nelle nostre vite. Come una casa in cui vivevamo quando eravamo giovani. Questa è la mia analogia e risposta.

Le cose che mi hanno costretto a lasciare la casa dei miei genitori quando avevo 18 anni non si ricordano facilmente. Ma se tornassi indietro, l'apprezzamento rosato e la nostalgia svanirebbero rapidamente. Ricorderei la doccia vicino alla mia stanza con poca pressione. Il limey ha ammorbidito l'acqua del pozzo. L'incapacità di portare una ragazza senza mio padre impegnandole in una esposizione filosofica sul loro scopo nella vita.

E come nota a margine ... Java è per te come PHP per me. Mi sono anche trasferito in Python. L'uso di uno strumento che NON DEVE utilizzare, fa sì che alla tua attività manchi un componente chiave. Lo chiamo "il ponte della necessità". Questo ponte ci trascina attraverso i fiumi che ci manca il coraggio, la motivazione o l'ambizione di attraversare noi stessi. Avvicinati sempre a un progetto con un ponte di necessità. Spesso prometto ad amici come "In una settimana avrò questa fantastica demo da mostrarti". Questo mi costringe a togliermi il culo e programmare la cosa interessante che stavo sputando o che altrimenti sarei un bugiardo. Non vuoi essere un bugiardo, vero?

:)

    
risposta data 10.08.2012 - 22:24
fonte
1

Anche se non usi direttamente la "vecchia" lingua, ne troverai sempre gli usi pratici, sia indirettamente (le idee usate originariamente in quella lingua introdotte nelle nuove lingue) o direttamente (nel caso di Java puoi vedere già quante lingue sono costruite sulla JVM e incoraggiare l'interoperabilità con le librerie Java esistenti - Scala, JRuby, Clojure, ecc.). L'uso di un altro linguaggio JVM significa che non è nemmeno necessario riscrivere il codice: basta riutilizzarlo e scrivere solo le nuove parti nella tua lingua preferita.

    
risposta data 12.08.2012 - 01:14
fonte

Leggi altre domande sui tag