marioram (Normal User)
Newbie
Messaggi: 6
Iscritto: 27/08/2016
|
Al liceo metà del quarto anno e il quinto anno abbiamo lavorato col C++.
Ora il mio dubbio è se proseguire con il C++ o iniziare con Java?
|
|
lumo (Member)
Expert
Messaggi: 449
Iscritto: 18/04/2010
|
Se conosci la programmazione ad oggetti passare da C++ a Java è facile.
In genere però non se ne fa molta a scuola.
In ogni caso imparare un linguaggio in più se ne conosci soltanto uno è una buona cosa da fare, ti dà prospettive diverse sul modo di risolvere i problemi.
Java non è un bellissimo linguaggio, però funziona e ha come vantaggio che gira su android.
|
|
Template (Member)
Pro
Messaggi: 177
Iscritto: 09/12/2015
|
La risposta non è univoca: dipende dai tuoi obiettivi, da come eventualmente intendi proseguire gli studi, dalla tua effettiva situazione...
Tendenzialmente, io ti consiglierei di ripartire dalle basi e studiare opportunamente il C, aggiungendo Java solo in un secondo momento. Il C++ lascialo stare: davvero, una persona non competente non riuscirebbe mai a capirne l'idea di fondo.
|
|
Roby94 (Member)
Guru
Messaggi: 1170
Iscritto: 28/12/2009
|
In contrasto con entrambi io ti consiglierei di perseguire la strada C++, un ottimo linguaggio con cui imparare a programmare.
Generalmente i corsi universitari per programmatori iniziano il programma con l'ANSI C, nonostante sia un linguaggio vecchissimo, le motivazioni sono da ricercarsi nella "elementarità" del linguaggio che obbliga il programmatore ad essere consapevole di cosa accada a livello macchina. Il C però come linguaggio di uso comune sta perdendo velocemente piede, soppiantato da altri linguaggi piu moderni come il C++14, che rende la vita più semplice al programmatore, offrendo potenzialità che il C con il suo basso livello di astrazione si sogna. è vero che esisteranno ancora per molto tempo settori dove il C dominerà incontrastato (come nell'ambiente delle MCU) ma se non hai interessi in questi specifici campi io ti consiglierei di passare subito ad una versione recente del C++.
C++ è indubbiamente uno dei linguaggi più diffusi e dal enorme valore didattico, nonché commerciale.
A confronto con altri linguaggi estremamente diffusi come il JAVA e il C# permette di apprendere un buon metodo di programmazione di più basso livello. La faccio semplice, è sicuramente più facile imparare a programmare ben in C++ e poi imparare lo JAVA che il contrario.
EDIT:
Vorrei segnalare questo talk https://www.youtube.com/watch?v=z0IMpyRxrn4&index=6&list=PL ... tenuto da Marco Fobo(una delle testacce dietro ad italian C++) su come secondo lui è giusto imparare a programmare con il C++ al giorno d'oggi.
Ultima modifica effettuata da Roby94 il 28/08/2016 alle 1:32 |
|
Template (Member)
Pro
Messaggi: 177
Iscritto: 09/12/2015
|
Il C++ è un linguaggio davvero enorme e proteiforme, che poco si presta alla didattica introduttiva: come fai a dire ad uno che non sa programmare (e non mi si venga a dire "eh ma lui già ha imparato a scuola", che lo sappiamo tutti cos'è la scuola italiana nell'ambito dell'informatica...) come programmare in C++? Che gli insegni, la programmazione strutturata (e allora tanto valeva imparare il C) o quella ad oggetti, comunque partendo dal presupposto che prima o poi dovrai spiegargli che il C++ è progettato anche per il paradigma di programmazione generica?
Inoltre, l'apprendimento del C come primo linguaggio - proprio per il suo basso livello di astrazione - presenta dei vantaggi non da poco:
1 - Abitua a progettare le soluzioni: ineluttabilmente, il novellino (soprattutto se autodidatta) che inizia il C++ e si trova davanti la classe vector finisce per usarla indiscriminatamente; con il C, invece, deve imparare a gestire bene lo spazio pre-allocato e/o utilizzare correttamente le funzioni di allocazione
2 - È "mono-tematico": con il C puoi fare un po' di tutto, se lo conosci bene, ma comunque non hai bisogno di imparare più stili di programmazione: il C è un linguaggio con caratteristiche ben precise, semplici e definite, al contrario del C++ che (come accennavo sopra) supporta nativamente più paradigmi
3 - È facile reperire sorgenti utilizzabili: il C ha - l'ho appena detto - il suo "stile" ben definito, e qualsiasi sorgente decente è sostanzialmente basato su quello (al netto di tutte le ovvie variabili); usando il C++, invece, si tende (Stroustrup stesso lo consiglia) a mixare i vari stili di programmazione, ottenendo risultati difficilmente comprensibili per un novellino... e questo non è bene: sappiamo tutti quanto si apprenda leggendo dei sorgenti reali.
|
|
TheDarkJuster (Member)
Guru^2
Messaggi: 1620
Iscritto: 27/09/2013
|
Sembra che tutti abbiano fretta di imparare il c++. Verrà il momento in cui sarai pronto, ma non mi sembra il caso di partire dal c++: ti ritroveresti ad aver problemi a pensare ad algoritmi e poi a come scriverlo.
Parti da qualcosa di puramente funzionale e più semplice.... tipo il Pascal.
Il pascal non piace a nessuno, è limitato, è professionalmente inutile, scomodo e brutto, ma dal punto di vista didattico è un ottimo linguaggio!
|
|
marioram (Normal User)
Newbie
Messaggi: 6
Iscritto: 27/08/2016
|
Grazie per le risposte molte dettagliate che avete dato.
A questo punto sono indeciso se partire con il C o Pascal, anche se sarei più propenso per il C.
|
|
Template (Member)
Pro
Messaggi: 177
Iscritto: 09/12/2015
|
Io consiglio - s'è capito - il C, perchè il Pascal proprio non mi piace... ma ad onor del vero, concordo con DarkJuster quando dice che trattasi di un linguaggio di possibile utilità didattica.
|
|
lumo (Member)
Expert
Messaggi: 449
Iscritto: 18/04/2010
|
Non avevo capito che si trattasse di una conversazione a proposta aperta.
In questo caso, sconsiglio il pascal per il semplice fatto che i programmi per scrivere pascal sono in genere vecchi. Il linguaggio è buono ma diverge molto dall'impero C-like (o ML-like) che c'è oggi, inoltre ha delle seccature che lo rendono molto bacchettone.
Ricordo a tutti che imparare a programmare non vuol dire imparare solo il linguaggio: serve imparare quello che puoi fare con il linguaggio (ossia algoritmi) e come farlo (ossia cose che sembrano banali ma non lo sono, cioè compilare, scrivere materialmente il codice ecc)
Secondo me per imparare a programmare bisogna avere un linguaggio che vada poco in mezzo ai piedi, in questo senso consiglio assolutamente python.
Se invece piace l'aspetto tecnico, la ricerca del dettaglio e capire come funziona la programmazione a basso livello, il C è l'unica opzione al giorno d'oggi.
Ultima modifica effettuata da lumo il 28/08/2016 alle 15:50 |
|