Repository 32bit  Forum
Repository 64bit  Wiki

C# o Java

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Re: C# o Java

Messaggioda Savius » ven ott 01, 2010 15:09

wakkokid ha scritto:Io non sono d'accordo,
Discutevo (qualche anno fa :-D ) con un docente della mia facoltà (ingegneria) sull'opportunità di usare Java per l'esame di Fondamenti di Informatica (io mi chiedevo perché non ci avessero insegnato il C, visto che per metà delle tesi proposte ne era richiesta la conoscenza).
Il motivo della scelta erano
1) ritenevano (ritengono) indispensabile iniziare a programmare con un linguaggio ad oggetti, per dare allo studente una sorta di "imprinting", per fargli avere come primo approccio gli oggetti
2)Perché il Java era il linguaggio più pulito e lineare (non semplice). Ora magari il Python è migliore da questo punto di vista, non lo ho mai usato.


Beh in realtà il tuo/vostro è un punto di vista da ingegneri informatici, il mio è un punto di vista di informatico. :D Ad ingegneria ci si concentra di più sugli aspetti infrastrutturali con realizzazioni di software molto più vicini al controllo hardware, in informatica invece ci si concetra di più sugli aspetti della programmazione di software. Dal punto di vista di un ingegnere informatico posso darti ragione ma dal punto di vista di un informatico, no. ^^''
Avatar utente
Savius
Linux 2.6
Linux 2.6
 
Messaggi: 553
Iscritto il: gio ago 14, 2008 12:45
Località: Napoli
Slackware: Slackware64 14.0
Kernel: 3.2.29-smp
Desktop: KDE 4.8.5

Re: C# o Java

Messaggioda 414N » ven ott 01, 2010 15:17

Savius ha scritto:Beh in realtà il tuo/vostro è un punto di vista da ingegneri informatici, il mio è un punto di vista di informatico. :D Ad ingegneria ci si concentra di più sugli aspetti infrastrutturali con realizzazioni di software molto più vicini al controllo hardware, in informatica invece ci si concetra di più sugli aspetti della programmazione di software. Dal punto di vista di un ingegnere informatico posso darti ragione ma dal punto di vista di un informatico, no. ^^''

E Java sarebbe più vicino al controllo hardware? :-k
Comunque, l'ingegneria del software (che ti becchi se scegli ingegneria informatica) è tutto fuorché vicina al controllo hardware.
Avatar utente
414N
Iper Master
Iper Master
 
Messaggi: 2877
Iscritto il: mer feb 13, 2008 16:19
Località: Bulagna
Slackware: 14.0 (x64)
Kernel: 3.2.29
Desktop: LXDE

Re: C# o Java

Messaggioda Savius » ven ott 01, 2010 15:26

Java è ad oggetti, poi non faccio di tutta l'erba un fascio, dire più vicino non esclude certo altro. Io ho fatto Ingegneria del Software e sono un laureando in informatica, come vedi anche noi studiamo quella materia ciò non toglie che l'Informatica si occupa di più della programmazione di software rispetto all'Ingegneria Informatica e questo è un dato di fatto. La mia non è e non era una critica ma solo una semplice constatazione delle differenze tra i due Corsi di Laurea. ;)
Avatar utente
Savius
Linux 2.6
Linux 2.6
 
Messaggi: 553
Iscritto il: gio ago 14, 2008 12:45
Località: Napoli
Slackware: Slackware64 14.0
Kernel: 3.2.29-smp
Desktop: KDE 4.8.5

Re: C# o Java

Messaggioda 414N » ven ott 01, 2010 15:39

Savius ha scritto:Java è ad oggetti, poi non faccio di tutta l'erba un fascio, dire più vicino non esclude certo altro.[/code]
Java è sì un linguaggio ad oggetti, ma viene compilato in un bytecode che viene eseguito da una macchina virtuale, percui la vedo dura avvicinarlo al controllo hardware di suo.
Savius ha scritto:Io ho fatto Ingegneria del Software e sono un laureando in informatica, come vedi anche noi studiamo quella materia ciò non toglie che l'Informatica si occupa di più della programmazione di software rispetto all'Ingegneria Informatica e questo è un dato di fatto. La mia non è e non era una critica ma solo una semplice constatazione delle differenze tra i due Corsi di Laurea. ;)

Su questo non ci piove.
Avatar utente
414N
Iper Master
Iper Master
 
Messaggi: 2877
Iscritto il: mer feb 13, 2008 16:19
Località: Bulagna
Slackware: 14.0 (x64)
Kernel: 3.2.29
Desktop: LXDE

Re: C# o Java

Messaggioda Savius » ven ott 01, 2010 15:54

414N ha scritto:Java è sì un linguaggio ad oggetti, ma viene compilato in un bytecode che viene eseguito da una macchina virtuale, percui la vedo dura avvicinarlo al controllo hardware di suo.


Ma infatti non ho mai detto il contrario, dico solo che la programmazione ad oggetti ha dalla sua parte, la caratteristica di essere facilmente utilizzata per controllori hardware, grazie a questa particolarità è possibile sviluppare software che possa gestire apparecchiature quali ad esempio lettori MP3 etc. Ma qui stiamo parlando di "programmazione", quindi è bene fare le opportune considerazioni sui diversi approcci alla programmazione e su quale sarebbe il modo migliore per conoscere questa "attività". Mi trovo d'accordo su tutto quanto detto da Masalapianta, se vuoi veramente imparare a programmare, conoscere veramente l'ABC della programmazione, non puoi approcciarti direttamente alla programmazione ad oggetti senza passare prima per quella imperativa. Quindi ricapitolando: se vuoi programmare per hobby o per semplice interesse, allora va bene qualsiasi tipo di linguaggio, ma se vuoi imparare "veramente" a programmare, allora devi seguire le tappe descritte anche da Masalapianta.

L'ingegneria informatica e l'informatica camminano a braccetto, non sono materie contrastanti perché gli ingegneri si occupano di aspetti più generali della programmazione, sono incentrati sull'analisi e il controllo dell'hardware e del software, mentre gli informatici si occupano di aspetti legati alla programmazione di software, all'analisi sulla complessità degli algoritmi e tutti gli aspetti teorici e pratici su tutto ciò che riguarda la programmazione e l'informatica teorica.
Ultima modifica di Savius il ven ott 01, 2010 15:58, modificato 1 volta in totale.
Avatar utente
Savius
Linux 2.6
Linux 2.6
 
Messaggi: 553
Iscritto il: gio ago 14, 2008 12:45
Località: Napoli
Slackware: Slackware64 14.0
Kernel: 3.2.29-smp
Desktop: KDE 4.8.5

Re: C# o Java

Messaggioda Vito » ven ott 01, 2010 15:58

Offtopic:
Savius ha scritto:Beh in realtà il tuo/vostro è un punto di vista da ingegneri informatici, il mio è un punto di vista di informatico. :D Ad ingegneria ci si concentra di più sugli aspetti infrastrutturali con realizzazioni di software molto più vicini al controllo hardware, in informatica invece ci si concetra di più sugli aspetti della programmazione di software. Dal punto di vista di un ingegnere informatico posso darti ragione ma dal punto di vista di un informatico, no. ^^''


Un ingegnere (di qualunque tipo) dovrebbe essere un professionista in grado di progettare un qualcosa.
A Napoli insistono molto su questo aspetto che differenzia l'ingegnere dagli "altri".
Ad ingegneria (almeno a Napoli,ma dovrebbe essere così dappertutto) vengono date basi teoriche più forti (a scapito di quelle pratiche in molti casi) proprio per dare quella "metodicità" necessaria ad un ingegnere.
"Stat rosa pristina nomina, nomina nuda tenemus." [ Umberto Eco - Il nome della rosa]

"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]
Avatar utente
Vito
Staff
Staff
 
Messaggi: 4122
Iscritto il: mar dic 05, 2006 17:28
Località: Augsburg
Nome Cognome: Vito
Slackware: 64 14.0 multilib
Kernel: 3.2.29-xps
Desktop: KDE 4.10.2
Distribuzione: Linux Mint 17

Re: C# o Java

Messaggioda Blallo » ven ott 01, 2010 16:00

Vito ha scritto:Offtopic: Un ingegnere (di qualunque tipo) dovrebbe essere un professionista in grado di progettare un qualcosa.
A Napoli insistono molto su questo aspetto che differenzia l'ingegnere dagli "altri".
Ad ingegneria (almeno a Napoli,ma dovrebbe essere così dappertutto) vengono date basi teoriche più forti (a scapito di quelle pratiche in molti casi) proprio per dare quella "metodicità" necessaria ad un ingegnere.

Offtopic: Quoto. Anche qui al Poli di Torino ci danno fortissime basi teoriche, spesso coadiuvate da pochissimo laboratorio. Da un lato è un male, perchè operare con delle cose pratiche lo ritengo molto utile, ma da un altro lato ti abitua a ragionare e progettare prima di eseguire qualunque cosa
Io sono il detective Arsenio Magret, e porto sempre la camicia TATUATA!
Avatar utente
Blallo
Packager
Packager
 
Messaggi: 3212
Iscritto il: ven ott 12, 2007 10:37
Località: Torino / Torremaggiore (FG)
Nome Cognome: Savino Liguori
Slackware: 14.1 / 12.2
Kernel: 3.12.2-ck
Desktop: Openbox

Re: C# o Java

Messaggioda Savius » ven ott 01, 2010 16:08

Offtopic: Beh anche noi progettiamo, non siamo meri "operai" che si buttano sul codice e basta, per quello basta il diploma di Perito Informatico. :p

Sugli aspetti teorici noi siamo più incentrati su quelli delle grammatiche, sui linguaggi (non quelli di programmazione), ad esempio abbiamo esami quali: Informatica Teorica, Linguaggi di Programmazione in cui si studiano gli automi, le grammatiche etc.
Avatar utente
Savius
Linux 2.6
Linux 2.6
 
Messaggi: 553
Iscritto il: gio ago 14, 2008 12:45
Località: Napoli
Slackware: Slackware64 14.0
Kernel: 3.2.29-smp
Desktop: KDE 4.8.5

Re: C# o Java

Messaggioda 414N » ven ott 01, 2010 16:30

Savius ha scritto:
414N ha scritto:Java è sì un linguaggio ad oggetti, ma viene compilato in un bytecode che viene eseguito da una macchina virtuale, percui la vedo dura avvicinarlo al controllo hardware di suo.

Devo aver travisato la tua risposta a wakkokid. Chiedo venia.
Savius ha scritto:Ma infatti non ho mai detto il contrario, dico solo che la programmazione ad oggetti ha dalla sua parte, la caratteristica di essere facilmente utilizzata per controllori hardware, grazie a questa particolarità è possibile sviluppare software che possa gestire apparecchiature quali ad esempio lettori MP3 etc.

Se stai parlando di software che deve finire su microcontrollori, la vedo dura anche per i linguaggi ad oggetti. In certi casi, è già tanto se si ha a disposizione il C. Se, invece, ti stai riferendo al software di controllo di dispositivi esterni lato PC, beh, qui tutti i santi aiutano.
Savius ha scritto: Ma qui stiamo parlando di "programmazione", quindi è bene fare le opportune considerazioni sui diversi approcci alla programmazione e su quale sarebbe il modo migliore per conoscere questa "attività". Mi trovo d'accordo su tutto quanto detto da Masalapianta, se vuoi veramente imparare a programmare, conoscere veramente l'ABC della programmazione, non puoi approcciarti direttamente alla programmazione ad oggetti senza passare prima per quella imperativa. Quindi ricapitolando: se vuoi programmare per hobby o per semplice interesse, allora va bene qualsiasi tipo di linguaggio, ma se vuoi imparare "veramente" a programmare, allora devi seguire le tappe descritte anche da Masalapianta.

Ma dove sta scritto che bisogna per forza passare dall'approccio imperativo per arrivare all'approccio ad oggetti? Solo perché storicamente è stato così, non vuol dire che sia il miglior metodo per imparare qualcosa di nuovo per chiunque. Senza parlare degli altri approcci alla programmazione neanche citati in questo thread, quali l'approccio dichiarativo, l'approccio ad agenti ecc.
Forse è meglio che ci mettiamo d'accordo sul termine "programmazione". Io per programmazione intendo l'attività che porta a tradurre una specifica data da un linguaggio (meglio formale) ad un altro, comprensibile da una macchina.
Penso che i bravi programmatori siano quelli che riescono a catturare le dinamiche delle specifiche ed a tradurle al meglio per la macchina che dovrà rispettarle, che questo comporti usare un linguaggio di basso livello o un miscuglio di n linguaggi di alto/basso livello.
La peggior cosa che un programmatore possa fare è "fossilizzarsi" su un linguaggio di programmazione o su un solo approccio alla programmazione, ignorando o ritenendo inferiori gli altri linguaggi/approcci rispetto al suo "preferito". E, naturalmente, è così che funziona nella stragrande maggioranza di aziende italiane :thumbright:

Offtopic: Purtroppo anche a Bologna non è che ci si frusti le mani a far pratica. Il colmo è stato un corso di "laboratorio di ingegneria del software", che, delle 9 ore settimanali, prevedeva 3 ore in laboratorio e 6 di teoria/lezione in aula :(
Savius ha scritto:Sugli aspetti teorici noi siamo più incentrati su quelli delle grammatiche, sui linguaggi (non quelli di programmazione), ad esempio abbiamo esami quali: Informatica Teorica, Linguaggi di Programmazione in cui si studiano gli automi, le grammatiche etc

Pensa te, sto proprio litigando con la macchina di Turing per l'esame di linguaggi :)
Ultima modifica di 414N il ven ott 01, 2010 16:39, modificato 1 volta in totale.
Avatar utente
414N
Iper Master
Iper Master
 
Messaggi: 2877
Iscritto il: mer feb 13, 2008 16:19
Località: Bulagna
Slackware: 14.0 (x64)
Kernel: 3.2.29
Desktop: LXDE

Re: C# o Java

Messaggioda d4z_c0nf » ven ott 01, 2010 16:36

Salvius non capisco da dove tu abbia dedotto la seguente considerazione:
Codice: Seleziona tutto
gli ingegneri si occupano di aspetti più generali della programmazione, sono incentrati sull'analisi e il controllo dell'hardware e del software,


Il concetto di controllo dell'hardware soprattutto non mi è ben chiaro. Devo pur dire che ormai anche la facoltà di Informatica ha cambiato il suo approccio, dando molta importanza alla fase di progettazione e quindi all'approccio ingegneristico allo sviluppo software. Credo che attualmente, ma accetto smentite, la vera differenza sia che la facoltà di Informatica si proponga di formare degli speciacilisti del settore, senza però sottovalutare l'aspetto ingegneristico volto alla risoluzione dei problemi, mentre Ing. Informatica, a scapito della pratica nello sviluppo del software, tenda a fornire un'educazione "scientifica" più ampia che abbraccia altri campi quali l'elettronica e le telecomunicazioni la robotica, che necessitano di nozioni matematiche un po' più forti.
Con questo non voglio dire che gli uni siano meglio degl'altri.

Altra perplessità mi viene dalla tua (Salvius) contrapposizione tra programmazione "imperativa" e ad oggetti. Ho sempre pensato che la imperativa fosse un insieme che contenesse al suo interno la programmazione ad oggetti, e che fosse la programmazione dichiarativa a contrapporsi a quella imperativa. Forse intendevi programmazione strutturata?

In definitiva partire dalla struttura dell'elaboratore fino all'assembly ed al C per poi arrivare alla programmazione ad oggetti, è un po' il percorso che abbiamo fatto tutti. Io credo che prima di approcciare un qualsiasi linguaggio di programmazione sarebbe bene studiare gli ALGORITMI e le STRUTTURE DATI.
Avatar utente
d4z_c0nf
Packager
Packager
 
Messaggi: 1293
Iscritto il: mar mar 14, 2006 18:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce

Re: C# o Java

Messaggioda hashbang » ven ott 01, 2010 16:44

sir_alex ha scritto:Che ingegneria?
Comunque, se la facoltà è fatta come si deve, nel primo corso di informatica dovrebbero insegnarti C... che sicuramente non è il massimo per iniziare, ma solo per gli informatucoli da quattro soldi, quelli che vanno a fare informatica (o ing informatica) perchè hanno giocato con i videogiochi per i 5 anni delle superiori, ed ora sono convinti di voler imparare a scriverli, senza avere la più pallida idea del fior fiore di basi teoriche che stanno dietro ad ogni singola riga di codice.
Tra l'altro, per insegnare C devono per forza spiegarti il funzionamento del calcolatore, dato che si parla quasi subito di indirizzi di memoria!
Ingegneria dell'informazione a Lecce. Non sono di quel tipo di ragazzi fidati. A me l'informatica piace da quando avevo 6 anni (a quell'età ebbi il mio primo computer) da allora ho sempre cercato di imparare il più possibile (sia su Windows sia su Linux). Fossi stato come gli altri me ne starei tranquillo con Windows piantato su Messenger e Facebook a cazzeggiare con le fesserie invece di usare Slackware e chiedere un consiglio a chi ne sa più di me.
Adoro il pragmatismo della lingua giapponese, è l'unica in cui per dire ad una ragazza che la ami le dici "suki". (cit.)
Avatar utente
hashbang
Packager
Packager
 
Messaggi: 1823
Iscritto il: ven giu 04, 2010 9:27
Località: Lecce
Nome Cognome: Luca De Pandis
Distribuzione: Windows 8.1 Pro

Re: C# o Java

Messaggioda Vito » ven ott 01, 2010 16:49

Offtopic:
d4z_c0nf ha scritto:Credo che attualmente, ma accetto smentite, la vera differenza sia che la facoltà di Informatica si proponga di formare degli speciacilisti del settore, senza però sottovalutare l'aspetto ingegneristico volto alla risoluzione dei problemi, mentre Ing. Informatica, a scapito della pratica nello sviluppo del software, tenda a fornire un'educazione "scientifica" più ampia che abbraccia altri campi quali l'elettronica e le telecomunicazioni la robotica, che necessitano di nozioni matematiche un po' più forti.


la differenza sostanziale,anche secondo me, sta proprio in quello che dici tu.
Io non frequento ingegneria informatica (frequento ing. dell'automazione,simile ad informatica ma incentrata sulla robotica),
noto che sull'informatica vera e propria un informatico è più ferrato in quanto il suo corso è più specifico e resta sempre legato alla programmazione e all'architettura.
Non penso vengano affrontato problematiche di robotica che richiedono un bagaglio matematico diverso (per esempio le trasformate di Laplace e Fourier utilizzate per l'analisi dei sistemi LTI in un dominio diverso dal tempo).
Come hai detto tu però posso sbagliarmi,non conoscendo tutti i curriculum messi a disposizione dalla laurea in informatica.
"Stat rosa pristina nomina, nomina nuda tenemus." [ Umberto Eco - Il nome della rosa]

"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]
Avatar utente
Vito
Staff
Staff
 
Messaggi: 4122
Iscritto il: mar dic 05, 2006 17:28
Località: Augsburg
Nome Cognome: Vito
Slackware: 64 14.0 multilib
Kernel: 3.2.29-xps
Desktop: KDE 4.10.2
Distribuzione: Linux Mint 17

Re: C# o Java

Messaggioda Vito » ven ott 01, 2010 16:52

atomix600 ha scritto:Ingegneria dell'informazione a Lecce. Non sono di quel tipo di ragazzi fidati. A me l'informatica piace da quando avevo 6 anni (a quell'età ebbi il mio primo computer) da allora ho sempre cercato di imparare il più possibile (sia su Windows sia su Linux). Fossi stato come gli altri me ne starei tranquillo con Windows piantato su Messenger e Facebook a cazzeggiare con le fesserie invece di usare Slackware e chiedere un consiglio a chi ne sa più di me.


non penso volesse offendere nessuno,
piuttosto penso volesse sottolineare che poi il C non è difficilissimo da imparare per una persona volenterosa.
Certo non è paragonabile al phyton(che tengo a sottolineare conosco molto superficialmente e con il quale non ho mai programmato seriamente).
"Stat rosa pristina nomina, nomina nuda tenemus." [ Umberto Eco - Il nome della rosa]

"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]
Avatar utente
Vito
Staff
Staff
 
Messaggi: 4122
Iscritto il: mar dic 05, 2006 17:28
Località: Augsburg
Nome Cognome: Vito
Slackware: 64 14.0 multilib
Kernel: 3.2.29-xps
Desktop: KDE 4.10.2
Distribuzione: Linux Mint 17

Re: C# o Java

Messaggioda hashbang » ven ott 01, 2010 16:59

Vito ha scritto:
atomix600 ha scritto:Ingegneria dell'informazione a Lecce. Non sono di quel tipo di ragazzi fidati. A me l'informatica piace da quando avevo 6 anni (a quell'età ebbi il mio primo computer) da allora ho sempre cercato di imparare il più possibile (sia su Windows sia su Linux). Fossi stato come gli altri me ne starei tranquillo con Windows piantato su Messenger e Facebook a cazzeggiare con le fesserie invece di usare Slackware e chiedere un consiglio a chi ne sa più di me.


non penso volesse offendere nessuno,
piuttosto penso volesse sottolineare che poi il C non è difficilissimo da imparare per una persona volenterosa.
Certo non è paragonabile al phyton(che tengo a sottolineare conosco molto superficialmente e con il quale non ho mai programmato seriamente).
Offtopic: io non me la sono presa....ci mancherebbe altro :lol: :lol: :lol:
Adoro il pragmatismo della lingua giapponese, è l'unica in cui per dire ad una ragazza che la ami le dici "suki". (cit.)
Avatar utente
hashbang
Packager
Packager
 
Messaggi: 1823
Iscritto il: ven giu 04, 2010 9:27
Località: Lecce
Nome Cognome: Luca De Pandis
Distribuzione: Windows 8.1 Pro

Re: C# o Java

Messaggioda hashbang » ven ott 01, 2010 17:02

Offtopic: forse questo può essere d'aiuto per svelare le differenze tra le due facoltà http://www.informatica.ingegneria.unige.it/diffinginf.htm
Adoro il pragmatismo della lingua giapponese, è l'unica in cui per dire ad una ragazza che la ami le dici "suki". (cit.)
Avatar utente
hashbang
Packager
Packager
 
Messaggi: 1823
Iscritto il: ven giu 04, 2010 9:27
Località: Lecce
Nome Cognome: Luca De Pandis
Distribuzione: Windows 8.1 Pro

PrecedenteProssimo

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

cron