Vale la pena imparare una lingua arcaica? [duplicare]

3

Uno dei miei migliori professori universitari parlava spesso dei vantaggi dell'apprendimento di un linguaggio arcaico (COBOL o ABAP SAP per esempio) nel proprio tempo libero a causa dei vantaggi che offre quando si cercano posti di lavoro ben pagati o se ci si trova fuori dal lavoro e bisognoso di lavoro temporaneo (consulenza, ecc.). Ero curioso di sapere quali sono i tuoi pensieri su questo, specialmente se lavori con queste lingue e se l'investimento nel tempo potrebbe davvero ripagare per le future cacce di lavoro.

Per un po 'di background, sono uno sviluppatore di software junior relativamente fresco al di fuori del college, con la conoscenza di solo Java, SQL e programmazione web (JS, HTML, CSS, ecc.) che mi hanno fornito la mancanza di opportunità di lavoro finora.

AGGIORNAMENTO: ho pensato che fosse interessante. Attualmente sto cercando lavoro (sempre una buona cosa a mio parere, e DICE lo rende semplice), e sono stato appena contattato da un'azienda per una posizione SAP ABAP in cui la formazione nella lingua sarebbe stata parte del lavoro. Grazie a tutti coloro che hanno risposto, prenderò certamente in considerazione il vostro consiglio!

    
posta Yottagray 15.12.2011 - 01:13
fonte

6 risposte

15

Chiedi alle bacheche di lavoro

Se stai chiedendo "questa abilità arcaica è commerciabile?", direi di controllare le bacheche di lavoro. Prendiamo COBOL, ad esempio.

Se vedi molti lavori COBOL e se pagano molto meglio dei lavori che richiedono competenze già esistenti, c'è la tua risposta.

( Questa ricerca rapida su Indeed non suggerisce che i lavori di COBOL paghino particolarmente bene e che cerchino Ruby vs COBOL su Dice trova, a partire da questo momento, 1657 per Ruby e 589 per COBOL.)

Altre considerazioni

D'altra parte, devi chiedere:

  • Come sarebbe l'ambiente di lavoro? Il codice arcaico che funziona con database arcaici può essere esasperante. Il denaro (se è buono) vale la pena?
  • Resterai bloccato mantenendo i vecchi sistemi per sempre? Imparerai le convenzioni che rendono difficile la transizione ad altre lingue o hai competenze sul tuo curriculum che altri datori di lavoro contano davvero contro di te?
  • Ci sono altre abilità lucrative che potresti imparare che sarebbero più divertenti? Ad esempio, identifica una tecnologia emergente invece di una vecchia, e sii tra i primi a dominarla.
  • Considerati i possibili fattori negativi sopra, quanto più i lavori di COBOL dovrebbero pagare per renderlo utile a te? 50% in più? 200% in più? Qualunque sia quel numero, sembra che il mercato lo stia offrendo?

Confronta i risultati di ricerca

Se tutto ciò che stai cercando è un sacco di opportunità, ti suggerisco di farlo:

  • Crea un elenco di tutte le lingue e abilità informatiche a cui puoi pensare
  • Cerca tutti su un grande sito di lavoro
  • Classifica per risultato e / o retribuzione media
  • scegli i migliori e impara quelli, o prendi quello in alto e impara molto bene.

Un approccio alternativo sarebbe come questo:

  • Esegui la ricerca comparativa sopra
  • Dividi le abilità in gruppi e scegli l'elemento con il punteggio più alto di ogni gruppo: un linguaggio dinamico, uno funzionale, ecc. e impara quelli. Questo ti darebbe una vasta base di abilità e potresti ragionevolmente dire cose come "Non conosco Ruby ma conosco Python, e sono piuttosto simili."

Questo ha anche il vantaggio di sembrare meno mercenario e più probabilmente di farti diventare un grande programmatore. :)

    
risposta data 15.12.2011 - 01:46
fonte
4

Se il tuo obiettivo è essere in grado di competere nel mercato del lavoro suppongo che questo sia specifico per il paese, quindi affronterò questo punto dal punto di vista degli Stati Uniti.

Negli Stati Uniti ci sono molti vecchi programmatori che sono stati licenziati da grandi compagnie che hanno più di 10 anni di esperienza in queste lingue "arcaiche". Se tu fossi un gestore assumente bisognoso di un programmatore COBOL o FORTAN per un sistema legacy complesso (difficilmente avrebbero costruito un nuovo sistema in un linguaggio arcaico!), Chi assumeresti? Sarebbe un programmatore con 20 anni di esperienza su COBOL o uno sviluppatore web hotshot che ha imparato COBOL sul lato per divertimento ma non ha mai realmente lavorato come programmatore COBOL?

D'altra parte, se l'obiettivo è quello di ampliare le tue conoscenze in generale o perché vuoi farlo per divertimento, allora ti dico di farlo. È sempre utile imparare più lingue.

    
risposta data 15.12.2011 - 13:22
fonte
2

Stai anche prendendo un costo opportunità imparandoli. Potresti imparare qualcosa di moderno e direttamente utile, ma non lo sei - stai invece imparando COBOL. Se hai già tutte le competenze e le conoscenze necessarie per il tuo campo, potrebbe valerne la pena come copertura o curiosità, ma sei uno sviluppatore junior. Hai ancora competenze e strumenti di base per imparare

    
risposta data 15.12.2011 - 21:16
fonte
1

Non sono sicuro se ABAP si qualifica come una lingua arcaica poiché metà della fortuna 500 sta eseguendo almeno un pacchetto SAP aggiornato. Il design è decisamente arcaico.

In ogni caso per rispondere alla domanda. Sì, vale sicuramente la pena imparare, non come opzione di carriera primaria, ma ci sono diversi progetti che stanno sostituendo un sistema COBOL o più comunemente l'interfaccia con un sistema COBOL esistente. Una comprensione di COBOL e dei suoi ambienti è un vantaggio decisivo anche se il progetto stesso è Java, C # o altro.

Anche una conoscenza di COBOL, Basic o ABAP ti farà apprezzare quanto sei fortunato a programmare in Java: -).

    
risposta data 15.12.2011 - 05:14
fonte
0

Come qualcuno che è entrato in contatto con lingue arcaiche (come FORTRAN e un paio di altre lingue specifiche del dominio), direi che non dovresti iniziare a imparare queste lingue finché non ne hai bisogno nel tuo lavoro. Quando hai bisogno di lavorare su quel vecchio modulo, impara abbastanza per fare la correzione e andare avanti. Trascorrere molto tempo a diventare un esperto di F77 non è utile in questi giorni.

Sul lato positivo, molte delle lingue più vecchie sono molto più semplici in quanto ci sono pochi costrutti, parole chiave e una libreria standard molto piccola, quindi imparare queste lingue è facile in confronto.

MODIFICA per aggiungere che dovresti imparare C dentro e fuori se non lo hai già fatto. Le lingue più vecchie sembrano vivere più vicine all'hardware (nonostante il Lisp e altri funzionali o usi limitati, quelli che vedrai sono abbastanza vicini a C per farne la pena).

    
risposta data 15.12.2011 - 05:00
fonte
0

Se è classificato nella tua mente o nella mente della comunità in generale come arcaico, allora direi di starne alla larga se non hai buone ragioni per esaminarlo. Come accennato in precedenza, sarebbe difficile competere con i vecchi e arrugginiti sviluppatori che hanno usato quelle lingue arcaiche per decenni.

Tuttavia, sono d'accordo con la premessa più ampia di imparare altre lingue, anche alcune delle più oscure. Proprio come il programmatore pragmatico, consiglierei di imparare una nuova lingua ogni anno. Vorrei anche fare un passo in più e dire che dovresti alternare diversi tipi di lingue. Un anno impara un nuovo linguaggio dinamico come Ruby o Python, poi impara un nuovo linguaggio desktop come Eiffel o Delphi, poi impara un linguaggio funzionale come Haskell o Scala, quindi scegli un linguaggio o un framework specifico per il web come jQuery, YUI, node.js , php o simili. Se ti annoi, fai un crack con un linguaggio di basso livello come C, HLA, PowerBasic o Assembler. Nel momento in cui fai il giro completo, ci saranno nuove lingue o strutture da provare.

L'idea è che imparerai nuovi approcci per risolvere problemi che forse non ti erano mai stati esposti prima.

    
risposta data 15.12.2011 - 22:43
fonte

Leggi altre domande sui tag