Pagina 1 di 4

C# o Java

Inviato: gio 30 set 2010, 12:12
da hashbang
Ciao a tutti.
ho intenzione di avvicinarmi al mondo della programmazione. Ma sono indeciso nell'iniziare con C# o con Java (lo so che C# è creato da Microsoft ;)). Essendo che non ho mai sviluppato software mi affido alla vostra esperienza sul campo.

Voi cosa ne dite?

Re: C# o Java

Inviato: gio 30 set 2010, 12:19
da DanBadJar
Dal punto di vista tecnico non oso risponderti,
ma dal punto di vista pratico ti posso dire che è decisamente meglio Java (ora è di Oracle).
In ambienti enterprise è decisamente il piu utilizzato, coniugato anche con application server tipo Jboss o Bea Weblogic.

Re: C# o Java

Inviato: gio 30 set 2010, 13:11
da Savius
Ciao Atomix600,
i due linguaggi da te citati sono orientati agli oggetti, se non hai alcuna esperienza nel campo della programmazione in generale, ti sconsiglio di approcciarti direttamente allo studio di questi linguaggi. Devi sapere che esistono fondamentalmente due branche della programmazione: la programmazione imperativa e la programmazione ad oggetti. La programmazione imperativa si apprende facilmente e uno dei linguaggi che sfrutta questo tipo di programmazione è ad esempio il C, nella programmazione ad oggetti invece abbiamo C++, Java, C#, Python etc.

Se vuoi veramente apprendere uno dei linguaggi da te citati, allora ti consiglierei prima di vederti un po' come funziona la programmazione imperativa, poi studiarti un po' di UML che ti fa comprendere facilmente il modo in cui approcciarsi alla programmazione ad oggetti, e infine studiarti uno dei linguaggi da te citati (io ti consiglierei Java comunque :P).

Spero di esserti stato d'aiuto, in ogni caso chiedimi pure ulteriori informazioni se ne hai bisogno. ;)

Re: C# o Java

Inviato: gio 30 set 2010, 13:27
da 414N
Leggevo ieri un articolo riguardo a come probabilmente Python sia il linguaggio migliore col quale iniziare a programmare se non lo si è mai fatto, vista la sua pulizia concettuale e di codice. Forse dovresti prenderlo in considerazione.
Altrimenti, c'è sempre il LOLcode :D

Re: C# o Java

Inviato: gio 30 set 2010, 13:43
da hashbang
414N ha scritto:Leggevo ieri un articolo riguardo a come probabilmente Python sia il linguaggio migliore col quale iniziare a programmare se non lo si è mai fatto, vista la sua pulizia concettuale e di codice. Forse dovresti prenderlo in considerazione.
Altrimenti, c'è sempre il LOLcode :D
conosci qualche buona guida online di Phyton? :-k

Re: C# o Java

Inviato: gio 30 set 2010, 13:52
da 414N
atomix600 ha scritto:
414N ha scritto:Leggevo ieri un articolo riguardo a come probabilmente Python sia il linguaggio migliore col quale iniziare a programmare se non lo si è mai fatto, vista la sua pulizia concettuale e di codice. Forse dovresti prenderlo in considerazione.
Altrimenti, c'è sempre il LOLcode :D
conosci qualche buona guida online di Phyton? :-k
Io trovo molto utile Dive into Python (qui in inglese, qui in italiano), disponibile gratuitamente online.

Re: C# o Java

Inviato: gio 30 set 2010, 14:01
da Vito
Io ho cominciato quando avevo 14 anni con il Pascal.
Poi sono passato per C,C++,Matlab e tra poco Java.
Il mio consiglio,se non hai mai programmato, è di iniziare con il C++ o il C (il C++ è più immediato secondo me).
Il Java poi lo puoi cominciare a studiare non appena hai praticità con la programmazione orientata agli oggetti.

Re: C# o Java

Inviato: gio 30 set 2010, 14:08
da 414N
Vito ha scritto:Io ho cominciato quando avevo 14 anni con il Pascal.
Poi sono passato per C,C++,Matlab e tra poco Java.
Il mio consiglio,se non hai mai programmato, è di iniziare con il C++ o il C (il C++ è più immediato secondo me).
Il Java poi lo puoi cominciare a studiare non appena hai praticità con la programmazione orientata agli oggetti.
Se non ha mai programmato gli oggetti del C++ non è che siano facili subito da digerire e capire.
Per non parlare poi dell'allocazione di memoria sia in C++ che in C, lasciata nella mani (si spera sapienti) del programmatore.

Re: C# o Java

Inviato: gio 30 set 2010, 14:46
da Vito
414N ha scritto: Se non ha mai programmato gli oggetti del C++ non è che siano facili subito da digerire e capire.
Per non parlare poi dell'allocazione di memoria sia in C++ che in C, lasciata nella mani (si spera sapienti) del programmatore.
Però con il C++ puoi benissimo scrivere programmi solo tramite funzioni e procedure.
Per quanto riguarda la gestione della memoria,non so come la gestisca il Java (non conoscendolo) però con il C++ non ho mai avuto problemi!
Io mi appoggio a quello che è il percorso che ho seguito all'università: C-C++-Java.

Re: C# o Java

Inviato: gio 30 set 2010, 15:02
da 414N
Vito ha scritto: Però con il C++ puoi benissimo scrivere programmi solo tramite funzioni e procedure.
E questo dovrebbe essere un pregio? Anche in Assembly si può :)
Vito ha scritto: Per quanto riguarda la gestione della memoria,non so come la gestisca il Java (non conoscendolo) però con il C++ non ho mai avuto problemi!
Java la gestisce autonomamente percui, a parte le 'new' per creare nuove istanze di oggetti, non bisogna preoccuparsi più di tanto della loro deallocazione. Tutt'altro discorso per C e C++, nei quali l'allocazione della memoria è, spesso, tana di parecchi bug nei programmi.
Vito ha scritto: Io mi appoggio a quello che è il percorso che ho seguito all'università: C-C++-Java.
All'università si segue spesso e volentieri quel percorso perché poi, nei corsi di sistemi operativi, senza C non si va avanti.
Nell'ottica del totale inesperto in programmazione senza pretese di programmazione di sistema in 5 minuti, forse una partenza soft con linguaggi come Python è desiderabile, rispetto al doversi preoccupare di direttive per il preprocessore, "che cacchio è 'sto main", punti e virgola/parentesi graffe a volonta, puntatori/indirizzi in memoria, asterischi a destra e manca ecc.
Anche perché, quando si impara a programmare in C, il maggior sforzo profuso va più sul "come cavolo esprimo questo e questo in C?" che, piuttosto, sulla logica del programma/problema.
Quando si sentirà più ferrato nei meccanismi della programmazione Python, potrà sempre "sporcarsi le mani" con C, C++ ecc.

Re: C# o Java

Inviato: gio 30 set 2010, 15:05
da hashbang
414N ha scritto:Io trovo molto utile Dive into Python (qui in inglese, qui in italiano), disponibile gratuitamente online.
L'ho scaricato. Appena posso lo stampo e inizio a studiarmelo per bene :)

Re: C# o Java

Inviato: gio 30 set 2010, 15:59
da 414N
atomix600 ha scritto:
414N ha scritto:Io trovo molto utile Dive into Python (qui in inglese, qui in italiano), disponibile gratuitamente online.
L'ho scaricato. Appena posso lo stampo e inizio a studiarmelo per bene :)
Puoi anche ordinarne una copia, che verrà stampata su richiesta. In questo modo finanzi anche l'autore.
Tra parentesi, c'è una guida analoga (con lo stesso nome) anche per Python 3, il quale introduce diversi cambiamenti al linguaggio (non è retrocompatibile con Python 2.x). Scegli tu quale affrontare.

Re: C# o Java

Inviato: gio 30 set 2010, 16:10
da hashbang
414N ha scritto:Tra parentesi, c'è una guida analoga (con lo stesso nome) anche per Python 3, il quale introduce diversi cambiamenti al linguaggio (non è retrocompatibile con Python 2.x). Scegli tu quale affrontare.
Vedo in molte distribuzioni che la versione di Python inclusa è la 2.6, penso che quindi sia la più diffusa attualmente e perciò un buon punto di partenza (correggimi se sbaglio). Non appena avrò imparato bene la 2x passerò alla 3.

Re: C# o Java

Inviato: gio 30 set 2010, 16:15
da Vito
@414N
Io di solito ho sempre consigliato il C++.
Il tuo ragionamento però non è errato.. :-k

Re: C# o Java

Inviato: gio 30 set 2010, 16:17
da 414N
atomix600 ha scritto:Vedo in molte distribuzioni che la versione di Python inclusa è la 2.6, penso che quindi sia la più diffusa attualmente e perciò un buon punto di partenza (correggimi se sbaglio). Non appena avrò imparato bene la 2x passerò alla 3.
C'è una pagina apposita su python.org:http://wiki.python.org/moin/Python2orPython3.
Molto software è ancora su Python 2.x, percui forse ti conviene dedicarti al "vecchio" per poi affrontare il "nuovo" in seguito.