2009-01-31 16 views
6

Mi piacerebbe iniziare a scrivere app Android. Apparentemente tutto in Java. I lavori di programmazione su Craigslist sono almeno 100 da Java a 1 C++. Voglio imparare Java.Devo imparare contemporaneamente C++ e Java?

Sfortunatamente, il programma CS che sto considerando insegna C++ piuttosto che Java, quindi C++ è ciò che sto imparando. (Sono sicuro che l'apprendimento del C++ mi insegnerà a codificare bene, ma lo farebbe anche Java, e poi potrei trovare un lavoro. È frustrante che i programmi CS rimangano con le lingue che usano da 20 anni invece di insegnare lingue che aiuteranno i loro gli studenti ci riescono.)

La mia domanda è se sia una buona idea aprire i libri Java sul mio scaffale dopo aver finito i miei compiti in C++. Riuscirò a confondermi o finirò meglio in entrambi? Qualcuno ha imparato contemporaneamente sia C++ che Java?

Modifica: Grazie per tutte le risposte rapide! Ho fatto un po 'di programmazione e ho imparato facilmente le lingue, penso. Il confronto fianco a fianco fa appello a me. Ma tendo anche a mordere più di quanto possa masticare, e imparare C++ e Java sembra il tipo di grande pasto che potrebbe mettermi nei guai.

+6

Pensa che sarà difficile per te ottenere un lavoro conoscendo C++. Penso che tu debba rivalutare ciò che è l'informatica. Per quanto riguarda la possibilità di ottenere un lavoro .. sei serio? Ad ogni modo, i programmatori Java sono a dozzine e se lo vuoi davvero, c'è una fattoria cubo che ti aspetta. – BobbyShaftoe

+0

Non penso che sarebbe molto di un tratto. Siamo stati codificati in C/C++ a scuola per la maggior parte delle classi ma quando torno a casa e non sto facendo i compiti ho fatto progetti personali in C#. Non c'è stato alcun conflitto e se allunghi l'apprendimento delle lingue nei tuoi 4 anni, non è male – mmcdole

+1

Ehi, se ti venisse insegnato Java, ti direi comunque di imparare C/C++. – geowa4

risposta

24

Non vedo un vero problema con questo. Come bonus aggiuntivo potrai leggere le sezioni pertinenti dei libri fianco a fianco e vedere come confrontano e contrastano le differenze nel modo in cui le lingue gestiscono le cose.

Ad esempio, mentre si leggono i puntatori in C++, potrebbe essere utile visualizzare in che modo i tipi di riferimento Java funzionano in una certa misura.

Non essere frustrato, la tua scuola insegna C++, sii grato. Leggi, The Perils of Java Schools. Non sei in una scuola di tecnologia che cerca di imparare la lingua più calda del momento. Sei lì per imparare l'informatica. La mia scuola insegna Java come lingua introduttiva e penso che sia un grosso errore. Dovremmo imparare C piuttosto che quando avremo introdotto Java (ad esempio, classe Object Oriented) sapremo cosa sta succedendo e niente di "magico" sta accadendo per noi.

Le conoscenze acquisite nella tua laurea, e persino dall'uso di C o C++, trascenderanno l'ultima lingua "popolare".

4

Se non hai ancora programmato, impara C++. Ha le cose più semplici che JAVA ha in più un po 'di più. Quando avrai a che fare con C++ JAVA sarà facile.

4

Non ci sono necessariamente più lavori Java che lavori in C++, varia notevolmente da regione a regione; dove stai guardando?

Penso che il C++ sia un ottimo fondamento e che l'apprendimento di Java sarebbe più facile una volta conosciuto il C++ e che in genere è un linguaggio più semplice da apprendere. Se hai l'attitudine alla programmazione, puoi imparare entrambe le lingue contemporaneamente.

Tuttavia (e questo è un grande comunque), se la maggior parte della programmazione effettiva che fai a scuola è in C++ (homeworks, progetti, ecc.), E Java è qualcosa che farai come un hobby e meno frequentemente, finirai per essere migliore in C++.

Quando vai alle interviste di lavoro, è meglio essere bravi in ​​una lingua piuttosto che essere mediocri in entrambi.

1

Imparare qualsiasi numero di lingue diverse è sempre una buona pratica. Può aiutarti a assimilare meglio i concetti e la teoria dietro ciò che stai imparando piuttosto che concentrarti sulla sintassi e sulle parole chiave. Detto questo, le idee sono abbastanza simili ma potrebbe essere frustrante imparare entrambe contemporaneamente perché potresti trasporre la sintassi mentre procedi.

La principale differenza è la garbage collection, e penso che una volta imparato il C++ si impari a capire e ad apprezzare i vantaggi di un sistema garbage-collected. Cercando di imparare Java allo stesso tempo, potresti confonderti o frustrarti. Impara i concetti chiave, ottieni una buona base con C++, quindi passa a Java quando sei pronto.

1

Vi consiglio di guardare entrambi. Se il tuo corso C++ è terminato, sarai un programmatore Java migliore e lavorerai con esso. Se ti senti ancora confuso, puoi comunque smettere di leggere i libri Java fino al termine del corso.

Sono sempre all'apprendimento del C++ e di altre lingue allo stesso tempo e mi diverto con esso. Certamente direi che sto imparando qualcosa piuttosto che essere confuso da ciò.

1

Basta chiedersi quanto sia facile apprendere i concetti al momento. Quanto è profonda la comprensione che ottieni?

Se capisci bene, sarà facile per te distinguerli e separarli. Se è un po 'difficile per te, probabilmente potresti confonderlo.

5

Imparare prima il C++. Impara anche C. Impara Lisp o Schema. Dopo questo, Java diventerà un pezzo di torta.

2

Se sei intelligente non ti confonderai.

In effetti direi: impara anche un'altra lingua, Perl o Python.

1

Basta imparare il C++ in questo momento se pensi di poterti confondere imparando le due lingue contemporaneamente. Non vuoi mettere a repentaglio i tuoi voti.

Successivamente, verso la fine del semestre o dopo di esso, occorrono alcuni giorni per imparare anche Java. Non è niente di grave. Una volta che conosci C++ sarà facile e veloce imparare Java. E hai qualcosa a cui guardare: Java ha una sintassi più pulita ed è più facile da capire (nessun puntatore, ecc.).

3

100 Java a 1 C++? Ho appena cercato su dice.com e ha restituito 9322 per Java e 4777 per C++. Certo, Java è più richiesto ma il rapporto è vicino a 2: 1. Inoltre, c'è anche il lato "offerta" dell'equazione - ci sono più programmatori Java in competizione per le posizioni.

5

Here 's carta che ho trovato stimolante.

Anche se è un po 'lungo e non proprio azzeccato alla tua domanda, spero che vedrai una risposta. Assicurati di averlo letto fino alla fine. Vale la pena leggerlo.

+0

Ho sempre avuto la comprensione che il TCP trasporta i pacchetti IP. Buon articolo però. – BBetances

1

Come mai non vedo raccomandazioni per imparare C#? Se mai imparerei C++ e C# contemporaneamente. Penso che non dovresti puntare solo su una o due lingue, comunque. Impara uno nuovo ogni anno o giù di lì. Una volta presa in considerazione l'OOP e i modelli di progettazione, le lingue diventano banali (soprattutto). Quindi puoi avere più di un curriculum. Dovresti anche pensare a cosa vuoi fare esattamente ... sviluppo web? roba di basso livello? Fare driver di periferica? Allarga un po 'i tuoi orizzonti e approfondisci ciò che rende TU, come programmatore, un segno di spunta.

3

Come studente e programmatore, devo dire che è troppo facile distrarsi con tecnologie diverse.

Se stai facendo C++ dovresti studiare sodo per questo, altrimenti stai praticamente procrastinando imparando Java.

C++ ha un sacco di cose che Java non ha, e se stai studiando - non otterrai voti se inizi a scrivere Java nei tuoi test C++!

Il mio consiglio è di trovare un progetto che si possa usare in C++ (forse un po 'di opengl?) - forse ci sono alcuni suggerimenti migliori (io non codifico in C++). In questo modo ti divertirai imparando ciò che dovresti imparare :)

1

Ho passato anni a lavorare in C -> C++ -> Java e ora C#.

IMO, C++ è un eccellente linguaggio di primo livello perché si impara molto di più su ciò che sta succedendo sotto la cappa (cose come i puntatori e gli heap che sono nascosti in Java e C#) mentre si utilizza ancora un linguaggio orientato agli oggetti. Ti consiglio di immergerti in C++ finché sei nelle classi C++.

Sono anche un sostenitore dell'apprendimento del linguaggio assembly. Anche in Java o C# ci sono occasioni in cui è utile immergersi fino al livello di assemblaggio nel debugger.

Una volta che conoscete bene il C++, Java e C# e altri linguaggi statici saranno facili per voi. La parte più difficile sarà imparare a sfruttare efficacemente le librerie fornite con queste lingue.

Lascerò il soggetto delle lingue dinamiche agli altri poiché non ho alcuna esperienza da cui parlare.

8

C++ è un linguaggio che richiede settimane per imparare e anni da padroneggiare. Quindi prima entrerai prima lo padronerai.

Non confondersi con le metriche del numero di lavori. Il rapporto tra lavori noiosi e interessanti è probabilmente anche il 100 a 1, come hai affermato. Anche in questi giorni di cose di alto livello sapere paga di basso livello.

IMHO i lavori più interessanti (di programmazione) là fuori sono lavori in C++. Sebbene possano esserci progetti interessanti in Java o in C#, la maggior parte di essi riguarda lo spostamento dei dati in giro (da DB a html o gui, ritorno a DB ...). Dipende da cosa vuoi programmare per vivere ;-).

Se sei interessato alla robotica, alla computer vision, alla grafica computerizzata ... dovresti sicuramente andare in C++.

+0

Icona fantastica, amo il muschio. – mmcdole

Problemi correlati