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.
Avatar utente
Savius
Linux 3.x
Linux 3.x
Messaggi: 553
Iscritto il: gio 14 ago 2008, 13:45
Slackware: Slackware64 14.0
Kernel: 3.2.29-smp
Desktop: KDE 4.8.5
Località: Napoli

Re: C# o Java

Messaggio da Savius »

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
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: C# o Java

Messaggio da 414N »

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
Savius
Linux 3.x
Linux 3.x
Messaggi: 553
Iscritto il: gio 14 ago 2008, 13:45
Slackware: Slackware64 14.0
Kernel: 3.2.29-smp
Desktop: KDE 4.8.5
Località: Napoli

Re: C# o Java

Messaggio da Savius »

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
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: C# o Java

Messaggio da 414N »

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
Savius
Linux 3.x
Linux 3.x
Messaggi: 553
Iscritto il: gio 14 ago 2008, 13:45
Slackware: Slackware64 14.0
Kernel: 3.2.29-smp
Desktop: KDE 4.8.5
Località: Napoli

Re: C# o Java

Messaggio da Savius »

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 1 ott 2010, 16:58, modificato 1 volta in totale.

Avatar utente
Vito
Staff
Staff
Messaggi: 4182
Iscritto il: mar 5 dic 2006, 17:28
Nome Cognome: Vito
Desktop: MacOS
Località: Monaco (DE)
Contatta:

Re: C# o Java

Messaggio da Vito »

Offtopic:
Savius ha scritto: Offtopic: 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. ^^''
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.
"Stat rosa pristina nomina, nomina nuda tenemus." [ Umberto Eco - Il nome della rosa]

"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]

Avatar utente
Blallo
Packager
Packager
Messaggi: 3302
Iscritto il: ven 12 ott 2007, 11:37
Nome Cognome: Savino Liguori
Slackware: 14.2 / 12.2
Kernel: 4.4.14-smp
Desktop: DWM
Località: Torino / Torremaggiore (FG)
Contatta:

Re: C# o Java

Messaggio da Blallo »

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

Avatar utente
Savius
Linux 3.x
Linux 3.x
Messaggi: 553
Iscritto il: gio 14 ago 2008, 13:45
Slackware: Slackware64 14.0
Kernel: 3.2.29-smp
Desktop: KDE 4.8.5
Località: Napoli

Re: C# o Java

Messaggio da Savius »

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
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: C# o Java

Messaggio da 414N »

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: Offtopic: 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
Offtopic:
Pensa te, sto proprio litigando con la macchina di Turing per l'esame di linguaggi :)
Ultima modifica di 414N il ven 1 ott 2010, 17:39, modificato 1 volta in totale.

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar 14 mar 2006, 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.2-current64
Kernel: 4.14.73
Desktop: awesomeWM
Località: Pinerolo

Re: C# o Java

Messaggio da d4z_c0nf »

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.

hashbang
Packager
Packager
Messaggi: 2021
Iscritto il: ven 4 giu 2010, 10:27
Nome Cognome: Luca De Pandis
Distribuzione: macOS/OpenBSD
Località: Lecce/Bergamo

Re: C# o Java

Messaggio da hashbang »

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.

Avatar utente
Vito
Staff
Staff
Messaggi: 4182
Iscritto il: mar 5 dic 2006, 17:28
Nome Cognome: Vito
Desktop: MacOS
Località: Monaco (DE)
Contatta:

Re: C# o Java

Messaggio da Vito »

Offtopic:
d4z_c0nf ha scritto:Offtopic: 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.
Offtopic:

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: 4182
Iscritto il: mar 5 dic 2006, 17:28
Nome Cognome: Vito
Desktop: MacOS
Località: Monaco (DE)
Contatta:

Re: C# o Java

Messaggio da Vito »

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]

hashbang
Packager
Packager
Messaggi: 2021
Iscritto il: ven 4 giu 2010, 10:27
Nome Cognome: Luca De Pandis
Distribuzione: macOS/OpenBSD
Località: Lecce/Bergamo

Re: C# o Java

Messaggio da hashbang »

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:

hashbang
Packager
Packager
Messaggi: 2021
Iscritto il: ven 4 giu 2010, 10:27
Nome Cognome: Luca De Pandis
Distribuzione: macOS/OpenBSD
Località: Lecce/Bergamo

Re: C# o Java

Messaggio da hashbang »

Offtopic: forse questo può essere d'aiuto per svelare le differenze tra le due facoltà http://www.informatica.ingegneria.unige ... inginf.htm

Rispondi