PDA

View Full Version : Imparare programmazione, lavorare o studiare?


LKS
08-01-2013, 11:05
Ciao a tutti, mi scuso se la domanda non è completamente pertinente alla sezione.
Sto iniziando ad addentrarmi nel mondo dell'informatica, sono un ragazzo ed ho compiuto 20 anni da un mese. A parte la piccola parentesi compresa nel mio piano di studio al liceo scientifico, ho iniziato a studiare informatica all'università (ing. industriale), dove ho imparato il Java. In contemporanea ho trovato lavoro come assistente informatico presso la società di calcio della mia città, che gioca in serie B, questa società insieme a poche altre (Inter e Parma) gestisce la vendita dei biglietti e il controllo accessi autonomamente, non con lottomatica o altre aziende, quindi il lavoro nel complesso è abbastanza appagante e formativo. Oltre a questo nel contempo sto lavorando con un azienda nel settore delle biciclette di alta gamma, dove mi hanno sottoscritto un contratto di Formazione e lavoro, dovrei imparare il Php e qualcosa di Ajax.
Ora naturalmente con questi lavori sto trascurando l'università, un vostro pensiero personale, mi conviene: continuare a lavorare e costruirmi il mio curriculum e le mie conoscenze sul campo lavorando, o continuare l'università passando magari alla triennale di informatica, considerando però che questa facoltà non si trova nel raggio della mia regione e dovrei prendere il treno e fare il pendolare.
Ultima precisazione, alla società di calcio potrebbero inserirmi nell'azienda a Roma che produce il software che utilizziamo per l'organizazzione degli accessi, vendite e controllo biglietterie, sempre con contratto di formazione e lavoro.
Mi scuso per la lunghezza del messaggio, attendo vostri pareri! Grazie :)

cdimauro
08-01-2013, 16:38
Il mio consiglio è che se ne hai la possibilità frequenta l'università e segui bene i corsi; prenditi la laurea, anche di primo livello.

Ti aiuterà molto a sviluppare la mentalità giusta per approcciarti alla risoluzione dei problemi.

killercode
08-01-2013, 17:22
Io terrei uno dei due lavori per un annetto e poi dedicarsi completamente all'uni fino alla laurea.

Avere una laurea e un'esperienza lavorativa è la cosa migliore

misterx
09-01-2013, 06:19
avendo frequentato l'uni lavorando full time e studiando (famiglia compresa), se mi baso sulla fatica e lo stress che ciò comporta sarebbe meglio solo studiare. Va da se che terminati gli studi se hai anche lavorato sai come muoverti nel mondo del lavoro e visti i tempi che corrono più cose si sanno e meglio è per te.

Io continuerei anche a lavorare però mantenendo la concentrazione 80% uni e 20% lavoro il che significa: sto lavorando ma non mi devo rilassare in quanto devo terminare gli studi.

Buon lavoro

franksisca
09-01-2013, 13:52
Vado "un pò" contro corrente...anche se hai l'età dalla tua parte, io punterei più su certificazioni gratificanti e il mantenimento dei due lavori.

certo dipende molto anche dalle tue prospettive future...se hai intenzione di fare carriera nella progettazione, allora la laurea è necessaria

stillano
09-01-2013, 14:50
non tutte le lauree escono dalle confezioni di patatine.... una laurea in ing. informatica o scienze informatiche richiede impegnno full time a meno che poi tu non sia un geniaccio...

franksisca
09-01-2013, 16:46
non tutte le lauree escono dalle confezioni di patatine.... una laurea in ing. informatica o scienze informatiche richiede impegnno full time a meno che poi tu non sia un geniaccio...

concordo, parlo da laureato in ingegneria informatica

misterx
09-01-2013, 21:05
concordo anche con te...ma se la laurea vuoi finirla in 3 anni spaccati allora dovresti fare SOLO quello...lavorando le probabilità di protrarre gli impegni a lungo termine a livello uni cresce esponenzialmente

concordo, però dipende dalla situazione economica in cui uno si trova.
Lavorando, purtroppo qualcosa la si deve pagare in termini di efficienza e di tempo, difatti mi sono laureato in informatica leggermente in ritardo ma a me andava bene anche così, l'importante per me è stato arrivare sino in fondo.
Unico piccolo vantaggio nel mio caso, è che ritrovandomi a svolgere proprio una mansione da informatico ho messo in pratica da subito le conoscenze via via acquisite.

Anton89
10-01-2013, 19:07
Ciao!
Senti, proprio ieri stavo guardando un po' di annunci di lavoro su internet. Io mi sono laureato in ingegneria elettronica e sto cercando lavoro. In tutti gli annuci (e dico TUTTI!) cercano laureati con esperienza.
Allora, questa è una cosa veramente da tagliarsi le vene... come fa un laureato, che si è laureato da poco, ad avere esperienza lavorativa? Ovvio, uno per farsi esperienza lavorativa deve iniziare a lavorare, ma paradossalmente le aziende cercano persone che abbiano maturato già 2-3 anni di esperienza. Vedi, è un controsenso. Per questo motivo tanti laureati come me rimangono disoccupati a lungo, mandando centinaia di curriculum nella speranza di un impiego che ci mette anni ad arrivare...

Quindi, io non butterei nel cesso (scusa il termine) le occasioni lavorative che hai trovato. Però, non puoi neanche abbandonare gli studi solo per il lavoro, perché in tutti gli annunci di lavoro cercano laureati. Tu potrai anche avere un grande bagaglio di esperienza, ma non ti assumerà nessuno se non hai un titolo di studio. Il vantaggio è che, dopo la laurea, sarai uno dei pochi "neolaureati con esperienza" che tutte le aziende cercano ma di fatto non trovano per il fatto che ti ho appena detto.

Ecco, magari non fare due lavori, fanne uno solo, però fai quello che può davvero servire per il futuro e continua a studiare. Prendilo come un consiglio da uno che non riesce a trovare lavoro perché non ha esperienza...

misterx
10-01-2013, 21:21
dipende poi anche da dv abiti...per esempio se uno si laurea in informatica, la manna sarebbe milano...io ho la fortuna di abitare a pavia e quindi vicino a milano, infatti mi sono laureato il 18 dicembre 2012, e non con un votone, 100, e mi hanno già contattato 2 aziende, una per una collaborazione, ed una per un posto di lavoro; conta tanto ciò che studi comunque, e ti do un consiglio preziosissimo...quando dovrai fare lo stage al terzo anno, cerca di fare qualcosa di innovativo, ke possa fare appetito ad eventuali datori di lavoro...per esempio, io ho sviluppato una semplice app per android, ma inconsapevolmente mi sono buttato in un settore in pieno sviluppo, e ciò mi ha fatto ottenere la collaborazione, in quanto i programmatori android sono ricercatissimi, più di quelli per iOS...inoltre cerca di trovarti un paio di lavoretti freelance durante gli studi; stanno ricercando un sacco di web designer e programmatori freelance per collaborazioni negli ultimi 3-4 anni, e se hai anche solo un minimissimo di esperienza ti prendono al volo; a me personalmente la programmazione web piace moltissimo, e mi sono proposto più volte alle startup del settore come programmatore PHP e Java per il Web, e con una di esse continuo una collaborazione remunerativa (anche se sono lentissimi a dare lavori nuovi -.-)

spero che tu abbia capito che non ti ho spiegato tutto ciò per vantarmi della fortuna che ho avuto, ma per spronarti a non mollare con gli studi e farti un bagaglio culturale nel mentre, buttandoti anche in mondi in pieno sviluppo, e tieni la mente aperta, e vedrai che se son fiori, fioriranno :)


complimenti per i suggerimenti in quanto anch'io ho sviluppato una tesi spendibile in una azienda e sto ultimando il mio progetto :)

ingframin
11-01-2013, 11:57
Ciao!
Senti, proprio ieri stavo guardando un po' di annunci di lavoro su internet. Io mi sono laureato in ingegneria elettronica e sto cercando lavoro. In tutti gli annuci (e dico TUTTI!) cercano laureati con esperienza.
Allora, questa è una cosa veramente da tagliarsi le vene... come fa un laureato, che si è laureato da poco, ad avere esperienza lavorativa? Ovvio, uno per farsi esperienza lavorativa deve iniziare a lavorare, ma paradossalmente le aziende cercano persone che abbiano maturato già 2-3 anni di esperienza. Vedi, è un controsenso. Per questo motivo tanti laureati come me rimangono disoccupati a lungo, mandando centinaia di curriculum nella speranza di un impiego che ci mette anni ad arrivare...

Quindi, io non butterei nel cesso (scusa il termine) le occasioni lavorative che hai trovato. Però, non puoi neanche abbandonare gli studi solo per il lavoro, perché in tutti gli annunci di lavoro cercano laureati. Tu potrai anche avere un grande bagaglio di esperienza, ma non ti assumerà nessuno se non hai un titolo di studio. Il vantaggio è che, dopo la laurea, sarai uno dei pochi "neolaureati con esperienza" che tutte le aziende cercano ma di fatto non trovano per il fatto che ti ho appena detto.

Ecco, magari non fare due lavori, fanne uno solo, però fai quello che può davvero servire per il futuro e continua a studiare. Prendilo come un consiglio da uno che non riesce a trovare lavoro perché non ha esperienza...

Hai provato a cercare lavoro fuori Italia?

LKS
13-01-2013, 16:31
Ringrazio tutti per i consigli, ho apprezzato molto le vostre opinioni e mi scuso se rispondo in ritardo.
Ciò che mi lascia perplesso è il fatto che altri dicano che la semplice triennale di informatica non serva a nulla se non si ha la specialistica.
Ora le mie aspettative non sono di diventare il nuovo Bill gates, mi basterebbe stabilizzarmi su uno stipendio decente (1800) e lavorare possibilmente nella mia città. E' una città di provincia e anche se non sono molte, alcune aziende che lavorano nell'informatica ci sono. Per non parlare di banche o altre che naturalmente hanno bisogno di gente che lavori nell'ambito dei sistemi informativi.
Per un tipo di mestiere del genere è necessario farsi 5 anni di università? O con un curriculum discreto come quello che vorrei costruire io, oltre a qualche corso e certificazione, si riesce ad essere assunti?
Aspetto vostri pareri e grazie!

Anton89
15-01-2013, 09:22
Hai provato a cercare lavoro fuori Italia?

Veramente io mi accontenterei di un lavoro a Milano. Hai visto l'altro utente cosa ha risposto? Laureato in informatica a Pavia ha già trovato lavoro a Milano. Io laureato con 106 in ingegneria elettronica a Bari sono due mesi e nelle vicinanze non c'è niente... E non ho soldi da parte per potermi trasferire al Nord e sostenere degli stage (visto che gli stage lì pagano una miseria)... Figurati andare all'estero. Troppe spese. E non sono abbastanza bravo con l'inglese... Quindi, boh...


Ciò che mi lascia perplesso è il fatto che altri dicano che la semplice triennale di informatica non serva a nulla se non si ha la specialistica.

Dicono tutti così, ma non è vero. Contano molto le competenze e le aziende vogliono persone che abbiamo tanta esperienza con i più bassi titoli di studi, così li pagano di meno. Se sei troppo qualificato, nemmeno ti assumono. Quindi non sperare di trovare un lavoro stabile da 1800 euro al mese. Prega piuttosto di trovare almeno un lavoro da 1000 euro al mese (saresti fortunato a prendere così tanto).

The_ouroboros
15-01-2013, 10:23
Dicono tutti così, ma non è vero. Contano molto le competenze e le aziende vogliono persone che abbiamo tanta esperienza con i più bassi titoli di studi, così li pagano di meno. Se sei troppo qualificato, nemmeno ti assumono. Quindi non sperare di trovare un lavoro stabile da 1800 euro al mese. Prega piuttosto di trovare almeno un lavoro da 1000 euro al mese (saresti fortunato a prendere così tanto).

Confermo.
La laurea è quasi vista come un deterrente.
In italia rende troppo rigidi e poco capaci di pensiero "out of the box".

misterx
15-01-2013, 10:38
Confermo.
La laurea è quasi vista come un deterrente.
In italia rende troppo rigidi e poco capaci di pensiero "out of the box".


la laurea rende troppo rigidi?

franksisca
15-01-2013, 11:02
la laurea rende troppo rigidi?

dipende dalle lauree...ma a volte avere una preparazione troppo accademica ti fà scontrare con le metodologie xp che sono impiantate in molte aziende e luoghi di lavoro, e quindi ti dici "ma che caxxo ho studiato a fare pattern, architetture, ..., se poi devo fare tutto così???"

The_ouroboros
15-01-2013, 11:30
la laurea rende troppo rigidi?


troppo ingessati e soprattutto teorici.
Ho visto preferire persone autodidatte e per passione.:D

WarDuck
15-01-2013, 11:50
Diciamo che la laurea, soprattutto oggi, non è assolutamente un indice di qualità professionale di una persona.

In ogni caso una laurea in più non esclude certo la passione che puoi mettere in questo mestiere.

Dal punto di vista della programmazione, ho l'impressione che nessuno (o comunque pochi) ti insegna a scrivere codice di qualità.

E guardate che è quello che servirebbe in questo settore, per poter quantomeno ambire ad essere una branca dell'ingegneria, che purtroppo di ingegneristico sembra aver molto poco, anche perché molti si svegliano la mattina e improvvisano.

Finché la qualità del codice non torna sul banco degli imputati, ogni laureato in informatica è uguale ad un altro.

Dal punto di vista ingegneristico non si può assolutamente prescindere dalla qualità del codice, e la famosa diatriba tra programmatori e analisti programmatori o "ingegneri" è decisamente poco utile da questo punto di vista.

stillano
15-01-2013, 12:04
Ciao!
Senti, proprio ieri stavo guardando un po' di annunci di lavoro su internet. Io mi sono laureato in ingegneria elettronica e sto cercando lavoro. In tutti gli annuci (e dico TUTTI!) cercano laureati con esperienza.
Allora, questa è una cosa veramente da tagliarsi le vene... come fa un laureato, che si è laureato da poco, ad avere esperienza lavorativa? Ovvio, uno per farsi esperienza lavorativa deve iniziare a lavorare, ma paradossalmente le aziende cercano persone che abbiano maturato già 2-3 anni di esperienza. Vedi, è un controsenso. Per questo motivo tanti laureati come me rimangono disoccupati a lungo, mandando centinaia di curriculum nella speranza di un impiego che ci mette anni ad arrivare...

Quindi, io non butterei nel cesso (scusa il termine) le occasioni lavorative che hai trovato. Però, non puoi neanche abbandonare gli studi solo per il lavoro, perché in tutti gli annunci di lavoro cercano laureati. Tu potrai anche avere un grande bagaglio di esperienza, ma non ti assumerà nessuno se non hai un titolo di studio. Il vantaggio è che, dopo la laurea, sarai uno dei pochi "neolaureati con esperienza" che tutte le aziende cercano ma di fatto non trovano per il fatto che ti ho appena detto.

Ecco, magari non fare due lavori, fanne uno solo, però fai quello che può davvero servire per il futuro e continua a studiare. Prendilo come un consiglio da uno che non riesce a trovare lavoro perché non ha esperienza...

anche io sono laureato in ingegneria elettronica e dopo un mese dalla laurea ho avuto diverse offerte di lavoro nonostante non avessi esperienza... ovviamente un laureato triennale in italia non può pretendere di guadagnare 1800€ senza esperienza... oggi come oggi ti assumono il prova per 3-6 mesi a 300-400€ al mese e poi ti valutano...

misterx
15-01-2013, 12:13
troppo ingessati e soprattutto teorici.
Ho visto preferire persone autodidatte e per passione.:D

io essendomi laureato lavorando per tutto il periodo e full time forse non rappresento il miglior esempio però, dalla mia esperienza, posso contribuire dicendo che attraverso lo studio universitario acquisici una maggiore capacità al problem solving, capacità che possedevo anche prima ma in quantità/qualità nettamente minore questo perchè gli strumenti, cioè le conoscenze che avevo prima dell'uni erano nettamente inferiori e molte cose acquisite mi erano del tutto ignote.

Di primo acchito poi tutti i corsi fatti sembrano inutili, io ad esempio consideravo abbastanza inutile il corso di statistica fino a quando non mi è capitato di usare le conoscenze acquisite proprio per il mio lavoro: ho cambiato idea.

In ogni caso, IMHO le conoscenze acquistite sono un ricco set di strumenti che permettono di risolvere un numero maggiore di problemi, me lo dimostra il fatto che ho conoscenti programmatori molto bravi ma limitati nel tipo o genere di programmi che possono sviluppare appunto perchè le loro conoscenze sono insufficienti.

A volte ho molti dubbi su coloro che fanno le selezioni.

The_ouroboros
15-01-2013, 12:31
Di primo acchito poi tutti i corsi fatti sembrano inutili, io ad esempio consideravo abbastanza inutile il corso di statistica fino a quando non mi è capitato di usare le conoscenze acquisite proprio per il mio lavoro: ho cambiato idea.


da matematico che lavora come analista/sistemista, ti posso capire :D

wingman87
15-01-2013, 12:37
Nella mia esperienza la laurea triennale è servita: nelle due settimane successive alla laurea ho fatto 5 colloqui (2 sono andati bene e mi hanno fatto una proposta) e meno di un mese dopo ho iniziato a lavorare. Tra l'altro io non ho mandato curriculum a nessuno, sono loro che mi hanno chiamato, credo mi abbiano trovato tramite almalaurea o tramite qualche altra lista di laureati della mia università.
In ogni caso io l'università l'ho fatta per interesse verso l'informatica, se fosse stato solo per il lavoro non credo che ce l'avrei fatta e tuttora non sogno di lavorare in questo ambito per tutta la vita (vorrei aprire un negozio).
D'altra parte se avessi iniziato a lavorare subito dopo il diploma ora probabilmente avrei uno stipendio più alto e sarei più vicino ad aprirmi un negozio, però non tornerei indietro perché la triennale è stata una parte fondamentale della mia vita.

The_ouroboros
15-01-2013, 12:39
alla fine tutto si concentra sulle scelte che uno fa.
Ma, oggi come oggi, la lauera non è più condizio sine qua non si può trovare un lavoro che ci piacia nel settore IT. (il tutto IMHO)

Anton89
15-01-2013, 17:23
anche io sono laureato in ingegneria elettronica e dopo un mese dalla laurea ho avuto diverse offerte di lavoro nonostante non avessi esperienza... ovviamente un laureato triennale in italia non può pretendere di guadagnare 1800€ senza esperienza... oggi come oggi ti assumono il prova per 3-6 mesi a 300-400€ al mese e poi ti valutano...

Dove ti sei laureato? Io mi sono laureato a Bari e sono intrappolato qui senza un soldo perché non posso cercare lavoro al Nord...

stillano
15-01-2013, 19:01
Dove ti sei laureato? Io mi sono laureato a Bari e sono intrappolato qui senza un soldo perché non posso cercare lavoro al Nord...

Federico II di Napoli

WarDuck
15-01-2013, 22:27
mi chiedo come sia possibile che l'università di bari non abbia contatti con le aziende...io mi sono laureato ad Alessandria (non Pavia come si poteva erroneamente intuire, errore mio scusate) e di offerte di lavoro di vario genere ne ho già avute 2...oggi ho sostenuto un colloquio e credo che nel prossimo mese ne farò almeno altri 2...e ripeto, la mia università è uno dei + piccoli atenei di italia...e la laurea magistrale serve secondo me farla in un secondo momento, una volta ke hai già un lavoro, perchè senza quella non puoi fare carriera oltre un certo livello, ma al tempo stesso una volta che ce l'hai, a 25 anni, se non hai mai lavorato, nel mondo del lavoro ci entri troppo tardi

E' un rischio.

Non far passare troppo tempo, perché se poi ti abitui ad un lavoro, e soprattutto ti piace, può essere difficile tornare sui libri.

Darker
16-01-2013, 01:43
The_ouroboros: la laurea é ancora ben che utile, altro che rendere poco flessbili. L'incapacitá di pensare "out of the box" non é mica la conseguenza di una laurea, suvvia. Per contro le basi che ti dá una laurea in informatica non le apprendi facilmente studiando da te o con delle certificazioni.

coffe_killer: mi accodo allo coro di "lavora e studia": ti fará comodo anche come esperienza personale e migliorerá la tua capacitá di gestione, a costo di rallentarti un pó.

Vorrei aprire, infine, una piccola parentesi: il fatto che in l'Italia, al momento, il valore di un titolo di studio specializzato sia pressoché nullo non vuol dire che altrove sia cosi, anzi; siamo cittadini del mondo, se "dove siamo nati" non c'é possibilitá di trovare qualcosa che valga lo sforzo di una laurea, non é quest'ultima da mettere in discussione.

ingframin
16-01-2013, 08:42
The_ouroboros: la laurea é ancora ben che utile, altro che rendere poco flessbili. L'incapacitá di pensare "out of the box" non é mica la conseguenza di una laurea, suvvia. Per contro le basi che ti dá una laurea in informatica non le apprendi facilmente studiando da te o con delle certificazioni.

coffe_killer: mi accodo allo coro di "lavora e studia": ti fará comodo anche come esperienza personale e migliorerá la tua capacitá di gestione, a costo di rallentarti un pó.

Vorrei aprire, infine, una piccola parentesi: il fatto che in l'Italia, al momento, il valore di un titolo di studio specializzato sia pressoché nullo non vuol dire che altrove sia cosi, anzi; siamo cittadini del mondo, se "dove siamo nati" non c'é possibilitá di trovare qualcosa che valga lo sforzo di una laurea, non é quest'ultima da mettere in discussione.
Quoto al 100%. Qui in Belgio avere la laurea specialistica da diritto PER LEGGE al 23% in piu' di un laureato triennale. Il dottorato da diritto al 26% (o 29, non ricordo) in piu' di uno con la triennale.
Inoltre ci sono paesi come gli USA dove e' molto difficile entrare senza un titolo di studio molto alto o l'Australia in cui una laurea in ingegneria e un toefl ti danno diritto a richiedere la visa permanente (almeno finche' c'e' bisogno di ingegneri).
Nel nord europa avere una magistrale e' ancora quasi garanzia di lavoro, quindi vi consiglio, se non siete troppo attaccati a famiglia/paesello o non avete gravi incombenze (tipo genitori malati da accudire) di prendere in seria considerazione di fare un giro da "queste parti" (Francia, Olanda, Belgio, Germania, Danimarca).

Studiare fa bene, l'universita' apre la mente (a patto di non andare li passivamente a fare gli esami ma di coltivare la propria curiosita', intraprendere relazioni sociali e sfruttarla come luogo di ritrovo culturalmente attivo e vivace). Fatela bene, fatela con cura e vedrete che i suoi frutti li porta.
Ora io penso a me ai miei colleghi che abbiamo discusso la tesi all'inizio della crisi (26/09/2008). Nessuno di noi e' rimasto a piedi, nessuno! Abbiamo trovato lavoro pressoche' immediatamente tutti quanti e badate bene che si parla dell'Unical di Cosenza, non del polimi o polito.
Studiate studiate! Che se uno e' bravo gli studi pagano!

-MiStO-
16-01-2013, 09:30
Quoto al 100%. Qui in Belgio avere la laurea specialistica da diritto PER LEGGE al 23% in piu' di un laureato triennale. Il dottorato da diritto al 26% (o 29, non ricordo) in piu' di uno con la triennale.
Inoltre ci sono paesi come gli USA dove e' molto difficile entrare senza un titolo di studio molto alto o l'Australia in cui una laurea in ingegneria e un toefl ti danno diritto a richiedere la visa permanente (almeno finche' c'e' bisogno di ingegneri).
Nel nord europa avere una magistrale e' ancora quasi garanzia di lavoro, quindi vi consiglio, se non siete troppo attaccati a famiglia/paesello o non avete gravi incombenze (tipo genitori malati da accudire) di prendere in seria considerazione di fare un giro da "queste parti" (Francia, Olanda, Belgio, Germania, Danimarca).

Studiare fa bene, l'universita' apre la mente (a patto di non andare li passivamente a fare gli esami ma di coltivare la propria curiosita', intraprendere relazioni sociali e sfruttarla come luogo di ritrovo culturalmente attivo e vivace). Fatela bene, fatela con cura e vedrete che i suoi frutti li porta.
Ora io penso a me ai miei colleghi che abbiamo discusso la tesi all'inizio della crisi (26/09/2008). Nessuno di noi e' rimasto a piedi, nessuno! Abbiamo trovato lavoro pressoche' immediatamente tutti quanti e badate bene che si parla dell'Unical di Cosenza, non del polimi o polito.
Studiate studiate! Che se uno e' bravo gli studi pagano!
concordo su ogni parola :)

The_ouroboros
16-01-2013, 09:36
Studiate studiate! Che se uno e' bravo gli studi pagano!

Prima però devi pagarli tu e non sempre è facile/fattibile. :(

The_ouroboros
16-01-2013, 10:17
ottima osservazione. :)

The_ouroboros
16-01-2013, 10:27
Concordo anche io al 100%...e mi soffermo soprattutto sull'ultima questione...al giorno d'oggi con la laurea lavoro lo trovi sempre, ammenoché non fai lo "sbaglio" di laurearti in materie umanistiche (lettere, storia ecc..)...basta solo cercare ed andare oltre il proprio naso...soprattutto il mondo dell'informatica è pieno di startup che cercano personale, e molte di esse sono disposte addirittura a darti vitto e alloggio pur di farti lavorare da loro, ammesso che tu abbia un CV interessante dal punto di vista universitario
NB: la maggior parte delle startup assumono nuovi dipendenti SENZA ESPERIENZA lavorativa, a parte i primi che dovranno formare la struttura portante dell'azienda, ma quella sarà un'ipotesi già da scartare in quanto se la startup è in piedi, la struttura è già solida e creata...quindi il mio consiglio è puntare su realtà medio-piccole...le possibilità di cariera sono infinite...e se non hai al possibilità di venire a milano (tutte le realtà infiormatiche italiane sono lì come sede principale), la maggior parte delle aziende hanno la sede anche a roma (quasi tutte)

Lavorando proprio a Milano,lo sto notando :eek:

The_ouroboros
16-01-2013, 10:29
The_ouroboros un consiglio: apri la mente, che questi ragionamenti antichi li fanno quelli appartenenti ad una generazione fa


Forse... cmq l'essere autodidatti non è mica una colpa.

misterx
16-01-2013, 11:14
The_ouroboros: la laurea é ancora ben che utile, altro che rendere poco flessbili. L'incapacitá di pensare "out of the box" non é mica la conseguenza di una laurea, suvvia. Per contro le basi che ti dá una laurea in informatica non le apprendi facilmente studiando da te o con delle certificazioni.

coffe_killer: mi accodo allo coro di "lavora e studia": ti fará comodo anche come esperienza personale e migliorerá la tua capacitá di gestione, a costo di rallentarti un pó.

Vorrei aprire, infine, una piccola parentesi: il fatto che in l'Italia, al momento, il valore di un titolo di studio specializzato sia pressoché nullo non vuol dire che altrove sia cosi, anzi; siamo cittadini del mondo, se "dove siamo nati" non c'é possibilitá di trovare qualcosa che valga lo sforzo di una laurea, non é quest'ultima da mettere in discussione.

io ero un autoditatta e ad un certo punto mi ero chiesto: con tutta questa voglia di scoprire e studiare perchè non crearsi qualcosa di nuovo?
E così pur lavorando mi ero iscritto all'uni anche perchè se hai anche l'obbiettivo di preparare un esame ti muovi, da autodidatta invece la prendi troppo comoda almeno, io la vedevo così.

La laurea è sempre utile.

stillano
16-01-2013, 18:36
Purtroppo ci siamo abituati a pensare alla laurea come un foglio di carta... quando invece è un titolo di studi che dimostra che sei qualificato per un certo tipo di lavoro... per un autodidatta è un pò difficile dimostrare le sue conoscenze e le sue capacità...

vorrei porre un quesito esemplificativo: un'azienda ha bisogno di un programmatore JAVA e deve scegliere tra un programmatore autodidatta che conosce il JAVA e un laureato in ing. informatica che conosce solo il C++ (è assurdo, è solo un'esempio).. chi sceglie?

secondo me:
-se sceglie l'ingegnere è perchè pensa che lui cmq conosce bene tutte le problematiche legate alla programmazione per cui impiegherà pochi gg a imparare il JAVA...
-se sceglie l'autodidatta è perchè vuole pagarlo come non laureato e risparmiare... ma poi chi assicurerà all'azienda, nel caso avesse bisogno di un programmatore per un "nuovo" linguaggio di programmazione, che l'autodidatta riuscirà a impararlo in poco tempo!?

The_ouroboros
17-01-2013, 09:06
Purtroppo ci siamo abituati a pensare alla laurea come un foglio di carta... quando invece è un titolo di studi che dimostra che sei qualificato per un certo tipo di lavoro... per un autodidatta è un pò difficile dimostrare le sue conoscenze e le sue capacità...


Ma, al contrario, chi assicura che il laureato abbia le capacità che il suo titolo "comporta"?:stordita:

Anton89
17-01-2013, 09:26
Purtroppo ci siamo abituati a pensare alla laurea come un foglio di carta... quando invece è un titolo di studi che dimostra che sei qualificato per un certo tipo di lavoro... per un autodidatta è un pò difficile dimostrare le sue conoscenze e le sue capacità...

Beh, questo sicuramente non è il modo più corretto di agire. Per me contano molto le capacità, che non sono affatto associate ad un titolo di studio. Tu puoi essere laureato in psicologia ed essere appassionato di programmazione Android ad esempio... Secondo me sarai più qualificato tu che un laureato in ingegneria informatica che abbia studiato Android all'università.
Purtroppo questo le aziende non lo capiscono... o forse fanno finta di non capire, perché alla fine loro fanno solo i loro interessi. Loro vorrebbero persone super qualificate con i più bassi titoli di studi, perché appunto lì possono pagare di meno e possono svolgere mansioni di laureati magistrali...
Questo è sbagliato!!! Le capacità si pagano. Più sei bravo, più devi essere pagato, anche se hai solo la licenza media.
Vedi, la laurea non è considerata un pezzo di carta solo perché le aziende non retribuiscono abbastanza. Viene considerata un pezzo di carta perché ci sono troppi laureati, ma davvero assai. Sicuramente la metà di loro non valgono la laurea che hanno e probabilmente molti di loro avranno avuto raccomandazioni o schifezze varie.


vorrei porre un quesito esemplificativo: un'azienda ha bisogno di un programmatore JAVA e deve scegliere tra un programmatore autodidatta che conosce il JAVA e un laureato in ing. informatica che conosce solo il C++ (è assurdo, è solo un'esempio).. chi sceglie?

secondo me:
-se sceglie l'ingegnere è perchè pensa che lui cmq conosce bene tutte le problematiche legate alla programmazione per cui impiegherà pochi gg a imparare il JAVA...
-se sceglie l'autodidatta è perchè vuole pagarlo come non laureato e risparmiare... ma poi chi assicurerà all'azienda, nel caso avesse bisogno di un programmatore per un "nuovo" linguaggio di programmazione, che l'autodidatta riuscirà a impararlo in poco tempo!?

Secondo me, se può scegliere tra un ingegnere e uno che conosce java (ed è anche ingegnere), sceglie il secondo. No? Le aziende non vogliono perdere tempo aspettando che l'ingegnere impari java. Come ti ho detto, ci sono troppi laureati. Quindi, uno più competente si trova... (e questo ahimè è il motivo per cui sono ancora disoccupato -.-)

vendettaaaaa
17-01-2013, 11:05
Beh, questo sicuramente non è il modo più corretto di agire. Per me contano molto le capacità, che non sono affatto associate ad un titolo di studio. Tu puoi essere laureato in psicologia ed essere appassionato di programmazione Android ad esempio... Secondo me sarai più qualificato tu che un laureato in ingegneria informatica che abbia studiato Android all'università.
Purtroppo questo le aziende non lo capiscono... o forse fanno finta di non capire, perché alla fine loro fanno solo i loro interessi. Loro vorrebbero persone super qualificate con i più bassi titoli di studi, perché appunto lì possono pagare di meno e possono svolgere mansioni di laureati magistrali...
Questo è sbagliato!!! Le capacità si pagano. Più sei bravo, più devi essere pagato, anche se hai solo la licenza media.
Vedi, la laurea non è considerata un pezzo di carta solo perché le aziende non retribuiscono abbastanza. Viene considerata un pezzo di carta perché ci sono troppi laureati, ma davvero assai. Sicuramente la metà di loro non valgono la laurea che hanno e probabilmente molti di loro avranno avuto raccomandazioni o schifezze varie.
Se pensi che uno psicologo con la passione per Android sia più qualificato di un ingegnere informatico che ha studiato la programmazione Android all'università...forse è per questo che sei disoccupato.
Provocazione per dire, non sottovalutiamo l'università e la preparazione che ti può dare. Ci sono tantissimi laureati, è vero, e molti sono poco preparati nonostante i voti alti (vuoi perchè l'università ci tiene a mostrare che forma neolaureati molto preparati, e quindi pompa immeritatamente i voti; o per altri motivi), ma non puoi generalizzare e dire che uno psicologo è meglio di un Ingegnere Informatico, se preso a lavorare come programmatore. Lo psicologo non studia la matematica, non studia algoritmi e altri concetti ricorrenti nell'informatica. Lo può fare da autodidatta, ma non è la stessa cosa. Quindi non generalizziamo in modo così grossolano.
E non sopravvalutiamo quello che la passione può fare. Non siamo in un cartone animato dove con la forza di volontà si può diventare Re dei Pirati.

misterx
17-01-2013, 11:18
Secondo me, se può scegliere tra un ingegnere e uno che conosce java (ed è anche ingegnere), sceglie il secondo. No? Le aziende non vogliono perdere tempo aspettando che l'ingegnere impari java. Come ti ho detto, ci sono troppi laureati. Quindi, uno più competente si trova... (e questo ahimè è il motivo per cui sono ancora disoccupato -.-)

mi chiedo come possa fare uno che conosce solo java e quindi riesce a scrivere solo programmi di utilità generale (office automation?) a scrivere ad esempio programmi orientati alla rete o alle basi di dati. Se non hai fatto il corso di reti e non ti hanno spiegato nulla circa i vari protocolli e problematiche annesse e connesse ho più di qualche dubbio che si riesca ad andare oltre ai programmi di utilità generale.
Le strutture dati le devi conoscere come anche le efficienze dei vari algoritmi e così via.

Tutti possono imparare a programmare ma che tipo di programmi possono sviluppare se si hanno conoscenze limitate ?
Questo ci si deve chiedere IMHO.

The_ouroboros
17-01-2013, 11:23
mi chiedo come possa fare uno che conosce solo java e quindi riesce a scrivere solo programmi di utilità generale (office automation?) a scrivere ad esempio programmi orientati alla rete o alle basi di dati. Se non hai fatto il corso di reti e non ti hanno spiegato nulla circa i vari protocolli e problematiche annesse e connesse ho più di qualche dubbio che si riesca ad andare oltre ai programmi di utilità generale.
Le strutture dati le devi conoscere come anche le efficienze dei vari algoritmi e così via.



Si prende qualche libro sulla teoria relativa e lo si studia... crescita personale e lavorativa in un sol colpo :stordita:

ingframin
17-01-2013, 11:28
Ma, al contrario, chi assicura che il laureato abbia le capacità che il suo titolo "comporta"?:stordita:

In Italia la legge prevede che le competenze di un professionista siano certificate e garantite da un apposito ordine o collegio (ordine dei medici, degli architetti, degli ingegneri, collegio dei geometri, dei ragionieri, ecc...).
L'iscrizione all'ordine comporta responsabilita' civili e penali per il professionista e garanzia per il cliente che il professionista e' abilitato a svolgere la professione.

Purtroppo il mondo dell'ICT e' una selva e la struttura dell'ordine professionale e' troppo vecchia e rugginosa per reagire a questo, senza contare che il processo legislativo non e' stato completato e quindi nessuno obbliga la firma di un professionista abilitato per un progetto software.

Ma questa e' una lunga storia che esula da questo argomento...

misterx
17-01-2013, 11:28
Si prende qualche libro sulla teoria relativa e lo si studia... crescita personale e lavorativa in un sol colpo :stordita:

facevo anch'io così ma non è sufficiente

Anton89
17-01-2013, 11:31
Se pensi che uno psicologo con la passione per Android sia più qualificato di un ingegnere informatico che ha studiato la programmazione Android all'università...forse è per questo che sei disoccupato.
Provocazione per dire, non sottovalutiamo l'università e la preparazione che ti può dare. Ci sono tantissimi laureati, è vero, e molti sono poco preparati nonostante i voti alti (vuoi perchè l'università ci tiene a mostrare che forma neolaureati molto preparati, e quindi pompa immeritatamente i voti; o per altri motivi), ma non puoi generalizzare e dire che uno psicologo è meglio di un Ingegnere Informatico, se preso a lavorare come programmatore. Lo psicologo non studia la matematica, non studia algoritmi e altri concetti ricorrenti nell'informatica. Lo può fare da autodidatta, ma non è la stessa cosa. Quindi non generalizziamo in modo così grossolano.
E non sopravvalutiamo quello che la passione può fare. Non siamo in un cartone animato dove con la forza di volontà si può diventare Re dei Pirati.

Io parlo di competenze. Forse l'esempio che ho fatto non è dei migliori. Il punto è che sono le competenze che devono essere valutate e per me è sbagliato dire a priori che i laureati siano più competenti dei non laureati per tanti motivi, che non scrivo perché non finiremmo più di parlare.

Ecco, ad esempio, io sono ingegnere elettronico, ma non so programmare un PLC. Non è normale che la mia università non mi abbia insegnato a programmare un PLC. Quando guardo gli annunci di lavoro su internet cercano "programmatori PLC con 2 anni di esperienza". Non solo l'università non mi insegna a programmare un PLC, ma devo fare anche esperienze lavorative... Come glielo dico all'azienda che studiavo 8 ore al giorno ed era impensabile lavorare per fare esperienza???

The_ouroboros
17-01-2013, 11:40
facevo anch'io così ma non è sufficiente

il mondo è bello perchè è vario.
Io mi trovo bene invece così:D

misterx
17-01-2013, 11:41
il mondo è bello perchè è vario.
Io mi trovo bene invece così:D

ma ti mancherà sempre il pezzettino :D

tomminno
17-01-2013, 11:56
Io parlo di competenze. Forse l'esempio che ho fatto non è dei migliori. Il punto è che sono le competenze che devono essere valutate e per me è sbagliato dire a priori che i laureati siano più competenti dei non laureati per tanti motivi, che non scrivo perché non finiremmo più di parlare.

Ecco, ad esempio, io sono ingegnere elettronico, ma non so programmare un PLC. Non è normale che la mia università non mi abbia insegnato a programmare un PLC. Quando guardo gli annunci di lavoro su internet cercano "programmatori PLC con 2 anni di esperienza". Non solo l'università non mi insegna a programmare un PLC, ma devo fare anche esperienze lavorative... Come glielo dico all'azienda che studiavo 8 ore al giorno ed era impensabile lavorare per fare esperienza???

L'università non deve insegnarti il mestiere! Altrimenti sarebbe un istituto professionale.
Se l'università dovesse insegnarti la programmazione di PLC usciresti che con la qualifica di programmatore PLC, non di laureato in ingegneria elettronica, che beh è una branca un tantino più ampia dei soli PLC.
Tra l'altro non mi pare che l'insegnamento della programmazione sia in qualche modo prioritario nell'elettronica, altrimenti ricadresti nel ramo informatico...

misterx
17-01-2013, 12:14
Io parlo di competenze. Forse l'esempio che ho fatto non è dei migliori. Il punto è che sono le competenze che devono essere valutate e per me è sbagliato dire a priori che i laureati siano più competenti dei non laureati per tanti motivi, che non scrivo perché non finiremmo più di parlare.

Ecco, ad esempio, io sono ingegnere elettronico, ma non so programmare un PLC. Non è normale che la mia università non mi abbia insegnato a programmare un PLC. Quando guardo gli annunci di lavoro su internet cercano "programmatori PLC con 2 anni di esperienza". Non solo l'università non mi insegna a programmare un PLC, ma devo fare anche esperienze lavorative... Come glielo dico all'azienda che studiavo 8 ore al giorno ed era impensabile lavorare per fare esperienza???

io conosco ingegneri elettronici che sanno anche programmare PLC, ma lo hanno imparato dopo la laurea.
Di marche e tipi di PLC ce ne sono a iosa quindi non avrebbe molto senso imparare a programmarne uno generico.

wingman87
17-01-2013, 12:49
L'università fornisce una certificazione delle proprie competenze, e nel contempo offre un insegnamento, un percorso che è più facile piuttosto che imparare le cose da autodidatta. Con più facile non intendo che è facile ma che in genere da autodidatta non si imparano le cose così bene e se sì è molto più dispendioso e difficile perché si è da soli e bisogna auto valutarsi oltre che crearsi un proprio percorso di studi.
Se una persona è particolarmente brava e/o costante può assumere le stesse competenze, non certificate, anche senza frequentare l'università.
Inoltre non dimentichiamoci che la laurea è accompagnata da un voto e quindi non tutti i laureati hanno le stesse competenze e abilità (certificate).
Insomma, non è riduttivo dire che senza una laurea rimarrai sempre un gradino sotto agli altri?

vendettaaaaa
17-01-2013, 13:01
L'università non deve insegnarti il mestiere! Altrimenti sarebbe un istituto professionale.
Se l'università dovesse insegnarti la programmazione di PLC usciresti che con la qualifica di programmatore PLC, non di laureato in ingegneria elettronica, che beh è una branca un tantino più ampia dei soli PLC.
Tra l'altro non mi pare che l'insegnamento della programmazione sia in qualche modo prioritario nell'elettronica, altrimenti ricadresti nel ramo informatico...
Concordo, riassumendo con una frase del mio prof "l'università non ti insegna un mestiere, ma ti mette in grado di imparare qualsiasi mestiere".
Il problema è un altro: questo succede all'estero e funziona, mentre la maggior parte delle aziende italiane non vuole perdere tempo a farti imparare un mestiere.

The_ouroboros
17-01-2013, 13:08
Insomma, non è riduttivo dire che senza una laurea rimarrai sempre un gradino sotto agli altri?

Concordo in pieno.
E anche il contrario non è vero.

Vincenzo1968
17-01-2013, 13:46
Io col mio diplomino di ragioniere(mai messo piede all'università) sono riuscito a creare un linguaggetto di programmazione:

http://www.hwupgrade.it/forum/showthread.php?t=2030843

:O

Comunque si, la laurea è importante. Se potessi tornare indietro me la prenderei.

stillano
17-01-2013, 14:05
senza dubbio non ci vuole un titolo di studio per fare cose eccezionali...
però non si può svalutare troppo questo "pezzo di carta"...

Vincenzo1968
17-01-2013, 14:08
senza dubbio non ci vuole un titolo di studio per fare cose eccezionali...
però non si può svalutare troppo questo "pezzo di carta"...

E chi lo svaluta? Ho scritto che se potessi tornare indietro me la prenderei.
Ormai, a 44 anni, non è più il caso di iscriversi all'università. :D

Comunque ho amici e parenti laureati che guadagnano molto meno di me(circa 800 € al mese). Ma è solo un caso particolare.

Ripeto, in generale, molto meglio avere la laurea.

;)

misterx
17-01-2013, 14:26
E chi lo svaluta? Ho scritto che se potessi tornare indietro me la prenderei.
Ormai, a 44 anni, non è più il caso di iscriversi all'università. :D

Comunque ho amici e parenti laureati che guadagnano molto meno di me(circa 800 € al mese). Ma è solo un caso particolare.

Ripeto, in generale, molto meglio avere la laurea.

;)

e allora la tua non è vera passione.
C'era gente con più di 50 anni di età che frequentava con me.

Anton89
17-01-2013, 14:29
Concordo, riassumendo con una frase del mio prof "l'università non ti insegna un mestiere, ma ti mette in grado di imparare qualsiasi mestiere".
Il problema è un altro: questo succede all'estero e funziona, mentre la maggior parte delle aziende italiane non vuole perdere tempo a farti imparare un mestiere.

Ecco, appunto. Allora, non dite che l'università non ti deve insegnare un mestiere perché è una gran caxxata... Dato che le aziende italiane tempo da perdere a insegnarti un mestiere non ce l'hanno, tanto vale che lo facciano le università.

vendettaaaaa
17-01-2013, 14:51
Ecco, appunto. Allora, non dite che l'università non ti deve insegnare un mestiere perché è una gran caxxata... Dato che le aziende italiane tempo da perdere a insegnarti un mestiere non ce l'hanno, tanto vale che lo facciano le università.
Se le università fanno ANCHE quello, bene. Ma il loro primo obiettivo è formare una mentalità. E io sono d'accordo.

tomminno
17-01-2013, 16:04
L'università fornisce una certificazione delle proprie competenze, e nel contempo offre un insegnamento, un percorso che è più facile piuttosto che imparare le cose da autodidatta. Con più facile non intendo che è facile ma che in genere da autodidatta non si imparano le cose così bene e se sì è molto più dispendioso e difficile perché si è da soli e bisogna auto valutarsi oltre che crearsi un proprio percorso di studi.
Se una persona è particolarmente brava e/o costante può assumere le stesse competenze, non certificate, anche senza frequentare l'università.
Inoltre non dimentichiamoci che la laurea è accompagnata da un voto e quindi non tutti i laureati hanno le stesse competenze e abilità (certificate).
Insomma, non è riduttivo dire che senza una laurea rimarrai sempre un gradino sotto agli altri?

Più che reali competenze (qualcosa di utile te la insegnano pure per carità) l'università ti insegna a sbattere la testa con i problemi e a risolverli, se vuoi completare gli studi.
Nel lavoro è più facile che ti trovi a doverti arrangiare con problemi in contesti che non hai mai visto (specialmente agli inizi, ma anche in seguito dato che la bacchetta magica non ce l'ha nessuno), nessuno verrà a darti la soluzione ai problemi passo passo, te la dovrai trovare nel minor tempo possibile e con il miglior risultato ottenibile.
La capacità di problem solving è molto più utile delle semplici conoscenze spicciole, quelle si apprendono nel tempo e se non si apprendono c'è sempre google :D
Purtroppo ho sempre riscontrato questa differenza tra un laureato e un diplomato: il diplomato richiede una maggior supervisione, il laureato più facilmente ci arriva da solo ad una soluzione del problema.
Poi si trovano capre ovunque e in tutti i contesti, non c'è pezzo di carta che tenga.

tomminno
17-01-2013, 16:06
Ecco, appunto. Allora, non dite che l'università non ti deve insegnare un mestiere perché è una gran caxxata... Dato che le aziende italiane tempo da perdere a insegnarti un mestiere non ce l'hanno, tanto vale che lo facciano le università.

Certo poi tra 2 anni cambia il mestiere richiesto dalle aziende e te come ti ricicli?
L'università ti insegna a pensare, se vuoi solamente usare le braccia entri in concorrenza con i cinesi e gli indiani.
Se la produzione spicciola va in oriente, in occidente rimane solo il lavoro di testa.

Vincenzo1968
17-01-2013, 16:11
Lancio il mio guanto di sfida: partecipate ai contest 17(16 + 1) e 19.

Scommetto che col mio diplomino di ragioniere saprò risolvere i problemi meglio di chiunque altro.

Armato solo della mia passione per l'informatica, solo della mia autodidattica.

:D

misterx
17-01-2013, 16:57
Più che reali competenze (qualcosa di utile te la insegnano pure per carità) l'università ti insegna a sbattere la testa con i problemi e a risolverli, se vuoi completare gli studi.
Nel lavoro è più facile che ti trovi a doverti arrangiare con problemi in contesti che non hai mai visto (specialmente agli inizi, ma anche in seguito dato che la bacchetta magica non ce l'ha nessuno), nessuno verrà a darti la soluzione ai problemi passo passo, te la dovrai trovare nel minor tempo possibile e con il miglior risultato ottenibile.
La capacità di problem solving è molto più utile delle semplici conoscenze spicciole, quelle si apprendono nel tempo e se non si apprendono c'è sempre google :D
Purtroppo ho sempre riscontrato questa differenza tra un laureato e un diplomato: il diplomato richiede una maggior supervisione, il laureato più facilmente ci arriva da solo ad una soluzione del problema.
Poi si trovano capre ovunque e in tutti i contesti, non c'è pezzo di carta che tenga.

concordo, lavoro con diplomati ragionieri informatici da tempo ed alcuni sono anche piuttosto bravi ma non riescono a risolvere una ampia gamma di problemi per via delle loro limitate conoscenze.
Anche googolando, se non si hanno delle basi difficilmente si riesce a risolvere problemi in tempi umani.
E' chiaro che se uno studia come un universitario per poter lavorare allora tanto vale che si iscrive :D

misterx
17-01-2013, 17:01
Lancio il mio guanto di sfida: partecipate ai contest 17(16 + 1) e 19.

Scommetto che col mio diplomino di ragioniere saprò risolvere i problemi meglio di chiunque altro.

Armato solo della mia passione per l'informatica, solo della mia autodidattica.

:D


implementami attraverso le reti neurali un programma per il riconoscimento di oggetti fisici, se ci risci sei ricco :D

Vincenzo1968
17-01-2013, 17:37
implementami attraverso le reti neurali un programma per il riconoscimento di oggetti fisici, se ci risci sei ricco :D

Apri un contest sull'argomento ;)

No seriamente, il contest 17 (http://www.hwupgrade.it/forum/showthread.php?t=2030843) è una buona occasione per dimostrare le proprie capacità di problem solving.
Non si tratta di creare il programma più veloce. Non ci sono tempi da prendere. C'è solo da applicare algoritmi e strutture dati che ogni buon programmatore dovrebbe conoscere bene: alberi, stack, code, metodi di ordinamento, etc.

"Compilatori e interpreti" è un argomento che si studia all'università.

Vediamola all'opera questa capacità di problem solving.

Go.

misterx
17-01-2013, 19:09
"Compilatori e interpreti" è un argomento che si studia all'università.
Vediamola all'opera questa capacità di problem solving.

Go.

lascia perdere le cose che già esistono tipo i DBMS che oramai sono consolidati da tempo, lanciati su qualcosa che non esiste, questa è la vera sfida.

Ho una nutrita serie di oggetti che passati sotto alla videocamera di un tablet ad esempio, viene riconosciuto l'oggetto, il materiale di cui è fatto e quant'altro. Queste sono le cose che servono alle aziende.

Vincenzo1968
17-01-2013, 19:31
Aprici un contestino. Parteciperò volentieri.

;)

misterx
17-01-2013, 19:49
non si fa al giorno d'oggi ricerca gratis ;)

Darker
17-01-2013, 20:49
Apri un contest sull'argomento ;)

No seriamente, il contest 17 (http://www.hwupgrade.it/forum/showthread.php?t=2030843) è una buona occasione per dimostrare le proprie capacità di problem solving.
Non si tratta di creare il programma più veloce. Non ci sono tempi da prendere. C'è solo da applicare algoritmi e strutture dati che ogni buon programmatore dovrebbe conoscere bene: alberi, stack, code, metodi di ordinamento, etc.

"Compilatori e interpreti" è un argomento che si studia all'università.

Vediamola all'opera questa capacità di problem solving.

Go.

Perdonami, ma la tua visione di "capacitá di problem solving" é banale. Non so in che tipo di azienda lavori, ma risolvere i problemi non é solo fare push & pop alla meglio. Quello va bene per dimostrare chi é piú bravo, tanto per vincere il premio del giorno; poi peró si lavora davvero :)

Reiterando il discorso lavorativo & universitá, riconfermo il mio punto di vista: se stiamo ancora a pensare "L'universitá non vale la pena perché perdo tempo e comunque poi le aziende in italia non assumono neolaureati" allora sicuramente la cosa giusta da fare é non fare l'universitá! Ci sono decine di aziende pronte ad assumere quelli che qui sono definite "monkeys" e a pagarle il minimo indispensabile, o anche meno.

Se si vuole ambire a qualcos'altro, peró, serve il pezzo di carta; a meno che ovviamente non si é amici o parenti di qualcuno, caso non raro.

Ci sono le eccezioni (geni senza laurea o laureati senza alcuna capacitá di pensare) ma in generale assumere una persona che ha almeno studiato un argomento contingente é preferibile in un contesto sano.

Vincenzo1968
17-01-2013, 21:28
Perdonami, ma la tua visione di "capacitá di problem solving" é banale. Non so in che tipo di azienda lavori, ma risolvere i problemi non é solo fare push & pop alla meglio. Quello va bene per dimostrare chi é piú bravo, tanto per vincere il premio del giorno; poi peró si lavora davvero :)
...

Intanto io svolgo un lavoro molto serio in una serissima ditta. Quindi evita certe allusioni.

Implementare un compilatore è fare push & pop alla meglio?

Puoi pure fare a meno di sorridere:

Tratto dal Dragon Book(Introduzione):

Questo testo tratta il problema della progettazione e della implementazione dei compilatori. Vedremo che poche, essenziali idee di base sono sufficienti per la costruzione di traduttori per una grande varietà di linguaggi e di macchine. Tali idee, inoltre, sono applicabili in talmente tanti altri campi che il loro utilizzo è molto frequente nella carriera di un informatico.
Lo studio delle tecniche di progettazione dei compilatori tocca svariati temi: linguaggi di programmazione, architettura dei calcolatori, teoria dei linguaggi, algoritmica e ingegneria del software.


Un programmatore che non implementa un suo linguaggio di programmazione non è un vero programmatore secondo me. E non dico un linguaggio sofisticato, in grado di competere coi linguaggi oggi esistenti. Dico un piccolo linguaggio, un linguaggetto, come quello del contest. Così, tanto per sapere come funziona un compilatore. Per pura e semplice curiosità. Puro divertimento.

:)

Vincenzo1968
17-01-2013, 21:37
chi si laurea in genere ambisce a ben altro che "ad essere un vero programmatore".

Antonio, non cambiamo discorso. Si parla di problem solving. Implementare un linguaggio mette a dura prova la propria capacità di risolvere i problemi: non è un compito banale.
Un laureato in informatica dovrebbe saperlo fare meglio(molto meglio) rispetto a un ragioniere.

Vedo che hai tagliato la parte fondamentale del mio post:

Dal Dragon Book (http://www.ibs.it/code/9788871925592//compilatori-principi-tecniche.html):

Questo testo tratta il problema della progettazione e della implementazione dei compilatori. Vedremo che poche, essenziali idee di base sono sufficienti per la costruzione di traduttori per una grande varietà di linguaggi e di macchine. Tali idee, inoltre, sono applicabili in talmente tanti altri campi che il loro utilizzo è molto frequente nella carriera di un informatico.
Lo studio delle tecniche di progettazione dei compilatori tocca svariati temi: linguaggi di programmazione, architettura dei calcolatori, teoria dei linguaggi, algoritmica e ingegneria del software.

WarDuck
17-01-2013, 22:34
Antonio, non cambiamo discorso. Si parla di problem solving. Implementare un linguaggio mette a dura prova la propria capacità di risolvere i problemi: non è un compito banale.
Un laureato in informatica dovrebbe saperlo fare meglio(molto meglio) rispetto a un ragioniere.

Vedo che hai tagliato la parte fondamentale del mio post:

Dal Dragon Book (http://www.ibs.it/code/9788871925592//compilatori-principi-tecniche.html):

Risolvere un problema di programmazione, non equivale risolvere un problema in generale.

In particolare se esistono tecniche già note per farlo.

Voglio dire, LR, LL, tutti gli algoritmi di semplificazione delle grammatiche, avoid epsilon production, Greibach o Chomsky Normal Form, sono tutte cose per cui ci si limita ad applicare l'algoritmo di turno per farlo, e chiunque si può limitare a copiare lo pseudo-codice contenuto nei libri.

Proprio per questo dire che se non fai il tuo compilatore non sei un vero programmatore mi sembra la classica forzatura di chi ha fatto una cosa e la vuole mostrare al mondo e quindi "io so io e voi non siete un cà".

Chiaramente anche la programmazione ha la sua componente creativa.

Parliamioci chiaro, esistono laureati e laureandi in ingegneria informatica che scrivono il codice tutto allineato a sinistra senza alcuna indentazione, ora io a queste persone non farei programmare neanche l'orologio del videoregistratore...

Il titolo certifica che hai seguito e superato alcuni corsi, nient'altro, e oggi questo rappresenta il requisito minimo per entrare nel mondo del lavoro, volenti o nolenti.

Rimango del parere che è sempre meglio averlo che non averlo, dopodiché la vera preparazione di una persona la si vede sempre sul campo.

Anche perché se una volta la laurea dava una certa garanzia, oggi non più, specialmente perché si laureano anche cani e porci.

Darker
17-01-2013, 22:34
Vincenzo1968: non so di quale allusioni stai parlando, non era mia intenzione alludere a qualcosa.

Tornando in tema, il tuo punto di vista é interessante, ma piuttosto poco condivisibile: io non ho inventato alcunn linguaggio di programmazione e, a dirla tutta, non sarei contento se mi desse del programmatore.

Il punto, infatti, mi pare di capire che sia questo: il dibattito nasce dalla domanda "continuo una facoltá di ingegneria o imparo a programmare da me?" che per certi versi suona come "imparo a progettare case o lavoro come muratore?"

Molti hanno detto "fai il muratore, che poi alla fine non c'é lavoro per progettisti, e finisci comunque a spalmare cemento" che é lecito, ma che tuttavia non risponde alla domanda.

Il pezzo di carta, da un punto di vista lavorativo, puó essere in certi casi sostituibile alla laurea, sopratutto con diversi anni di esperinza, ma sono sicuro che del dislivello ci sará comunque. Senza contare che, in alcune realtá, nemmeno ti considerano se non hai una laurea in ingegneria/programmazione/matematica.

Scusatemi se non contribuisco alle citazioni di stralci di libri, non mi fa impazzire l'idea di usare frasi di altri per rappresentare le mie idee. Inoltre ho gia' un sacco di gente che cita fabio volo su facebook e mi basta cosí! :D

misterx
18-01-2013, 06:31
chi si laurea in genere ambisce a ben altro che "ad essere un vero programmatore".

infatti è proprio così.
Mi capitasse di gestire un tipo come Vincenzo gli faccio passare la voglia di scrivere linguaggi, scrivi cose utili :D


Vuoi un'altra idea Vincenzo?
Mi serve un programma che dato un linguaggio in input lo analizzi e produca un altro linguaggio ottimizzato in modo da rendere la macchina che lo deve eseguire più efficiente possibile in termini di tempo lavoro.
Tale macchina è dotata di sensori e motori e quindi devi saper suggerire i percorsi minori, le velocità migliori (i migliori parametri di accelerazione senza mandare i motori in blocco) considerando che deve anche fermarsi per tempo data la massa che possiede altrimenti romperesti tutto. Suggerire il miglior numero di giri in base alla temperatura e va bè mi fermo.

Questo è un bel problema da risolvere.

tomminno
18-01-2013, 13:13
Intanto io svolgo un lavoro molto serio in una serissima ditta. Quindi evita certe allusioni.

Implementare un compilatore è fare push & pop alla meglio?

Puoi pure fare a meno di sorridere:

Tratto dal Dragon Book(Introduzione):


Un programmatore che non implementa un suo linguaggio di programmazione non è un vero programmatore secondo me. E non dico un linguaggio sofisticato, in grado di competere coi linguaggi oggi esistenti. Dico un piccolo linguaggio, un linguaggetto, come quello del contest. Così, tanto per sapere come funziona un compilatore. Per pura e semplice curiosità. Puro divertimento.

:)

Appunto un programmatore!
Un laureato non è un programmatore!
Fare l'università e poi ambire a fare il semplice programmatore è da pazzi.

Perchè lo sai qual è la vita lavorativa vera del programmatore?
Commerciali che vendono il viaggio su Marte, PM che schedulano l'impossibile in tempi impensabili, analisti che pensano e sviluppatori scimmia che scrivono codice secondo i dettami di altre persone. Questa è la realtà.
Quando metti insieme un team devi mettere dei paletti altrimenti ognuno fa quello che gli torna meglio e poi diventa un incubo mantere un progetto.

E poi per inventarti un liguaggio è utile studiare la teoria delle grammatiche che è per l'appunto uno dei tanti argomenti trattati in un corso di laurea in ingegneria informatica, inventarsi un linguaggio senza un rigore teorico dietro è solo una perdita di tempo.

E poi per fare l'ingegnere devi capire come usufruire al meglio degli strumenti e delle persone che ti circondano più che andare a inventare per l'ennesima volta la ruota (sempre che tu non sia pagato per questo e difficilmente qualcuno ti pagherà per inventare un ennesimo linguaggio).
Se ti piace inventare tutto il tempo fai ricerca e lì si che ti sbizzarrisci (magari non in Italia).

tomminno
18-01-2013, 13:37
Antonio, non cambiamo discorso. Si parla di problem solving. Implementare un linguaggio mette a dura prova la propria capacità di risolvere i problemi: non è un compito banale.
Un laureato in informatica dovrebbe saperlo fare meglio(molto meglio) rispetto a un ragioniere.

Vedo che hai tagliato la parte fondamentale del mio post:

Dal Dragon Book (http://www.ibs.it/code/9788871925592//compilatori-principi-tecniche.html):

Un laureato in informatica pensa alla soluzione, se la trova scrive un documento che poi qualcun altro implementerà.
Ecco una valutazione ingegneristica del problema:
Esistono sul mercato soluzioni disponibili per il mio problema?
Se ci sono già, quanto tempo mi costa farmelo da solo piuttosto che comprarlo?
Se hai bisogno di un DBMS non te lo implementi da solo, ne scegli uno tra quelli disponibili in commercio.
Se hai bisogno di un linguaggio non te lo inventi da solo, ne scegli uno tra quelli disponibili in commercio.

Vuoi implementarti un linguaggio? Suppongo che tu conosca la teoria delle grammatiche, per definire un linguaggio matematicamente non ambiguo. Lo vuoi Turing completo oppure no?
Un linguaggio prima che scriverlo in codice lo devi teorizzare.
Solo che è un lavoro che dura mesi se non anni, non è una cosa che fai in 5 minuti.

Vincenzo1968
18-01-2013, 15:14
Tali idee, inoltre, sono applicabili in talmente tanti altri campi che il loro utilizzo è molto frequente nella carriera di un informatico.
Lo studio delle tecniche di progettazione dei compilatori tocca svariati temi: linguaggi di programmazione, architettura dei calcolatori, teoria dei linguaggi, algoritmica e ingegneria del software.


Resta il fatto che un laureato in informatica un compilatore dovrebbe saperlo implementare. Non ci sono ca... storie. All'università bisogna studiare solo ciò che occorre per il lavoro? Allora almeno il 50% delle robe che si studiano dovrebbere essere sostituite con altro.

Fortunatamenta la mia realtà lavorativa non è quella descritta da Tommino. Il mio lavoro da programmatore mi piace da morire e ne traggo piena soddisfazione(e uno stipendio niente male). E quando feci il colloquio(7/8 anni fa, non secoli fa) per entrare nella ditta c'erano una cinquantina di candidati, la maggior parte dei quali laureati in informatica. Scelsero me. E ripeto, non per una questione di stipendio ché il mio di stipendio, è molto più elevato rispetto alla media.

;)


Un laureato in informatica pensa alla soluzione, se la trova scrive un documento che poi qualcun altro implementerà.


Minchia, bello! :D

Vincenzo1968
18-01-2013, 15:18
Antò, nei contest applichiamo algoritmi e strutture dati. Non dirmi che non servono per il "problem solving".

Vincenzo1968
18-01-2013, 15:53
sono sempre esercizi di stile, fate a gara a chi finisce prima nel risolvere un problema noto.

Nel contest 17 no. Li c'era(e c'è) da implementare un linguaggetto. Senza nessuna fretta. Senza prendere tempi. Senza fare a gara a chi finisce prima.

;)

tomminno
18-01-2013, 17:14
Resta il fatto che un laureato in informatica un compilatore dovrebbe saperlo implementare. Non ci sono ca... storie. All'università bisogna studiare solo ciò che occorre per il lavoro? Allora almeno il 50% delle robe che si studiano dovrebbere essere sostituite con altro.


Stima ingegneristica: in quanto tempo un laureato in informatica implementerebbe un compilatore? Probabilmente mesi, forse anni se prendi le specifiche di un qualunque linguaggio reale.
Ah e se ti riferisci ad un linguaggio inventato è roba che ti chiedono di fare per lo scritto di qualche esame (nel mio caso era Fondamenti di informatica II, sia il linguaggio che il compilatore).
Oggi anche volendo non avrei il tempo da perdere dietro a qualcosa del genere. Saprei farlo? Probabilmente si dato che l'ho già fatto.
Preferirei "perde tempo", sempre rimanendo nell'informatica, per realizzare una delle tante idee per App mobile che mi vengono in mente e non ho mai tempo di fare.


Fortunatamenta la mia realtà lavorativa non è quella descritta da Tommino. Il mio lavoro da programmatore mi piace da morire e ne traggo piena soddisfazione(e uno stipendio niente male). E quando feci il colloquio(7/8 anni fa, non secoli fa) per entrare nella ditta c'erano una cinquantina di candidati, la maggior parte dei quali laureati in informatica. Scelsero me. E ripeto, non per una questione di stipendio ché il mio di stipendio, è molto più elevato rispetto alla media.

;)



Minchia, bello! :D

Si esattamente :) E' il mio lavoro :D Con tutto quello che si porta dietro a livello di responsabilità, perchè se qualcosa non funziona oppure non arriva nei tempi previsti, vengono a cercare me e poi forse uno dei programmatori. E' meglio avere una visione ad alto livello che di basso livello. Per lo meno io preferisco così, non mi sono certo accontentato di fare il programmatore come agli inizi della mia carrirera.
Specialmente perchè al triennio ti ripetono tutti i giorni che l'ingegnere informatico non è un programmatore!
Poi programmare è divertente, ma lo faccio nel tempo libero e come pare a me, non secondo i dettami di altri :D

Vincenzo1968
18-01-2013, 17:26
Ah ma guarda che il mio "capo" mi lascia piena libertà. Non ho nessuno che mi comandi a bacchetta. Agisco in piena autonomia.

Mi da le direttive generali: "dobbiamo sviluppare un programma per l'elaborazione di questi file. Qui c'è il formato dei file, tie'. Fallo come vuoi e col linguaggio che ti è più congeniale. L'importante è che funzioni e che sia efficiente."; per dire, per fare un esempio.

Finora non s'è mai lamentato(e nemmeno il cliente, anzi).

;)

E in ufficio, quando non c'è niente da fare, posso tranquillamente occuparmi di ciò che più mi piace. Il "capo" lo sa. Anzi questa cosa la approva e la incoraggia. Mi aveva financo proposto di mettere la TV nel mio ufficio :D (non sto scherzando).

Come vedi nessuna imposizione dall'alto, nessuna schiavitù.

;)

misterx
18-01-2013, 18:17
che brutto mestiere

Tommo
19-01-2013, 02:09
Un laureato in informatica pensa alla soluzione, se la trova scrive un documento che poi qualcun altro implementerà.

E questo è il motivo per cui in italia stiamo come stiamo.
In tutto il mondo dell'informatica di alto livello ad oggi si preferiscono piccole task force di 10/20 persone dove chi più sa più scrive codice, specie nelle fasi iniziali del progetto dove hai il compito delicatissimo di implementare l'architettura.
Quello che dici te esiste sicuramente da qualche parte tipo IBM, Oracle o la tipica azienda B2B di consumo italiana, ma personalmente è il posto dove non vorrei trovarmi mai.
Stai tranquillo che nelle aziende vere, quelle che producono la "roba bella", tipo Google, Apple, qualsiasi azienda di videogiochi o qualsiasi startup di quelle che piacciono tanto, gente che pretende di "scrivere documenti da far implementare" la cacciano a pedate non prima di averla presa per il culo a colloquio,e se c'è qualcuno che decide le strategie non sono certo i "laureati in informatica" dall'alto del loro pezzo di carta.
Avevo già avuto occasione di dirtelo, ma se vuoi fare il basso manager che spinge docs imo facevi meglio a iscriverti a economia :asd:

misterx
19-01-2013, 06:29
E questo è il motivo per cui in italia stiamo come stiamo.
In tutto il mondo dell'informatica di alto livello ad oggi si preferiscono piccole task force di 10/20 persone dove chi più sa più scrive codice, specie nelle fasi iniziali del progetto dove hai il compito delicatissimo di implementare l'architettura.
Quello che dici te esiste sicuramente da qualche parte tipo IBM, Oracle o la tipica azienda B2B di consumo italiana, ma personalmente è il posto dove non vorrei trovarmi mai.
Stai tranquillo che nelle aziende vere, quelle che producono la "roba bella", tipo Google, Apple, qualsiasi azienda di videogiochi o qualsiasi startup di quelle che piacciono tanto, gente che pretende di "scrivere documenti da far implementare" la cacciano a pedate non prima di averla presa per il culo a colloquio,e se c'è qualcuno che decide le strategie non sono certo i "laureati in informatica" dall'alto del loro pezzo di carta.
Avevo già avuto occasione di dirtelo, ma se vuoi fare il basso manager che spinge docs imo facevi meglio a iscriverti a economia :asd:

quali strategie?

pierosa
19-01-2013, 09:48
E questo è il motivo per cui in italia stiamo come stiamo.
In tutto il mondo dell'informatica di alto livello ad oggi si preferiscono piccole task force di 10/20 persone dove chi più sa più scrive codice, specie nelle fasi iniziali del progetto dove hai il compito delicatissimo di implementare l'architettura.
Quello che dici te esiste sicuramente da qualche parte tipo IBM, Oracle o la tipica azienda B2B di consumo italiana, ma personalmente è il posto dove non vorrei trovarmi mai.
Stai tranquillo che nelle aziende vere, quelle che producono la "roba bella", tipo Google, Apple, qualsiasi azienda di videogiochi o qualsiasi startup di quelle che piacciono tanto, gente che pretende di "scrivere documenti da far implementare" la cacciano a pedate non prima di averla presa per il culo a colloquio,e se c'è qualcuno che decide le strategie non sono certo i "laureati in informatica" dall'alto del loro pezzo di carta.
Avevo già avuto occasione di dirtelo, ma se vuoi fare il basso manager che spinge docs imo facevi meglio a iscriverti a economia :asd:

Completamente d'accordo.

wingman87
19-01-2013, 10:54
A me sembra che tutti abbiamo detto che se può gli conviene fare l'università.
Il dibattito è nato in seguito ad alcune considerazioni su quanto i laureati siano più bravi e di quanto gli competano lavori di maggior prestigio quali progettare, ideare, scrivere documenti e non sporcarsi le mani con il codice.
Considerazioni con le quali non sono minimamente daccordo.
Non so se la situazione è quella che ha descritto Tommo ma mi piacerebbe che fosse così.

Vincenzo1968
19-01-2013, 11:09
il tuo capo in cosa è laureato?

Ingegneria Informatica.

misterx
19-01-2013, 11:47
comunque vorrei aprire un attimo una parentesi di riassunto per

quello che ci siamo detti fin qui...
è cominciato tutto con la semplice domanda di un utente se fosse meglio lavorare o studiare per imparare a programmare...
alcuni (compreso me) gli hanno consigliato di iscriversi ad un corso universitario di informatica o ingegneria informatica...
altri (come antonio, fiero del suo titolo di "programmatore", che io invece ritengo troppo semplicistico) gli dicono di lavorare e dedicare solo il tempo che ti rimane allo studio...
ho riassunto bene o mi sbaglio?


Lo avrò già scritto 20 volte :D
Io mi sono iscritto all'uni e laureato dopo un certo numero di anni che lavoraro in quanto il solo diploma non era più sufficiente per svolgere certi tipi lavori, ci si deve evolvere.

Ho un collega diplomato programmatore che è bravo ma molto limitato sulle tipologie di programmi che può sviluppare, tolto dall'ambiante programmazione non sa fare altro, la sua formazione è quella punto.

Esistno poi i casi come Vincenzo che è andato avanti autonomamente con la voglia di crescre e beh, allora se si vuole crescere fino a certi livelli tanto vale iscriversi e laurearsi, questo perchè agli occhi degli altri quello che sai in più, forse ti verrà riconosciuto nell'azienda in cui lavori attualmente, ma fuori da quella ?
E' veramente dura, gli altri ti vedranno solo come un programmatore.

Io tiro avanti da qualche anno un'intera azienda sotto tutti i punti di vista: sicurezza gestendo i vari apparati di rete da me implementati: firewall, proxy, etc...
Lavoro tranquillamente su server aix, linux, windows, hp-ux et similia e tutto questo grazie alle nuove conoscenze acquisite all'uni.
Ci sarei riuscito senza?
Credo di si, magari ci voleva più tempo ma nessuno mi avrebbe mai affidato un incarico del genere.
Imparo piuttosto rapdamente anche nuovi linguaggi grazie alla mia nuova forma mentis e non sonon affatto un genio.
Quando frequenti l'università diventi flessibile e NON rigido come alcuni sostengono. Grazie alle nuove conoscenze mi sono liberato di certi personaggi che si ritenevano informatici o presunti tali che non possedevano, in alcuni casi, alcun titolo di studio o peggio, erano dei bravi liceali che avevano imparato qualcosa di informatico e lo vendevano ahimè agli ignoranti che incontravano nelle aziende attraverso paroloni.
Oggi sapere SOLO programmare non è più sufficiente, una azienda che non sia la solita software house non ti assume più, io non assumerei mai uno che sa solo programmare, in quanto programmare è visto da me solo come una tra le tante attività svolte da un informatico.
Sulle reti devi sapere tutto, sugli apparati che gestisci devi sapere quasi tutto, devi saper anticipare i problemi attraverso l'analisi e la ricerca e devi saper descrivere perfettamente a chi non è un informatico cosa farai in caso di disastri, devi dire come investi i loro soldi. L'hardware devi saperlo manipolare a tutti i livelli questo in quanto se chiami tecnici esterni ti spennano.
Devi conoscere più sistem operativi e magari conoscere anche PLC, CN. Devi saper disassemblare virus se serve allo scopo di capire cosa fanno. Usare CMS, saper scrivere script per i vari ambienti allo scopo di automatizzare una azienda. Trovare soluzioni software gratis per non incidere sui costi aziendali. Saper virtualizzare macchine per risparmiare sulel licenze e determinare i server più idonei per l'uso che verrà fatto dall'azienda, idem per la tipologia di dischi, loro dimensioni, organizzare i vari tipi di backup scegliendo tutto ciò che serve: e una miriade di altre cose insomma: questo è a mio avviso un informatico.

E le cose che ho scritto sono solo alcune di quelle che deve saper fare un informatico.

wingman87
19-01-2013, 12:18
cut
Secondo me la figura che descrivi è un informatico tuttofare, che è un po' quello che cercano le aziende italiane (a leggere le offerte di lavoro) ma che secondo me non dovrebbe essere la norma.
Notare poi che l'università ti da le basi ma poi tutte le competenze che hai scritto si acquisiscono sul lavoro o se si ha tempo approfondendo da soli.
Il vero informatico secondo me è quello che ha i presupposti necessari a imparare e mettere in pratica (in breve tempo) una qualunque delle competenze che descrivi o che non citi.
Si leggono certe offerte di lavoro che farebbero ridere se non fosse che sono vere. Se l'azienda ha bisogno di una figura molto particolare (vedi tutte le competenze che hai scritto tu ad esempio) sarebbe bene che fosse pronta a formare qualcuno a quello scopo.

Vincenzo1968
19-01-2013, 12:25
http://www-cs-faculty.stanford.edu/~uno/taocp.html


Volume 5

Syntactic Algorithms, in preparation.

9. Lexical scanning (includes also string search and data compression)
10. Parsing techniques

Estimated to be ready in 2020.
Future plans

As I continue to write Volumes 4 and 5, I'll need to refer to topics that belong logically in Volumes 1--3 but weren't invented yet when I wrote those books. Instead of putting such material artificially into Volumes 4 or 5, I'll put it into fascicle form. The first such fascicle is in fact ready now (see above): It describes MMIX, a RISC machine that is used in Volume 4A; MMIX will also take the place of MIX in all subsequent editions of Volumes 1, 2, and 3.

Download the 16 Feb 2004 version of Volume 1 Fascicle 1 (583KB of compressed PostScript) (this old version is however no longer being maintained)

After Volume 5 has been completed, I will revise Volumes 1--3 again to bring them up to date. In particular, the new material for those volumes that has been issued in beta-test fascicles will be incorporated at that time.

Then I will publish a ``reader's digest'' edition of Volumes 1--5, condensing the most important material into a single book.

And after Volumes 1--5 are done, God willing, I plan to publish Volume 6 (the theory of context-free languages) and Volume 7 (Compiler techniques), but only if the things I want to say about those topics are still relevant and still haven't been said. Volumes 1--5 represent the central core of computer programming for sequential machines; the subjects of Volumes 6 and 7 are important but more specialized.


http://www.hwupgrade.org/public/style_emoticons/default/coolface.png

misterx
19-01-2013, 12:49
Secondo me la figura che descrivi è un informatico tuttofare, che è un po' quello che cercano le aziende italiane (a leggere le offerte di lavoro) ma che secondo me non dovrebbe essere la norma.
Notare poi che l'università ti da le basi ma poi tutte le competenze che hai scritto si acquisiscono sul lavoro o se si ha tempo approfondendo da soli.
Il vero informatico secondo me è quello che ha i presupposti necessari a imparare e mettere in pratica (in breve tempo) una qualunque delle competenze che descrivi o che non citi.
Si leggono certe offerte di lavoro che farebbero ridere se non fosse che sono vere. Se l'azienda ha bisogno di una figura molto particolare (vedi tutte le competenze che hai scritto tu ad esempio) sarebbe bene che fosse pronta a formare qualcuno a quello scopo.

non esistono aziende che ti formano a quel modo, sei tu che grazie alle conoscenze che hai acquisito all'uni riesci a mascherare verso l'azienda le tue inefficienze ed allo stesso tempo ad assimilarle in breve tempo conoscenze su un sistema. E' quelllo che è capitato a me avendo ereditato un sistema incasinato e complesso del quale nessuno sapeva nulla. Senza l'uni alle spalle sarebbe stata veramente dura uscirne.

tomminno
19-01-2013, 13:21
Ah ma guarda che il mio "capo" mi lascia piena libertà. Non ho nessuno che mi comandi a bacchetta. Agisco in piena autonomia.

Mi da le direttive generali: "dobbiamo sviluppare un programma per l'elaborazione di questi file. Qui c'è il formato dei file, tie'. Fallo come vuoi e col linguaggio che ti è più congeniale. L'importante è che funzioni e che sia efficiente."; per dire, per fare un esempio.

Finora non s'è mai lamentato(e nemmeno il cliente, anzi).

;)

E in ufficio, quando non c'è niente da fare, posso tranquillamente occuparmi di ciò che più mi piace. Il "capo" lo sa. Anzi questa cosa la approva e la incoraggia. Mi aveva financo proposto di mettere la TV nel mio ufficio :D (non sto scherzando).

Come vedi nessuna imposizione dall'alto, nessuna schiavitù.

;)

Lavori da solo! Prova a collaborare con 15 sviluppatori e poi mi dici cosa succede se ognuno di questi fa quello che gli pare!

demos88
19-01-2013, 13:26
Bisogna anche vedere dove vuoi trovare lavoro.
Per lavorare sotto dipendenza in Italia fondamentalmente o sei raccomandato o sei bravo a fare quello che ti vien chiesto di fare (di tutto di più spesso) a prescindere dalla tua laurea e dalla mansione per cui ufficialmente sei stato inserito. In Italia pochissime aziende hanno un settore di Ricerca e Sviluppo degno di questo nome che richiede competenze ingegneristiche approfondite.
Sicuramente la laurea è quasi un must per ricoprire ruoli non infimi in aziende organizzate e grosse, magari operanti in più paesi.
Della mia esperienza universitaria posso solo dire che 3/4 dei laureati in ingegneria informatica di fatto non sa andare oltre all'hello world in Java, conosce (perchè imparata a memoria dai libri, con esami teorici) le basi dei sistemi operativi, delle reti e dei sistemi informativi.
A Padova non è nemmeno ufficialmente supportato un corso di Ingegneria del Software nel corso di laurea di ingegneria informatica.

Allora la domanda iniziale qual era? Se conviene lavorare o studiare?
La mia "opinione" potrebbe essere "tutti e due": se pensi di puntare a posizioni di prestigio (senza illuderti comunque di ottenerle) continua a studiare ma non smettere mai di fare pratica per conto tuo, aggiornarti, imparare nuovi linguaggi, applica le conoscenze teoriche apprese all'università a quello che di pratico sai fare, e cerca di divertirti nel farlo... perchè l'università ti offre un ottimo biglietto da visita e una preparazione teorica, ma poi ci deve essere qualcosa dietro e spesso la laurea non riempie quel vuoto. E non pensare che essere fuori corso di 1 o 2 anni significhi essere incapaci (come qualcuno tempo fa in tv professava), l'importante è non perdere tempo e piuttosto fare qualcosa che poi ti possa tornare utile in futuro.
L'opzione di lavorare è onorabile in egual misura, e in tal caso, buona fortuna. Ne serve molta ultimamente.

wingman87
19-01-2013, 13:46
non esistono aziende che ti formano a quel modo, sei tu che grazie alle conoscenze che hai acquisito all'uni riesci a mascherare verso l'azienda le tue inefficienze ed allo stesso tempo ad assimilarle in breve tempo conoscenze su un sistema.
Che è un po' quello che dicevo io (al di là del discorso sul mascherare le proprie inefficienze) sul fatto che l'informatico deve avere le capacità di acquisire in breve tempo certe competenze.
Volevo sottolineare però che sarebbe più giusto suddividere il lavoro tra più figure specializzate (più costoso) piuttosto che cercare figure tuttofare (più economico).

tomminno
19-01-2013, 13:46
E questo è il motivo per cui in italia stiamo come stiamo.
In tutto il mondo dell'informatica di alto livello ad oggi si preferiscono piccole task force di 10/20 persone dove chi più sa più scrive codice, specie nelle fasi iniziali del progetto dove hai il compito delicatissimo di implementare l'architettura.
Quello che dici te esiste sicuramente da qualche parte tipo IBM, Oracle o la tipica azienda B2B di consumo italiana, ma personalmente è il posto dove non vorrei trovarmi mai.
Stai tranquillo che nelle aziende vere, quelle che producono la "roba bella", tipo Google, Apple, qualsiasi azienda di videogiochi o qualsiasi startup di quelle che piacciono tanto, gente che pretende di "scrivere documenti da far implementare" la cacciano a pedate non prima di averla presa per il culo a colloquio,e se c'è qualcuno che decide le strategie non sono certo i "laureati in informatica" dall'alto del loro pezzo di carta.
Avevo già avuto occasione di dirtelo, ma se vuoi fare il basso manager che spinge docs imo facevi meglio a iscriverti a economia :asd:

Ti faccio una domanda: secondo te l'architettura se la inventano i team lì per lì oppure qualcuno ci ha studiato prima di farne una implementazione?
E che succedere ad una piattaforma se tutte le volte che c'è un nuovo progetto il team che ci lavora si reinventa un'architettura nuova?
Quanto effort di manutenzione sul sistema comporta il lavoro del singolo team?
E se i team hanno un alto turnover?
Secondo te non c'è qualcuno a monte che ha scelto una strada piuttosto che un'altra semplicemente perchè ha una visione di insieme maggiore di quella del singolo team di sviluppo?
Pensi veramente che se metti 5 team a lavorare su un progetto, senza direttive e coordinamento i 5 lavori messi insieme produrranno un progetto funzionante e funzionale?
Qui non è questione di Agile o non Agile, perchè da questo punto di vista cambia poco. Se non fai prima gli use case (e qualcuno deve pur deciderli e metterli nero su bianco) non è che lo sviluppo Agile sia il caos sceso in terra che magicamente funziona...

Comuqnue la mia era semplicemente una sentenza sbrigativa per riassumere che l'ingegnere è qualcuno che compila scartoffie.
Pensare all'ingegnere informatico come un programmatore è equivalente a pensare l'ingegnere meccanico come al meccanico d'officina.
L'ingegnere meccanico ti progetta il motore, ma non è assolutamente detto che poi lo sappia smontare per cambiare la cinghia di distribuzione!

Credi che in google il primo team che passa metta mano all'engine del motore di ricerca così come gli pare? Credi che non ci sia coordinamento per gestire le 500 modifiche annuali che introducono?

PS Perchè mai un ingegnere non dovrebbe essere manager? Ne conosco tanti di ingegneri che fanno i manager, generalmente sono quelli le cui scelte hanno una maggiore oculatezza. Prendi ad esempio GE (azienda agile fino al midollo) quasi tutti ingegneri...
All'università ci dicevano che il nostro obiettivo professionale è quello di diventare manager e che non eravamo dei programmatori. Avevano pienamente ragione.

misterx
19-01-2013, 15:41
Che è un po' quello che dicevo io (al di là del discorso sul mascherare le proprie inefficienze) sul fatto che l'informatico deve avere le capacità di acquisire in breve tempo certe competenze.
Volevo sottolineare però che sarebbe più giusto suddividere il lavoro tra più figure specializzate (più costoso) piuttosto che cercare figure tuttofare (più economico).

preferiscono concentrare tutto su un singolo per risparmiare.
Il difetto di questo modo di lavorare è che non ti specializzi su nulla.

Mettiu_
19-01-2013, 17:26
perchè io sono dottore in informatica e non mi sento inferiore ad un ingegnere...non è un'accusa ma visto che parlate sempre e solo di ingegneri vorrei sapere come la pensate, tutto qui ;)

Scusa ma che c'entra sto paragone?! Superiore, inferiore, ecc... Una banana è superiore a due nespole?

The_ouroboros
19-01-2013, 17:43
non è vero perchè ciò che ti insegnano nelle multinazionali è avere la mente abbastanza aperta per imparare tutto ciò che ti trovi davanti, dal cobol al linguaggio più recente, dai vecchi mainframe alle nuove soluzioni cloud...questo vuol dire essere un laureato, essere abbastanza aperto mentalmente ed avere abbastanza skills per non avere difficoltà di fronte a qualunque tecnologia ci si trovi di fronte

Università != apertura mentale or skills or duttilità
Ovviamente non e' un assoluto come non lo e' il tuo.

Inviato dal mio HUAWEI U8825-1 con Tapatalk 2

WarDuck
19-01-2013, 17:57
ti sei risposto da solo allora...tu starai sempre al di sotto di lui e delle altre figure laureate, anche con il tuo invidiabile stipendio...è questo che fa la differenza avere la laurea oggi...poter avanzare oltre il semplice livello di "programmatore" che nelle software house di oggi significa pressapoco "impiegato"...io questo non lo accetto mi dispiace vincenzo, ma mi sento nettamente superiore al concetto di "programmatore", cosa che mi ha detto ieri proprio il mio capo dopo avermi assunto (sì esatto, nonostante si canti in giro che c'è la crisi, in realtà di lavoro ce n'è come il pane se sai dove andare a prenderlo, io infatti mi sono laureato il 18 dicembre e da lunedì comincio a lavorare a tempo indeterminato)...mi ha detto "io non cerco persone per farle diventare i programmatori + bravi del mondo, perchè noi non siamo SOLO quello, ma molto di più"...e lui odia che i suoi ragazzi vengano definiti tali, perchè lavoriamo in una multinazionale, e in un'azienda grossa il termine "programmatore viene bandito a prescindere"...poi ripeto, se ti piace essere definito tale fa come vuoi, ma dopo 3 anni di università non mi piace proprio quel termine

Mah, io tutto questo problema relativamente all'essere un "programmatore" non lo vedo francamente.

Ho una laurea in ingegneria informatica, e francamente a me programmare piace, specie se ti viene data abbastanza libertà di manovra e design.

E' chiaro che lavorare su un progetto in cui tutto è deciso o in cui esiste già molto codice non è mai troppo piacevole.

Purtroppo c'è chi crede che scrivere software sia una cosa banale e che programmare sia altrettanto banale.

Onestamente non condivido questo modo di pensarla, perché un informatico o ingegnere informatico non può prescindere totalmente dalla programmazione.

Dopodiché c'è a chi piacciono le scartoffie... a me no, probabilmente non diventerò un top manager, ma a questo punto pazienza.

Vincenzo1968
19-01-2013, 18:44
ti sei risposto da solo allora...tu starai sempre al di sotto di lui e delle altre figure laureate, anche con il tuo invidiabile stipendio...è questo che fa la differenza avere la laurea oggi...poter avanzare oltre il semplice livello di "programmatore" che nelle software house di oggi significa pressapoco "impiegato"...io questo non lo accetto mi dispiace vincenzo, ma mi sento nettamente superiore al concetto di "programmatore", cosa che mi ha detto ieri proprio il mio capo dopo avermi assunto (sì esatto, nonostante si canti in giro che c'è la crisi, in realtà di lavoro ce n'è come il pane se sai dove andare a prenderlo, io infatti mi sono laureato il 18 dicembre e da lunedì comincio a lavorare a tempo indeterminato)...mi ha detto "io non cerco persone per farle diventare i programmatori + bravi del mondo, perchè noi non siamo SOLO quello, ma molto di più"...e lui odia che i suoi ragazzi vengano definiti tali, perchè lavoriamo in una multinazionale, e in un'azienda grossa il termine "programmatore viene bandito a prescindere"...poi ripeto, se ti piace essere definito tale fa come vuoi, ma dopo 3 anni di università non mi piace proprio quel termine

Grazie al cielo dispongo di altre entrate. Una parte deriva dal software che vendo in qualità di collaboratore occasionale. Posso farlo, e il capo ne è a conoscenza; e la cosa non lo disturba affatto, perché il software che vendo non è in concorrenza con quello che sviluppiamo in azienda.
Una buona parte mi deriva da alcune proprietà immobiliari che mio padre, buonanima, mi ha lasciato in eredità.
Lo stipendio, per quanto sostanzioso, è solo una minima parte delle mie entrate complessive. Potrei farne tranquillamente a meno(ma poi che farei tutto il giorno? Starei qui a rompervi le scatole aprendo contest e contestini in continuazione? :D ).

Non c'è nessun rapporto di subordinazione tra me e il "capo" se non formalmente: lui è il titolare della ditta e io il dipendente.
Per il resto siamo una piccola famiglia. Ci diamo del tu. Lui è più giovane di me di circa cinque anni. E ogni volta che, per scherzo, accenno a licenziarmi gli piglia un colpo.

Per me, che disgraziatamente non ho la laurea, il titolo di programmatore è una gran bella cosa. Molto meglio di semplice "ragioniere". E vado orgoglioso del fatto di essere riuscito a implementare un compilatore per un linguagetto di programmazione, cosa che molti ingegneri informatici(compreso il "capo" che s'è laureato a pieni voti) non sanno fare.

;)

P.S.: per gli eventuali utenti legaioli: il "capo" s'è laureato al nord. Non ricordo se a Torino o a Milano. Poi, essendo originario di qui, è tornato giù dalla sua ragazza e dalla sua famiglia. E ha aperto la ditta. E m'ha assunto.

WarDuck
19-01-2013, 19:05
Grazie al cielo dispongo di altre entrate. Una parte deriva dal software che vendo in qualità di collaboratore occasionale. Posso farlo, e il capo ne è a conoscenza; e la cosa non lo disturba affatto, perché il software che vendo non è in concorrenza con quello che sviluppiamo in azienda.
Una buona parte mi deriva da alcune proprietà immobiliari che mio padre, buonanima, mi ha lasciato in eredità.
Lo stipendio, per quanto sostanzioso, è solo una minima parte delle mie entrate complessive. Potrei farne tranquillamente a meno(ma poi che farei tutto il giorno? Starei qui a rompervi le scatole aprendo contest e contestini in continuazione? :D ).

Non c'è nessun rapporto di subordinazione tra me e il "capo" se non formalmente: lui è il titolare della ditta e io il dipendente.
Per il resto siamo una piccola famiglia. Ci diamo del tu. Lui è più giovane di me di circa cinque anni. E ogni volta che, per scherzo, accenno a licebziarmi gli piglia un colpo.

Per me, che disgraziatamente non ho la laurea, il titolo di programmatore è una gran bella cosa. Molto meglio di semplice "ragioniere". E vado orgoglioso del fatto di essere riuscito a implementare un compilatore per un linguagetto di programmazione, cosa che molti ingegneri informatici(compreso il "capo" che s'è laureato a pieni voti) non sanno fare.

;)

P.S.: per gli eventuali utenti legaioli: il "capo" s'è laureato al nord. Non ricordo se a Torino o a Milano. Poi, essendo originario di qui, è tornato giù dalla sua ragazza e dalla sua famiglia. E ha aperto la ditta. e m'ha assunto.

Non ti sembra di stare facendo assunzioni un po' troppo forti, e presuntuose per giunta?

Guarda che l'università non ha mai avuto la pretesa di dare l'onniscenza a nessuno, ma solo le basi e gli strumenti giusti per apprendere in maniera molto più rapida di chi una laurea non ce l'ha.

Ciò implica che un laureato in informatica o ingegneria informatica con volontà e una buona preparazione può tranquillamente farsi il suo compilatore, anche perché molti degli algortimi richiesti sono noti e proprio il Dragon Book di cui tu parli ha un'ampia serie di esempi con pseudo-codice da cui attingere.

Vincenzo1968
19-01-2013, 19:14
Non ti sembra di stare facendo assunzioni un po' troppo forti, e presuntuose per giunta?

Guarda che l'università non ha mai avuto la pretesa di dare l'onniscenza a nessuno, ma solo le basi e gli strumenti giusti per apprendere in maniera molto più rapida di chi una laurea non ce l'ha.

Ciò implica che un laureato in informatica o ingegneria informatica con volontà e una buona preparazione può tranquillamente farsi il suo compilatore, anche perché molti degli algortimi richiesti sono noti e proprio il Dragon Book di cui tu parli ha un'ampia serie di esempi con pseudo-codice da cui attingere.

No, non mi sembra. Molti, dico, di quelli che conosco personalmente e ne conosco molti e da tutte le parti d'Italia.

Ah si, certo, sono noti, notissimi(gli algoritmi dico): l'argomento è, come si suol dire, well studied, fin dagli anni 60/70.

Vincenzo1968
19-01-2013, 19:24
la discussione sta assumendo contorni surreali, con gente che comincia ad elencare l'elenco delle sue entrate. mah, vabbè.

vincenzo va ripetendo da non so quanti post che ha implementato un linguaggetto di programmazione ed il suo compilatore.

ora, a meno che il linguaggio implementato sia rigoroso o innovativo, quello che hai fatto viene fatto fare agli studenti di informatica per alcuni esami (compilatori? boh, non me lo ricordo non essendo informatico puro).

Il fatto è che un percorso di studi che porta eventualmente alla laurea ti da gli strumenti per poter poi innovare, mentre in assenza puoi semplicemente aprire un libro copiare il codice e vedere che funziona. ma tutta la teoria che c'è dietro rimane là. e no, da autodidatta o da hobbysta non è la stessa cosa, altrimenti il mondo sarebbe pieno di hobbisti che rivoluzionano il mondo dell'informatica.*

* so benissimo che 1,2 volte su un milione può accadere, ma le restanti 999.998 volte comprende gente che si è fatta un mazzo tanto per anni sui libri-nella ricerca-nell'industria (quella vera).

Se vuoi possiamo parlare(non qui, apriamo un altro thread) della teoria che sta dietro all'implementazione di un compilatore: tecniche di parsing, automi a stati finiti, analisi lessicale e quant'altro.
Se vuoi eh! A me farebbe un immenso piacere.

;)

tomminno
19-01-2013, 19:54
Ho una domanda adesso, un'altra parentesi che vorrei chiarire...tu dici sempre e solo ingegneri perchè parli essendo ingegnere o ritieni l'ingegneria superiore alle altre materie? cioè essere ingegnere è il titolo che conta di più?
perchè io sono dottore in informatica e non mi sento inferiore ad un ingegnere...non è un'accusa ma visto che parlate sempre e solo di ingegneri vorrei sapere come la pensate, tutto qui ;)

Ingegneria è un po' più generica di informatica.
Conosco tanti ingegneri informatici che non lavorano strettamente nell'informatica, difficilmente un informatico andrà a fare il supervisore di un gasdotto: un paio di miei compagni di università adesso fanno questo, guadagnano un sacco di soldi e non hanno mai lavorato a contatto con il codice.
Capita non di rado agli ingegneri di lavorare in settori attigui al proprio (ci sono molti ing meccanici che lavorano nell'informatica).
Uno può fare ingegneria informatica e se ha fortuna non scriverà mai una riga di codice per lavoro.

Vincenzo1968
19-01-2013, 22:10
da hobbysta?

Da autodidatta si. Ho aperto un thread perché ho bisogno di una mano su alcuni aspetti teorico-pratici cha stanno alla base della teoria sui compilatori.

Spero che non vada deserto.

:D

misterx
19-01-2013, 22:37
non è vero perchè ciò che ti insegnano nelle multinazionali è avere la mente abbastanza aperta per imparare tutto ciò che ti trovi davanti, dal cobol al linguaggio più recente, dai vecchi mainframe alle nuove soluzioni cloud...questo vuol dire essere un laureato, essere abbastanza aperto mentalmente ed avere abbastanza skills per non avere difficoltà di fronte a qualunque tecnologia ci si trovi di fronte

forse mi sono espresso male: in un caso atipico come il mio dove sei costretto a dedicare 1 ora qua ed 1 ora la per tenere funzionale un intero sistema informatico, non avanzi mai tempo per approfondire a sufficienza. Impari parecchie cose ma in modo non troppo approfondito. Tant'è vero che dopo 1 mese quello che avevo fatto in precedenza quasi me lo scordo :D
Sto portando avanti anche un bel progetto frutto della mia tesi e ci credi che è da almeno 4 mesi che non ci metto mano in quanto vengo continuamente disturbato per fare altro?
Quando poi lo riprendo in mano mi devo ripassare ciò che avevo fatto ed il tempo passa.
Comunque non è per mancanza di organizzazione ma perchè oggi in alcune aziende sei in certi casi obbligato a fare anche sin troppo.

Tommo
20-01-2013, 00:39
Ti faccio una domanda: secondo te l'architettura se la inventano i team lì per lì oppure qualcuno ci ha studiato prima di farne una implementazione?
E che succedere ad una piattaforma se tutte le volte che c'è un nuovo progetto il team che ci lavora si reinventa un'architettura nuova?
Quanto effort di manutenzione sul sistema comporta il lavoro del singolo team?
E se i team hanno un alto turnover?
Secondo te non c'è qualcuno a monte che ha scelto una strada piuttosto che un'altra semplicemente perchè ha una visione di insieme maggiore di quella del singolo team di sviluppo?
Pensi veramente che se metti 5 team a lavorare su un progetto, senza direttive e coordinamento i 5 lavori messi insieme produrranno un progetto funzionante e funzionale?
Qui non è questione di Agile o non Agile, perchè da questo punto di vista cambia poco. Se non fai prima gli use case (e qualcuno deve pur deciderli e metterli nero su bianco) non è che lo sviluppo Agile sia il caos sceso in terra che magicamente funziona...

Comuqnue la mia era semplicemente una sentenza sbrigativa per riassumere che l'ingegnere è qualcuno che compila scartoffie.
Pensare all'ingegnere informatico come un programmatore è equivalente a pensare l'ingegnere meccanico come al meccanico d'officina.
L'ingegnere meccanico ti progetta il motore, ma non è assolutamente detto che poi lo sappia smontare per cambiare la cinghia di distribuzione!

Credi che in google il primo team che passa metta mano all'engine del motore di ricerca così come gli pare? Credi che non ci sia coordinamento per gestire le 500 modifiche annuali che introducono?

PS Perchè mai un ingegnere non dovrebbe essere manager? Ne conosco tanti di ingegneri che fanno i manager, generalmente sono quelli le cui scelte hanno una maggiore oculatezza. Prendi ad esempio GE (azienda agile fino al midollo) quasi tutti ingegneri...
All'università ci dicevano che il nostro obiettivo professionale è quello di diventare manager e che non eravamo dei programmatori. Avevano pienamente ragione.

E io ti rispondo :sisi:

Il management, o anche il team stesso, decidono che vogliono risolvere il problema x, cioè un problema esterno; metti che vogliono fare un gioco, costruire una libreria, o tirare su un'app.
A quel punto il capo, decide come implementarla di solito buttando giù la base...
basta consultare le offerte per Senior Engineer o Lead Engineer che richiedono 10 anni di C++, matematica avanzata e conoscenza dell'elettronica di basso livello per capire che chi sta a capo non passa solo le carte.
Man mano che il progetto si espande e il lavoro diventa più tedioso e "riempitivo" vengono coinvolti sempre più "interns" meno esperti, e in effetti il tech lead a quel punto ha un ruolo più di controllo e QA, ma il "manager" vero e proprio è sempre il Producer (è una figura professionale che esiste davvero, all'estero) e non è per niente detto che abbia una laurea proprio in informatica.
In ogni caso chiunque sia assunto come informatico deve saperne a pacchi di come si scrive codice, e deve pure saperlo fare velocemente.

La tua idea che un laureato in informatica inesperto e che non sa nulla di concreto, sia una "classe superiore" destinata a "comandare" e che sarà "sempre inferiore" a chi ha anni di esperienza è assolutamente una cagata applicabile appunto solo alle aziende italiane che fanno business applications a contratto, e immagino alle loro controparti estere.
Non dico affatto che la laurea sia inutile, anzi è fondamentale - ma la laurea da sola, magari unita alla tua simpatica non-voglia di approfondire il lavoro che fai e alla convinzione che una parte integrante dello sviluppo è "inferiore" per natura, è mediocre e non va molto lontano in aziende che fanno Tecnologia degna di questo nome.

Riassumendo, speriamo che non mi troverò mai nel posto di lavoro dei tuoi sogni :asd:

PS: 99% dei professori non hanno mai messo il naso fuori dall'italia o peggio dall'università e non sanno un ca*, qualunque professore di qualunque corso dice che i propri allievi sono meglio di tutti.
Diffida.

PPS: gli ingegneri informatici tendono ad essere i peggiori ottusi/strizzarape/incapaci a vedere il quadro generale/asociali/supponenti tra tutti, se c'è una laurea che ti squalifica dal diventare Manager dovrebbe essere proprio quella :asd:

ingframin
20-01-2013, 08:10
E io ti rispondo :sisi:

Il management, o anche il team stesso, decidono che vogliono risolvere il problema x, cioè un problema esterno; metti che vogliono fare un gioco, costruire una libreria, o tirare su un'app.
A quel punto il capo, decide come implementarla di solito buttando giù la base...
basta consultare le offerte per Senior Engineer o Lead Engineer che richiedono 10 anni di C++, matematica avanzata e conoscenza dell'elettronica di basso livello per capire che chi sta a capo non passa solo le carte.
Man mano che il progetto si espande e il lavoro diventa più tedioso e "riempitivo" vengono coinvolti sempre più "interns" meno esperti, e in effetti il tech lead a quel punto ha un ruolo più di controllo e QA, ma il "manager" vero e proprio è sempre il Producer (è una figura professionale che esiste davvero, all'estero) e non è per niente detto che abbia una laurea proprio in informatica.
In ogni caso chiunque sia assunto come informatico deve saperne a pacchi di come si scrive codice, e deve pure saperlo fare velocemente.

La tua idea che un laureato in informatica inesperto e che non sa nulla di concreto, sia una "classe superiore" destinata a "comandare" e che sarà "sempre inferiore" a chi ha anni di esperienza è assolutamente una cagata applicabile appunto solo alle aziende italiane che fanno business applications a contratto, e immagino alle loro controparti estere.
Non dico affatto che la laurea sia inutile, anzi è fondamentale - ma la laurea da sola, magari unita alla tua simpatica non-voglia di approfondire il lavoro che fai e alla convinzione che una parte integrante dello sviluppo è "inferiore" per natura, è mediocre e non va molto lontano in aziende che fanno Tecnologia degna di questo nome.

Riassumendo, speriamo che non mi troverò mai nel posto di lavoro dei tuoi sogni :asd:

PS: 99% dei professori non hanno mai messo il naso fuori dall'italia o peggio dall'università e non sanno un ca*, qualunque professore di qualunque corso dice che i propri allievi sono meglio di tutti.
Diffida.

PPS: gli ingegneri informatici tendono ad essere i peggiori ottusi/strizzarape/incapaci a vedere il quadro generale/asociali/supponenti tra tutti, se c'è una laurea che ti squalifica dal diventare Manager dovrebbe essere proprio quella :asd:

Uààà Tommo come sei drastico... Ora intervengo io che non sono né informatico né ingegnere informatico ma con questa roba in qualche modo ci ho sempre lavorato.

Io credo che prima di fare i ganzi bisogna un attimino prendere atto della realtà lavorativa che non è bianca e nera ma ha diverse sfumature e contorni.
Nella mia esperienza mi è capitato addirittura di modificare l'hardware per non modificare il software perché "No no, ora funziona non possiamo toccarlo sennò poi...".
Le poche conoscenze di informatica che ho acquisito in uni + un bel po' di passione però mi sono tornate utili e devo dire che in alcuni contesti ho tirato fuori anche cose buone.
Programmare torna sempre sempre utile, mi ha salvato il di dietro sia quando facevo hardware, sia quando testavo circuiti, sia ora che faccio roba di project management (finché non mi scoccio e mi rimetto a fare hardware).
Vuoi perché automatizzare certi task fa comodo, vuoi perché spesso manca qualcuno che sa scrivere 2 righe di codice, vuoi per chissà quale motivo... Fatto sta che saper scrivere codice aiuta non poco nel mondo del lavoro e molto spesso è una cosa davvero apprezzata dai capi.

Per quanto riguarda la faccenda dei laureati e non... C'è gente con le sfere anche senza laurea e c'è gente che andrebbe strangolata anche con laurea e dottorato di ricerca... Oramai la mia convinzione personale è che uno è bravo a fare le cose per cui ha passione e se lo metti a fare quelle stai pur certo che ottieni un altissimo livello.

Se prendi il miglior laureato del mondo (magari anche con Phd e post doc) e lo metti a fare cose che non gli piacciono poche noccioline... ti tirerà fuori delle schifezze immani (provata sulla mia pelle).

Poi tutto il resto sono chiacchiere... L'università non serve solo per il pezzo di carta, serve perché ti apre la mente se svolta in modo corretto.
Se uno va in uni a studiare come un ciuco per prendere tutti 30 ha già fallito in partenza, anche se finisce con 110 e lode.
L'università è utile perché è un punto di incontro di tante persone, magari che studiano cose diverse, e si cresce studiando e avendo scambi di idee continui con le altre persone. A questo serve l'università, a concentrare in uno spazio geografico ristrettissimo un sacco di persone che in qualche modo sono intellettualmente valide e fanno tesoro delle idee che possono raccogliere dalla propria e dalle altrui discipline.
Andarci con altri scopi è uno spreco di tempo, meglio fare il cuoco, si guadagna di più.

misterx
20-01-2013, 11:06
Laureatevi che è meglio e se potete lavorate insieme.
Le vecchie figure, gli smanettoni per intenderci, stanno via via per essere sostituite tutte da laureati che devono essere capaci quindi, mai sedersi sul pezzo di carta con la speranza che i soldi caschini dal cielo per diritto acquisito. :D

WarDuck
20-01-2013, 11:09
No, non mi sembra. Molti, dico, di quelli che conosco personalmente e ne conosco molti e da tutte le parti d'Italia.

Ah si, certo, sono noti, notissimi(gli algoritmi dico): l'argomento è, come si suol dire, well studied, fin dagli anni 60/70.

La domanda è: pensi che non siano in grado di farlo perché non sono neanche capaci di imparare a farlo, oppure molto più semplicemente perché non ci si sono mai messi (per mancanza di voglia, tempo e così via)?

Dal momento che nessuno nasce già imparato, anche tu in un certo momento della tua vita non sapevi come si faceva un compilatore, ma avevi la voglia (ed evidentemente il tempo, e lo dimostra anche quanto stai postando questo periodo) di imparare a farlo.

Dopodiché l'informatica è talmente vasta che copre un insieme non banale di argomenti, è normale che le persone tendano a specializzarsi in un certo ambito, dall'intelligenza artificiale alle reti, ai compilatori e così via...

Non si può pretendere che un ragazzo appena uscito dall'università sappia TUTTO di TUTTO, non è lo scopo dell'università, e se credete questo allora non avete capito nulla della didattica.

tomminno
20-01-2013, 11:13
E io ti rispondo :sisi:

Il management, o anche il team stesso, decidono che vogliono risolvere il problema x, cioè un problema esterno; metti che vogliono fare un gioco, costruire una libreria, o tirare su un'app.
A quel punto il capo, decide come implementarla di solito buttando giù la base...
basta consultare le offerte per Senior Engineer o Lead Engineer che richiedono 10 anni di C++, matematica avanzata e conoscenza dell'elettronica di basso livello per capire che chi sta a capo non passa solo le carte.


Ma dipende da dove le cerchi, non ho mai visto chiedere 10 anni di C++ per un ruolo da Lead Engineer, men che meno matematica avanzata (che gli ingegneri non fanno, per quello ci sono i matematici). Caso mai richiedono esperienza decennale nella gestione di progetti, conoscenza di determinati strumenti specifici del contesto lavorativo, se l'azienda è americana e fa produzione industriale richiedono anche una Lean Black Belt.


Man mano che il progetto si espande e il lavoro diventa più tedioso e "riempitivo" vengono coinvolti sempre più "interns" meno esperti, e in effetti il tech lead a quel punto ha un ruolo più di controllo e QA, ma il "manager" vero e proprio è sempre il Producer (è una figura professionale che esiste davvero, all'estero) e non è per niente detto che abbia una laurea proprio in informatica.


Esiste anche da noi fidati, certo se prendi ad esempio le solite micro-aziende italiane non trovi niente, nemmeno un team, ma una singola persona tuttofare.
Ci sono sistemi che hanno un ciclo di vita di anni, e vanno gestiti in maniera differente dai software comunemente in vendita al pubblico, per il quale puoi essere certo che nel giro di 5 anni non ci sarà nessun tipo di supporto.


In ogni caso chiunque sia assunto come informatico deve saperne a pacchi di come si scrive codice, e deve pure saperlo fare velocemente.


Ripeto lo devi saper fare se fai il programmatore di mestiere. Se non lo sei il codice può pure non interessarti minimamente.
Al solito essere ingegnere meccanico non richiede di saper cambiare la cinghia di distibuzione dell'auto.
Oppure vogliamo sostenere che uno che lavora in ambito aerospaziale non è titolato solo perchè non sa smontarsi l'auto pezzo per pezzo?
Il rapporto tra le figure professionali è sempre quello.


La tua idea che un laureato in informatica inesperto e che non sa nulla di concreto, sia una "classe superiore" destinata a "comandare" e che sarà "sempre inferiore" a chi ha anni di esperienza è assolutamente una cagata applicabile appunto solo alle aziende italiane che fanno business applications a contratto, e immagino alle loro controparti estere.
Non dico affatto che la laurea sia inutile, anzi è fondamentale - ma la laurea da sola, magari unita alla tua simpatica non-voglia di approfondire il lavoro che fai e alla convinzione che una parte integrante dello sviluppo è "inferiore" per natura, è mediocre e non va molto lontano in aziende che fanno Tecnologia degna di questo nome.


Guarda che io parlo di carriera! Te la devi pianificare fin dall'inizio, altrimenti rimarrai sempre nei piani bassi. Non ho detto che il primo lavoro di un laureato sia quello di gestire un progetto da milioni di euro! Ho detto che in prospettiva dovrebbe ambire a fare quello. Ci volgiono anni, ma se uno si focalizza solo sulla scrittura del codice dopo 10 anni sarà sempre a scrivere codice, poi arrivati ad una certa età non si è più concorrenziali con i ragazzi di 20 anni che hanno mente più rapida ad apprendere e in un mondo altamente mutevole come l'informatica la capacità di apprendere velocemente è tutto. E' una questione fisiologica il cervello invecchia e l'informatica è un'attività mentale che richiede prontezza. Dato che con l'età si acquisisce esperienza è bene spostarsi in ruoli che sono più adatti.

Lavorando con ditte di consulenza ho visto "ragazzini" poco più che neolaureati (in gamba per carità) comandare a bacchetta gente più anziana (ma pure in gamba) che evidentemente era più interessata a scrivere codice e lì è rimasta. Potevano per capacità ricoprire il suolo di team leader, però uno ha avuto le capacità e l'ambizione, gli altri solo le capacità e si sono accontentati.


Riassumendo, speriamo che non mi troverò mai nel posto di lavoro dei tuoi sogni :asd:


Meglio così un concorrente in meno :D ;)


PS: 99% dei professori non hanno mai messo il naso fuori dall'italia o peggio dall'università e non sanno un ca*, qualunque professore di qualunque corso dice che i propri allievi sono meglio di tutti.
Diffida.


Mah dipende, il curriculum dei miei professori non era proprio così scarso, ormai mi sono laureato tanti anni fa, quando ancora c'erano i professori a fare lezione e non gli assistenti come oggi...


PPS: gli ingegneri informatici tendono ad essere i peggiori ottusi/strizzarape/incapaci a vedere il quadro generale/asociali/supponenti tra tutti, se c'è una laurea che ti squalifica dal diventare Manager dovrebbe essere proprio quella :asd:

Simpatia, invece ci vedi bene la classica testa di rapa laureata in economia che non capisce un h di quello che sta facendo?
Prova ad entrare in qualche ditta seria se ci riesci e vedrai che troverai tanti ingegneri cazzuti che sanno fare i manager.

Vincenzo1968
20-01-2013, 11:14
WarDuck,

io non penso affatto che non siano in grado(per mancanza d'intelligenza o chissà che altro) di farlo.

Ritengo l'argomento di fondamentale importanza per un laureato in ingegneria informatica. Io non la darei la laurea a uno che non sa niente sui compilatori.

Se poi non lavorerai mai nel campo dei compilatori non importa. L'argomento lo devi conoscere.

Tutto qui.

Mettiu_
20-01-2013, 11:25
WarDuck,

io non penso affatto che non siano in grado(per mancanza d'intelligenza o chissà che altro) di farlo.

Ritengo l'argomento di fondamentale importanza per un laureato in ingegneria informatica. Io non la darei la laurea a uno che non sa niente sui compilatori.

Se poi non lavorerai mai nel campo dei compilatori non importa. L'argomento lo devi conoscere.

Tutto qui.

Vincenzo i corsi di laurea sono già ipercompressi e c'è il tempo a malapena di fare una panoramica su quelli che sono gli argomenti più importanti. Studiare approfonditamente i compilatori significherebbe tagliare da qualche altra parte ugualmente importante. Io il corso di linguaggi e traduttori non lo scelsi (alla Magistrale) ma ho fatto comunque roba estremamente importante, specie per quello che interessa ME. Non mi sembra tutto sto dramma...

Vincenzo1968
20-01-2013, 11:30
Vincenzo i corsi di laurea sono già ipercompressi e c'è il tempo a malapena di fare una panoramica su quelli che sono gli argomenti più importanti. Studiare approfonditamente i compilatori significherebbe tagliare da qualche altra parte ugualmente importante. Io il corso di linguaggi e traduttori non lo scelsi (alla Magistrale) ma ho fatto comunque roba estremamente importante, specie per quello che interessa ME. Non mi sembra tutto sto dramma...

No no, approfonditamente no. Ma un minimo, dai. Io la materia la metterei obbligatoria gia al secondo anno: se non superi quell'esame non vai avanti, non puoi dare gli altri esami.

Un minimo, dico, gli algoritmi principali, le tecniche di base.
Ogni volta che affronto l'argomento con un laureato(compreso il mio capo, glielo faccio apposta :D ) questi comincia a sbiancare in volto. Poi quando viene a sapere che sono un ragioniere da bianco che era il volto diventa cadaverico :D

Mettiu_
20-01-2013, 11:35
No no, approfonditamente no. Ma un minimo, dai. Io la materia la metterei obbligatoria gia al secondo anno: se non superi quell'esame non vai avanti, non puoi dare gli altri esami.


Al secondo anno di Ingegneria, il computer lo hai visto col binocolo :D E' troppo presto anche per usarlo degnamente un compilatore, figurati progettarlo :)

WarDuck
20-01-2013, 11:39
WarDuck,

io non penso affatto che non siano in grado(per mancanza d'intelligenza o chissà che altro) di farlo.

Ritengo l'argomento di fondamentale importanza per un laureato in ingegneria informatica. Io non la darei la laurea a uno che non sa niente sui compilatori.

Se poi non lavorerai mai nel campo dei compilatori non importa. L'argomento lo devi conoscere.

Tutto qui.

Questo dipende fondamentalmente dai corsi di laurea, ad esempio nel mio non c'è un corso di "Compilatori", ma abbiamo avuto un esame molto tosto di Automi Linguaggi e Traduttori, in cui hai 4 ore di scritto in cui bisognava fare tutte le dimostrazioni possibili ed immaginabili su linguaggi e grammatiche e calcolabilità.

Era più orientato all'informatica teorica che ai compilatori.

Del tipo che ti viene data una grammatica e devi dimostrare che è regolare (il che se trovi
un automa a stati finiti hai fatto, ma lo devi trovare e non è sempre banale).

Poi avevamo un progetto che prevedeva la realizzazione di un parser CYK e LR in Java.

Dopodiché dipende tutto dalle facoltà.

Io quello che trovo veramente ridicolo nel 2013 è che pochissime (forse nessuna) università hanno un corso obbligatorio sulle User Interface, sembra quasi che tutti programmino ancora a linea di comando.

Nella mia facoltà hanno aggiunto da poco un corso di programmazione web e un corso di programmazione mobile.

Il punto è che l'università deve darti le basi e al tempo stesso essere sulla cresta dell'onda.

Io sono dell'opinione che è meglio avere pochi corsi base ma fatti bene, e il resto dovrebbero essere laboratori e via discorrendo.

Vincenzo1968
20-01-2013, 11:44
Questo dipende fondamentalmente dai corsi di laurea, ad esempio nel mio non c'è un corso di "Compilatori", ma abbiamo avuto un esame molto tosto di Automi Linguaggi e Traduttori, in cui hai 4 ore di scritto in cui bisognava fare tutte le dimostrazioni possibili ed immaginabili su linguaggi e grammatiche e calcolabilità.

Era più orientato all'informatica teorica che ai compilatori.

Del tipo che ti viene data una grammatica e devi dimostrare che è regolare (il che se trovi
un automa a stati finiti hai fatto, ma lo devi trovare e non è sempre banale).

Poi avevamo un progetto che prevedeva la realizzazione di un parser CYK e LR in Java.

Dopodiché dipende tutto dalle facoltà.

Io quello che trovo veramente ridicolo nel 2013 è che pochissime (forse nessuna) università hanno un corso obbligatorio sulle User Interface, sembra quasi che tutti programmino ancora a linea di comando.

Nella mia facoltà hanno aggiunto da poco un corso di programmazione web e un corso di programmazione mobile.

Il punto è che l'università deve darti le basi e al tempo stesso essere sulla cresta dell'onda.

Io sono dell'opinione che è meglio avere pochi corsi base ma fatti bene, e il resto dovrebbero essere laboratori e via discorrendo.

Ottimo corso il tuo allora, Imho.

tomminno
20-01-2013, 11:59
Io quello che trovo veramente ridicolo nel 2013 è che pochissime (forse nessuna) università hanno un corso obbligatorio sulle User Interface, sembra quasi che tutti programmino ancora a linea di comando.

Nella mia facoltà hanno aggiunto da poco un corso di programmazione web e un corso di programmazione mobile.

Il punto è che l'università deve darti le basi e al tempo stesso essere sulla cresta dell'onda.

Io sono dell'opinione che è meglio avere pochi corsi base ma fatti bene, e il resto dovrebbero essere laboratori e via discorrendo.

Secondo me corsi di User Interface sono di competenza di chi studia design (che infatti fanno), non certo di ingegneria o comunque informatica.
Anche perchè si entra in un campo più artistico e generalmente c'è ben poco di artistico in un ingegnere :D :stordita:
E secondo me nemmeno dovrebbe esserci un corso di programmazione web o mobile, nel senso che non servono a niente.
Quando ho studiato io il mobile quasi non esisteva e la programmazione web era fatta con php 4 e mysql 3.23. Utilità 0. Un corso di basi dati è molto più istruttivo (tra l'altro nel piano di studi era pure l'anno successivo a quello dove sperimentavi la programmazione web). Tra l'altro nell'esame basi dati feci un software per la consultazione degli orari degli autobus in Java con webservice e interfaccia per Palm Treo.

Le conoscenze di programmazione impartite all'università diventano presto obsolete, tempo che arrivi sul mercato del lavoro e sono già vecchie.
Inutile concentrarsi su quelle, meglio un po' di basi teoriche giusto per aprire la mente.

misterx
20-01-2013, 12:00
Del tipo che ti viene data una grammatica e devi dimostrare che è regolare (il che se trovi un automa a stati finiti hai fatto, ma lo devi trovare e non è sempre banale).

anche il mio esame era basato su quanto dici. Non ho mai sentito nessuno che poi si è lanciato a scrivere un compilatore. Anche se interessante come argomento ti deve capitare l'occasione lavorativa per approfondire dove però, ovviamente ti pagano.

WarDuck
20-01-2013, 12:17
Secondo me corsi di User Interface sono di competenza di chi studia design (che infatti fanno), non certo di ingegneria o comunque informatica.
Anche perchè si entra in un campo più artistico e generalmente c'è ben poco di artistico in un ingegnere :D :stordita:
E secondo me nemmeno dovrebbe esserci un corso di programmazione web o mobile, nel senso che non servono a niente.
Quando ho studiato io il mobile quasi non esisteva e la programmazione web era fatta con php 4 e mysql 3.23. Utilità 0. Un corso di basi dati è molto più istruttivo (tra l'altro nel piano di studi era pure l'anno successivo a quello dove sperimentavi la programmazione web). Tra l'altro nell'esame basi dati feci un software per la consultazione degli orari degli autobus in Java con webservice e interfaccia per Palm Treo.

Le conoscenze di programmazione impartite all'università diventano presto obsolete, tempo che arrivi sul mercato del lavoro e sono già vecchie.
Inutile concentrarsi su quelle, meglio un po' di basi teoriche giusto per aprire la mente.

Sono fondamentalmente d'accordo con te, anche se a mio modo di vedere ci sono alcune cose che dovrebbero essere insegnate SOLO con corsi pratici e/o di laboratorio.

Per fare un esempio, corsi come Ingegneria del Software e Programmazione Orientata agli Oggetti dovrebbero essere un tutt'uno (al momento sono separati) e soprattutto dovrebbero farti toccare con mano gli aspetti di gestione e progettazione.

Vedere lo schema del waterfall o a spirale su una slide per poi doverselo ricordare a memoria in uno scritto onestamente non credo ti faccia imparare nulla di nulla, anzi è solo una rottura immane di palle :D.

Tant'è che alla specialistica abbiamo un corso in cui sostanzialmente ciascuno interpreta un ruolo particolare e si simulano di fatto le varie fasi di un progetto, e questo per quanto possa sembrare strano credo sia molto più educativo del corso teorico di ingegneria del software.

Purtroppo poi molti esami sono semplicemente la replica di altri, spesso creati per aumentare il numero di cattedre.

Secondo me c'è tanto da poter migliorare.

misterx
20-01-2013, 17:00
non so come la pensi tu ma a me piace imparare sempre cose nuove...che poi se ti piacciono le impari e non te le ricordi mai XD

se così non fosse anche per me non mi sarei mai iscritto e laureato ;)

vendettaaaaa
20-01-2013, 17:05
Questo topic si sta trasformando in una parata in cui ognuno fa a gara ad autocelebrarsi :blah:

misterx
20-01-2013, 17:15
l'importante è che sia arrivato all'autore del 3d il concetto che laurearsi lavorando sarebbe la soluzione ottima

The_ouroboros
20-01-2013, 18:22
l'importante è che sia arrivato all'autore del 3d il concetto che laurearsi lavorando sarebbe la soluzione ottima

mi associo.
Si arriva alla soluzione ideale di "laureato con esperienza" :D

Vincenzo1968
20-01-2013, 18:26
a me sembra ke qui l'unico ad autocelebrarsi sia uno solo

http://www.hwupgrade.org/public/style_emoticons/default/patpat.gif

vendettaaaaa
20-01-2013, 18:29
a me sembra ke qui l'unico ad autocelebrarsi sia uno solo
Può darsi, ma tu non mi sembri meglio in quanto hai tradito un certo fanboyismo con quell'uscita sugli Ingegneri Informatici, facendo di tutta l'erba un fascio.
Sempre che ci sia erba da fasciare.
http://www.hwupgrade.org/public/style_emoticons/default/patpat.gif
:asd:

tomminno
20-01-2013, 18:42
e l'informatica quindi nel nome del corso di alurea che c'entra? io faccio un corso di informatica apposta per stare a contatto con il codice che crea i programmi che modellano un ambiente informativo di lavoro

Il fatto è che ingegneria davanti ad informatica ti apre un po' più di possibilità di lavoro e carriera.
Anch'io sono rimasto più a contatto con il software, anche se mi domando sempre più spesso se ho fatto la scelta giusta, dati gli stipendi d'oro che prendono tutti quelli che conosco e che si sono allontanati dal software...

WarDuck
20-01-2013, 18:43
se tu fossi una donna ti avrei sposata al volo....anche io la penso così...titoli per riempire la bocca "INGEGNERE" ma poi di pratico nulla XD

Immagino avrai entrambe le lauree per poter affermare una cosa del genere :rolleyes:

Questo genere di discorsi non portano proprio da nessuna parte, cortesemente astenetevi dal farli, perché rischiate di fare solo brutte figure.

Mettiu_
20-01-2013, 18:52
Immagino avrai entrambe le lauree per poter affermare una cosa del genere :rolleyes:

Questo genere di discorsi non portano proprio da nessuna parte, cortesemente astenetevi dal farli, perché rischiate di fare solo brutte figure.

Confermo e sottoscrivo. Tra l'altro non capisco perchè uno deve partire all'attacco quando _nessuno_ ha mancato di rispetto verso questa o quella categoria professionale. Siamo qui per scambiarci idee, i titoli andrebbero lasciati a casa...

vendettaaaaa
20-01-2013, 19:55
Immagino avrai entrambe le lauree per poter affermare una cosa del genere :rolleyes:

Questo genere di discorsi non portano proprio da nessuna parte, cortesemente astenetevi dal farli, perché rischiate di fare solo brutte figure.
Dev'essere un odio di categoria tramandato dai professori. Come l'odio per gli Ingegneri Gestionali che viene trasmesso a tutti gli altri Ingegneri dai loro prof, almeno qui a Milano.

cdimauro
21-01-2013, 09:19
WarDuck,

io non penso affatto che non siano in grado(per mancanza d'intelligenza o chissà che altro) di farlo.

Ritengo l'argomento di fondamentale importanza per un laureato in ingegneria informatica. Io non la darei la laurea a uno che non sa niente sui compilatori.

Se poi non lavorerai mai nel campo dei compilatori non importa. L'argomento lo devi conoscere.

Tutto qui.
Questa è una tua personalissima definizione, ampiamente opinabile.

Io mi sono laureato in informatica, pur non avendo inserito Linguaggi Formali e Compilatori nel mio corso di studi. Non mi sento "meno informatico" per questo.

Come ti hanno già spiegato, l'università serve a darti una forma mentis e un'infarinatura su un certo numero di argomenti, alcuni obbligatori (come il corso di algoritmi) e altri complementari / opzionali.

Quindi puoi benissimo laurearti senza sapere nulla di compilatori. Poi se non ci sei andato a scaldare la sedia, ma a seguire e imparare con profitto, se dovesse sorgere l'esigenza di realizzare un parser o simile, dovresti essere in grado di farlo, con un minimo di studio di quello che ti serve.
E no, non serve digerire interamente il Dragon Book; uno strumento come ANTLR ti consente di arrivarci di gran lunga più rapidamente e comodamente, senza scomodare la teoria che sta alla base delle grammatiche.

A un programmatore interessano principalmente due cose: il concetto di algoritmo, e la capacità di risolvere problemi (rispettandone i requisiti).

Il resto (comprese le dispute fra dottori e ingegneri, che sono, purtroppo, ataviche) sono disquisizioni filosofiche che lasciano il tempo che trovano...

misterx
21-01-2013, 12:20
i titoli andrebbero lasciati a casa, hai ragione...ma io non accetto che mi venga detto che tutto ciò che ho studiato lo potevo apprendere anche lavorando munito solo del mio diplomino...è vero sono perito informatico, ma senza la laurea in informatica sarei stato un altro pecorone sotto un padrone di un'azienda da 5 dipendenti al massimo, che faccio lavori monotoni e ripetitivi

il fatto che si dica "con il mio diploma da ragioniere so fare molto di più dei miei colleghi con la laurea" mi irrita alquanto, dal momento che prima di tutto avrà dei colleghi incapaci, perchè i laureati, quelli veri, non hanno niente da imparare da un diplomato, e sono pronto a metterlo per iscritto

secondo, le capacità arrivano anche da anni di lavoro, quindi in 10 anni voglio proprio vedere quanta strada fa un diplomato e quanta un laureato

terzo ma non meno importante, vincenza sarà diplomato in ragioneria e farà il programmatore, ma è entrato nel mondo dell'informatica anni fa, e soprattutto nell'ultimo lustro questo mondo si è evoluto completamente, e senza una laurea cari miei nemmeno ti aprono la porta, bravo o tonto che sia; vorrei proprio vedere se con il mio diploma da perito mi avrebbero fatto le offerte che mi hanno fatto alla fine dell'università. Quindi i primi che dovrebbero farsi un esame di coscienza sono quelli che si definiscono capaci solo con il diplomino e sminuiscono i propri colleghi laureati, perchè non ricordano forse quanto costa studiare e quanto impegno un ragazzo ci può mettere nello svolgere al meglio il suo percorso universitario sperando in un futuro migliore, e soprattutto quante cose in più sa un laureato rispetto ad un diplomato (e questa è mia esperienza personale, non lo dico tanto per riempire il post)

ma non devi certo dar retta a quello che scrivono gli altri :D
Ognuno va per la sua strada.
Ma lasciale perdere poi le persone come Vincenzo, ero anch'io un curiosone così, poi mi sono iscritto in quanto perdevo solo del tempo prezioso che non mi avrebbe riconosciuto nessuno ;)
Nel mondo del lavoro non ho mai visto un diplomato che viene visto come se fosse un laureato, tranquillo.

Vincenzo1968
21-01-2013, 12:25
In B4: AntLR.

Si ma basta con le chiacchiere.

C'è da prendere questa grammatica:


A : B A a
|
;

B : b B c
| A A
;


e calcolare il nullable set, il first set e il follow set. Partendo da questi c'è poi da costruire la tabella LL e verificare se la grammatica sia LL(1) o no.

L'algoritmo passo passo? Possibile che io debba saperlo fare e un informatico no?

I simboli non terminali della grammatica sono: A, B.
I simboli terminali sono: a, b, c.
Lo start simbol è: A.

Poi com'è possibile che uno che è stato obbligato a seguire un corso di compilatori non sappia cos'è Bison?

Vincenzo1968
21-01-2013, 12:39
Se preferite la forma estesa:


A -> B A a
A -> e
B -> b B c
B -> A A


dove e sta per epsilon, la stringa vuota.

Vincenzo1968
21-01-2013, 12:47
Questa è una tua personalissima definizione, ampiamente opinabile.

Io mi sono laureato in informatica, pur non avendo inserito Linguaggi Formali e Compilatori nel mio corso di studi. Non mi sento "meno informatico" per questo.

Come ti hanno già spiegato, l'università serve a darti una forma mentis e un'infarinatura su un certo numero di argomenti, alcuni obbligatori (come il corso di algoritmi) e altri complementari / opzionali.

Quindi puoi benissimo laurearti senza sapere nulla di compilatori. Poi se non ci sei andato a scaldare la sedia, ma a seguire e imparare con profitto, se dovesse sorgere l'esigenza di realizzare un parser o simile, dovresti essere in grado di farlo, con un minimo di studio di quello che ti serve.
E no, non serve digerire interamente il Dragon Book; uno strumento come ANTLR ti consente di arrivarci di gran lunga più rapidamente e comodamente, senza scomodare la teoria che sta alla base delle grammatiche.

A un programmatore interessano principalmente due cose: il concetto di algoritmo, e la capacità di risolvere problemi (rispettandone i requisiti).

Il resto (comprese le dispute fra dottori e ingegneri, che sono, purtroppo, ataviche) sono disquisizioni filosofiche che lasciano il tempo che trovano...

Che è una mia personale opinione lo si capisce: Ho scritto "Ritengo" che significa: "secondo me", "a parer mio".

Ed è una cosa che faccio sempre nei miei post. ;)

Ribadisco: se fosse per me un corso di compilatori e linguaggi formali lo metterei obbligatorio.

E basta co 'st'AntLR! Possibile che ogni volta che si parla dell'argomento tu debba tirare fuori AntLR?

Uh! AntLR!

Edit: dimenticavo: mi pare di ricordare(non vorrei sbagliarmi ma ne sono quasi certo) che in un thread di un paio di anni fa ritenevi importante per un laureato in informatica la teoria sui linguaggi formali. Mo vado a vedere se trovo 'sto thread.

;)

misterx
21-01-2013, 12:55
Che è una mia personale opinione lo si capisce: Ho scritto "Ritengo" che significa: "secondo me", "a parer mio".

Ed è una cosa che faccio sempre nei miei post. ;)

Ribadisco: se fosse per me un corso di compilatori e linguaggi formali lo metterei obbligatorio.

E basta co 'st'AntLR! Possibile che ogni volta che si parla dell'argomento tu debba tirare fuori AntLR?

Uh! AntLR!

Edit: dimenticavo: mi pare di ricordare(non vorrei sbagliarmi ma ne sono quasi certo) che in un thread di un paio di anni fa ritenevi importante per un laureato in informatica la teoria sui linguaggi formali. Mo vado a vedere se trovo 'sto thread.

;)

nel mio corso l'ho fatto e quindi devo scrivere l'ennesimo compilatore :D ?

Nozioni di base.
Monoidi di parole, linguaggi, operazioni tra linguaggi, riconoscitori e generatori di linguaggi. Grammatiche e derivazioni. Grammatiche regolari, libere da contesto, dipendenti da contesto e relative classi di linguaggi.
Linguaggi regolari.
Automi a stati finiti deterministici e non deterministici. Grammatiche regolari e automi a stati finiti. Espressioni regolari. Teorema di Kleene. Congruenze sintattiche e costruzione degli automi minimi. Applicazioni: le espressioni regolari in Unix.
Linguaggi liberi da contesto.
Alberi di derivazione. Grammatiche e linguaggi ambigui. Forma normale di Chomsky. Lemma di iterazione per i linguaggi liberi da contesto. Forma normale di Greibach. Automi a pila. Caratterizzazione dei linguaggi liberi da contesto mediante gli automi a pila. Applicazioni: XML.

Vincenzo1968
21-01-2013, 13:21
Non l'ennesimo compilatore. Avrei bisogno di conoscere l'algoritmo(passo passo) per costruire gli insiemi nullable, first e follow data la grammatica di cui sopra(o una simile, mutuamente ricorsiva). Poi, a partire da questi, avrei bisogno dell'algoritmo(sempre passo passo) per costruire la tabella LL(Ohé! LL, non LR).

È chiedere troppo?

:)

Mettiu_
21-01-2013, 13:38
Non l'ennesimo compilatore. Avrei bisogno di conoscere l'algoritmo(passo passo) per costruire gli insiemi nullable, first e follow data la grammatica di cui sopra(o una simile, mutuamente ricorsiva). Poi, a partire da questi, avrei bisogno dell'algoritmo(sempre passo passo) per costruire la tabella LL(Ohé! LL, non LR).

È chiedere troppo?

:)

No, è andare off topic :D

cdimauro
21-01-2013, 13:57
In B4: AntLR.

Si ma basta con le chiacchiere.

C'è da prendere questa grammatica:


A : B A a
|
;

B : b B c
| A A
;


e calcolare il nullable set, il first set e il follow set. Partendo da questi c'è poi da costruire la tabella LL e verificare se la grammatica sia LL(1) o no.

L'algoritmo passo passo? Possibile che io debba saperlo fare e un informatico no?

I simboli non terminali della grammatica sono: A, B.
I simboli terminali sono: a, b, c.
Lo start simbol è: A.

Poi com'è possibile che uno che è stato obbligato a seguire un corso di compilatori non sappia cos'è Bison?
Forse perché all'università conoscono YACC (e LEX).
Che è una mia personale opinione lo si capisce: Ho scritto "Ritengo" che significa: "secondo me", "a parer mio".

Ed è una cosa che faccio sempre nei miei post. ;)

Ribadisco: se fosse per me un corso di compilatori e linguaggi formali lo metterei obbligatorio.
Per fortuna non li definisci tu i corsi di laurea, altrimenti metteresti linguaggio macchina nel corso introduttivo alla programmazione. :D
E basta co 'st'AntLR! Possibile che ogni volta che si parla dell'argomento tu debba tirare fuori AntLR?

Uh! AntLR!
Possibile sì, perché ANTLR è uno strumento estremamente pratico e comodo per sviluppare un lexer, un parser, e un valutatore di AST, tutto con la stessa, semplice, sintassi.

E siccome i programmatori devono risolvere problemi concreti, e non hanno tempo per pettinare la bambole, è molto utile come strumento per il loro lavoro.
Edit: dimenticavo: mi pare di ricordare(non vorrei sbagliarmi ma ne sono quasi certo) che in un thread di un paio di anni fa ritenevi importante per un laureato in informatica la teoria sui linguaggi formali. Mo vado a vedere se trovo 'sto thread.

;)
Cerca pure, perché non lo ricordo.

Ciò detto, per quanto mi riguarda l'università è stata molto importante e formativa.

Anche la laurea è importante oggi, perché il pezzo di carta nel mondo del lavoro è molto richiesto. Io sono tornato a studiare soltanto per questo (anche se avevo già sostenuto buona parte degli esami).

Vincenzo1968
21-01-2013, 14:20
Che la laurea sia importante oggi(ma anche ieri) l'ho scritto nel mio primo post.

Cancello la sottoscrizione da questo thread.

Adieu e cavoli vostri(cit.) :D

P.S.: Se qualcuno volesse venire a darmi una mano, di la, nel thread sugli automi gliene sarei immensamente grato. ;)

vendettaaaaa
21-01-2013, 15:53
perfettamente d'accordo, l'unica differenza dal tuo corso di studi al mio è che il corso di compilatori era obbligatorio,e anche io mi sono laureato in informatica come te...e visto che qualcuno lo ha tirato in mezzo, il mio migliore amico si è laureato in ingegneria informatica a milano, una delle più rinomate in italia, e a livello di competenze ne so più io, semplicemente per il fatto che gli ingegneri fanno i gradassi dicendo che loro a lavorare non dovranno mettere mano la codice, ma dovranno darci dei lavori che noi semplici informatici svolgeremo, e loro prenderanno il merito; per questo ce l'ho con gli ingegneri...di riempiono la bocca con il loro titolo (che non è nemmeno vero perchè per essere ingegnere a tutti gli effetti devi fare l'esame di stato ed iscriverti all'albo, altrimenti sono semplici "dottori" come me) e a livello di competenze hanno solo da imparare
Bravo, vuoi un applauso?
Anzi, eccolo qui:

http://cms.montgomerycollege.edu/assets/0/2345/2861/8388/16fd2b3b-134c-44ec-8687-0f901f839cd7.gif

Vincenzo1968
21-01-2013, 16:14
Sto cercando il thread dove Cesare dice che è importante per un informatico l'argomento compilatori e linguaggi formali.

Per ora ho trovato questo:
http://www.hwupgrade.it/forum/showpost.php?p=32200280&postcount=9
http://img854.imageshack.us/img854/8450/dragonbookbibbia.jpg

Almeno siamo d'accordo sul Dragon Book.

cdimauro
21-01-2013, 16:32
Ma non avevi abbandonato il thread? :O

Lo so che stai cercando come un pazzo alla ricerca di quel presunto thread (ormai ti conosco :p), ma dubito che lo troverai, perché non credo proprio di aver fatto un'affermazione simile. Comunque, se hai tempo, cerca pure. :D

Riguardo al Dragon Book, beh, mi pare ovvio che siamo d'accordo: ho scritto che è la bibbia su parser (e compilatori), che una cosa scontata. ;)

Vincenzo1968
21-01-2013, 16:33
http://www.hwupgrade.it/forum/showthread.php?t=2033527
http://img254.imageshack.us/img254/40/passaggioobbligato.jpg

Uh! Scriversi il parser a manina... Passaggio obbligato... E ANTLR?

shinya
21-01-2013, 16:34
Dev'essere un odio di categoria tramandato dai professori. Come l'odio per gli Ingegneri Gestionali che viene trasmesso a tutti gli altri Ingegneri dai loro prof, almeno qui a Milano.

No è che l'Italia è fatta di mafie e parrocchie.

shinya
21-01-2013, 16:36
E no, non serve digerire interamente il Dragon Book; uno strumento come ANTLR ti consente di arrivarci di gran lunga più rapidamente e comodamente, senza scomodare la teoria che sta alla base delle grammatiche.
Oh, speriamo non muoia l'autore di ANTLR però eh... :p Cioè, metti che scoppi l'apocalisse zombie...

cdimauro
21-01-2013, 16:51
http://www.hwupgrade.it/forum/showthread.php?t=2033527
http://img254.imageshack.us/img254/40/passaggioobbligato.jpg

Uh! Scriversi il parser a manina... Passaggio obbligato... E ANTLR?
Hai dimenticato il contesto: si parlava di piccoli progetti. :read:

Linguaggi più complicati realizzarli senza tool automatici è da sbattersi la testa contro un muro.

Difatti 23 o 24 anni fa (non ricordo bene adesso) realizzai un parser per espressioni in assembly 68000, e mi feci un discreto mazzetto. Dopo quell'esperienza, 3-4 anni dopo realizzai un parser per un linguaggio relazionale (per il progetto di Sistemi 1, che è il mattone equivalente di Algoritmi oggi) un po' più complesso, ma in C.

Gli altri linguaggi che ho sviluppato, decisamente più complessi, li ho realizzati coi tool automatici (TPYacc per Turbo Pascal / Delphi, e infine ANTLR).
Oh, speriamo non muoia l'autore di ANTLR però eh... :p Cioè, metti che scoppi l'apocalisse zombie...
E' da un pezzo che non scrivo compilatori, per cui non mi pongo il problema. Poi mi pare fossero disponibili i sorgenti.

Al limite cerco altro, perché non mi posso mettere a reinventare la ruota. Non ho più tempo per cazzeggiare: devo essere produttivo quanto prima.

shinya
21-01-2013, 17:07
E' da un pezzo che non scrivo compilatori, per cui non mi pongo il problema. Poi mi pare fossero disponibili i sorgenti.

Al limite cerco altro, perché non mi posso mettere a reinventare la ruota. Non ho più tempo per cazzeggiare: devo essere produttivo quanto prima.

No no ma su questo non ci piove. Volevo dire che a sentimento a me sembra che l'argomento 'compilatori/interpreti' sia piuttosto importante e di base. Cioè, dire che uno si può laureare in informatica senza saperne una mazza... boh... non me la sento di sottoscrivere.

Vincenzo1968
21-01-2013, 17:26
In B4: Eh ma GCC fa schifo; farina del sacco di Stallman; Eh ma Linux.

Hai dimenticato il contesto: si parlava di piccoli progetti. :read:

Linguaggi più complicati realizzarli senza tool automatici è da sbattersi la testa contro un muro.

Difatti 23 o 24 anni fa (non ricordo bene adesso) realizzai un parser per espressioni in assembly 68000, e mi feci un discreto mazzetto. Dopo quell'esperienza, 3-4 anni dopo realizzai un parser per un linguaggio relazionale (per il progetto di Sistemi 1, che è il mattone equivalente di Algoritmi oggi) un po' più complesso, ma in C.

Gli altri linguaggi che ho sviluppato, decisamente più complessi, li ho realizzati coi tool automatici (TPYacc per Turbo Pascal / Delphi, e infine ANTLR).

E' da un pezzo che non scrivo compilatori, per cui non mi pongo il problema. Poi mi pare fossero disponibili i sorgenti.

Al limite cerco altro, perché non mi posso mettere a reinventare la ruota. Non ho più tempo per cazzeggiare: devo essere produttivo quanto prima.

Ma se i programmatori di GCC hanno deciso di scriverselo a mano il loro parser...

Nelle prime versioni utilizzavano Bison, nelle ultime versioni utilizzano un parser a discesa ricorsiva scritto interamente a mano.

Per questa sera sono stanco di cercare il thread. Mi sono smazzato le prime 21 pagine dal mio elenco sottoscrizioni. Domani continuo...


...
E no, non serve digerire interamente il Dragon Book; uno strumento come ANTLR ti consente di arrivarci di gran lunga più rapidamente e comodamente, senza scomodare la teoria che sta alla base delle grammatiche.

A un programmatore interessano principalmente due cose: il concetto di algoritmo, e la capacità di risolvere problemi (rispettandone i requisiti).
...

Non serve digerire interamente il Dragon Book però per un programmatore "è un passaggio obbligato"(cit.) scriversi un parser a manina... Secondo me ti contraddici.

Si, certo, sull'interamente siamo d'accordo; uno può, inizialmente, saltare gli ultimi capitoli sugli aspetti avanzati(ottimizzazione del codice prodotto, etc), ma come fai a "scrivere un parser a manina"(cit) senza il Dragon Book(o testo equivalente ma, l'hai scritto tu, il Dragon Book è la Bibbia sull'argomento).

;)

;)

WarDuck
21-01-2013, 19:17
perfettamente d'accordo, l'unica differenza dal tuo corso di studi al mio è che il corso di compilatori era obbligatorio,e anche io mi sono laureato in informatica come te...e visto che qualcuno lo ha tirato in mezzo, il mio migliore amico si è laureato in ingegneria informatica a milano, una delle più rinomate in italia, e a livello di competenze ne so più io, semplicemente per il fatto che gli ingegneri fanno i gradassi dicendo che loro a lavorare non dovranno mettere mano la codice, ma dovranno darci dei lavori che noi semplici informatici svolgeremo, e loro prenderanno il merito; per questo ce l'ho con gli ingegneri...di riempiono la bocca con il loro titolo (che non è nemmeno vero perchè per essere ingegnere a tutti gli effetti devi fare l'esame di stato ed iscriverti all'albo, altrimenti sono semplici "dottori" come me) e a livello di competenze hanno solo da imparare

Quindi ne deduciamo che presa una persona a e una persona b rispettivamente dagli insiemi A e B (di cardinalità molto elevate), tale per cui competenza(a) > competenza(b), questo è sufficiente per affermare che complessivamente competenza(A) > competenza(B).

Non c'è che dire logica esemplare :asd: .

Ti do un suggerimento: le competenze ce le hanno le persone, non i loro titoli. Se pensi che un titolo sia sufficiente per valutare le competenze di una persona, allora stiamo messi male, molto male.

Mettiu_
21-01-2013, 19:32
Quindi ne deduciamo che presa una persona a e una persona b rispettivamente dagli insiemi A e B (di cardinalità molto elevate), tale per cui competenza(a) > competenza(b), questo è sufficiente per affermare che complessivamente competenza(A) > competenza(B).

Non c'è che dire logica esemplare :asd: .

Ti do un suggerimento: le competenze ce le hanno le persone, non i loro titoli. Se pensi che un titolo sia sufficiente per valutare le competenze di una persona, allora stiamo messi male, molto male.

No ma tra l'altro lui critica i diplomati perchè si sentono troppo forti su compilatori & co, critica gli ingegneri perchè sono "troppo distanti dal codice", dalla programmazione vera (ma come? non era riduttivo l'appellativo "programmatore"?). Lui critica tutti, gli unici bravi sono gli informatici punto. coffe_killer, ti chiedi davvero perchè la gente non ti risponde seriamente?

cdimauro
21-01-2013, 20:24
No no ma su questo non ci piove. Volevo dire che a sentimento a me sembra che l'argomento 'compilatori/interpreti' sia piuttosto importante e di base. Cioè, dire che uno si può laureare in informatica senza saperne una mazza... boh... non me la sento di sottoscrivere.
Cerchiamo di chiarire: come funziona un parser e un compilatore lo dovrebbe sapere chiunque prenda quel fatidico pezzo di carta.
Adesso non ricordo dov'è stato affrontato l'argomento, ma almeno al corso di Linguaggi di Programmazione, dove abbiamo studiato in lungo e in largo la programmazione funzionale con Scheme e logica con Prolog, ne abbiamo sicuramente parlato, e il professore alla fine del corso ha abbozzato velocemente un interprete Scheme scritto in Scheme.

Tutt'altra cosa è scrivere un parser/interprete/compilatore.

La prima la sottoscrivo. La seconda no, perché è una specializzazione che si può ottenere o con un corso apposito, oppure una volta fuori dall'università.

Il motivo, peraltro, è molto semplice: molto raramente nel lavoro di tutti i giorni ci si scrive un parser, e ancora più raramente un interprete, una virtual machine per farlo girare, o addirittura un compilatore.
In B4: Eh ma GCC fa schifo; farina del sacco di Stallman; Eh ma Linux.
Ma lo vedi che vuoi soltanto polemizzare e provocare? Mah :rolleyes:
Ma se i programmatori di GCC hanno deciso di scriverselo a mano il loro parser...
E quindi? Da questo cosa si dovrebbe dedurre? Che dovrebbero fare tutti così? Solo perché l'hanno fatto loro? E perché?
Nelle prime versioni utilizzavano Bison, nelle ultime versioni utilizzano un parser a discesa ricorsiva scritto interamente a mano.
Si vede che vogliono recuperare il gap con altri compilatori. GCC è uno dei compilatori più lenti. E' talmente lento che il team di BSD ha deciso, anni fa, di staccarsene e farsi un proprio compilatore, che dalle prime stime era 10 volte più veloce.

Non credo che prendere a modello un bloatware possa incidere sui termini della questione.
Per questa sera sono stanco di cercare il thread. Mi sono smazzato le prime 21 pagine dal mio elenco sottoscrizioni. Domani continuo...
Fai pure, visto che hai tempo.
Non serve digerire interamente il Dragon Book però per un programmatore "è un passaggio obbligato"(cit.) scriversi un parser a manina... Secondo me ti contraddici.
Secondo me se non riporti interamente la frase e non consideri il contesto non ci fai una bella figura, perché si chiama mistificazione.
Si, certo, sull'interamente siamo d'accordo; uno può, inizialmente, saltare gli ultimi capitoli sugli aspetti avanzati(ottimizzazione del codice prodotto, etc), ma come fai a "scrivere un parser a manina"(cit) senza il Dragon Book(o testo equivalente ma, l'hai scritto tu, il Dragon Book è la Bibbia sull'argomento).

;)

;)
Intanto che sia il testo di riferimento nel campo dei parser e dei compilatori è assodato, ma ciò non toglie che esistano altri testi molto validi che consentono di farne a meno. Ricordo che nel '90 o nel '91 trovai "Crafting a C compiler" (se non ricordo male il nome), che era pure più chiaro per quanto riguarda gli ultimi capitoli sulle ottimizzazioni e la generazione di codice oggetto. Questo tanto per fare un esempio.

Ciò precisato, il parser a manina lo scrissi quando smanettavo con l'Amiga e il Dragon Book non sapevo nemmeno cosa fosse. Da smanettone, appunto, a dimostrazione che si può benissimo fare a meno delle sue nozioni teoriche per scrivere un parser; e ci mancherebbe che non fosse così, visto che prima di questo libro la ricerca in quel campo è stata floridissima.

Qui, inoltre, tu stai mischiando malamente due cose che ho detto in due thread totalmente diversi. Un conto è quando ho scritto del parser scritto "a manina", in QUEL contesto (vedi sotto), e una cosa completamente diversa è la citazione del Dragon Book.

E francamente, a questo punto, vorrei capire dov'è che vorresti arrivare con questo minestrone.

D'altra parte, sei stato tu stesso ad affermare che:
Ovviamente parliamo di piccoli progetti, come quello del contest. In caso contrario l'uso di tool automatici diventa quasi obbligatorio.
E qui mi pare che, invece, sia proprio tu a contraddirti, e l'esempio del GCC che hai riportato è diametralmente opposto rispetto a ciò che hai detto, appunto, nell'altro thread.

Adesso non uscirtene nuovamente con un "Adieu e cavoli vostri(cit.)", e cercare di chiarire cos'hai in mente, perché non è affatto chiaro.

@Warduck: concordo che, alla fine, ciò che conta è la competenza della persona. Il titolo serve principalmente per le aziende che senza un pezzo di carta non ti calcolano.

Vincenzo1968
21-01-2013, 22:24
Qua l'unica vera contraddizione è:

problem solving qua, problem solving la, A un programmatore interessano principalmente due cose: il concetto di algoritmo, e la capacità di risolvere problemi (rispettandone i requisiti).

Non fai altro che ripeterlo ma quando si tratta di risolvere i problemi, come quello delle grammatiche con produzioni mutuamente ricorsive, non sai che pesci prendere. Altro che problem solving.
Il compilatore no perché ci vuole tempo e risorse. Ma cazzo, nemmeno un piccolo algoritmo...

Quasi obbligatorio. Appunto: quasi. Ho scritto "quasi" perché a conoscenza di notevoli eccezioni come GCC.

In quanto a polemizzare da te posso solo imparare. Non è forse vero che approfitti di ogni occasione per dire che il C fa schifo, gcc farina del sacco di Stallman e bla bla bla...

Da questo che cosa si dovrebbe dedurre? Uh! allora da quello che affermi(e dico affermi, senza mai anteporre le due paroline "secondo me", che cosa si dovrebbe dedurre? Che dobbiamo tutti programmare in Python? Che Java se lo conosci bene, ma se non lo conosci campi anche meglio? E per iniziare a programmare? C'è solo Python?

Vincenzo1968
21-01-2013, 22:59
La prima cosa che hai scritto da quando sono tornato a frequentare il forum:

"Non ho tempo da perdere col C e con Bison".

Poi sono io che polemizzo :rolleyes:

cdimauro
21-01-2013, 23:23
Qua l'unica vera contraddizione è:

problem solving qua, problem solving la, A un programmatore interessano principalmente due cose: il concetto di algoritmo, e la capacità di risolvere problemi (rispettandone i requisiti).

Non fai altro che ripeterlo ma quando si tratta di risolvere i problemi, come quello delle grammatiche con produzioni mutuamente ricorsive, non sai che pesci prendere. Altro che problem solving.
Il compilatore no perché ci vuole tempo e risorse. Ma cazzo, nemmeno un piccolo algoritmo...
Facciamo così. Tu mi progetti l'architettura di un processore che:

-(all'incirca a parità di silicio) è più efficiente di x86 e x64 (cioè ha prestazioni mediamente superiori);
- ha una decodifica delle istruzioni (a lunghezza variabile) di gran lunga più semplice di x86 e x64, all'incirca comparabile a quella di Thumb-2 di ARM, e che pertanto richiede pochissimi stadi di pipeline (probabilmente ne basta uno soltanto) per la sola decodifica (leggi: più efficiente) e consumi estremamente ridotti;
- ha una densità di codice leggermente superiore a x86, ma nettamente inferiore a x64;
- ha 32 registri utilizzabili rispetto ai 16 massimo di x64;
- tutte le istruzioni ternarie, binari, e unarie possono essere opzionalmente "promosse" come quaternarie, ternarie e binarie rispettivamente (leggi: si può specificare un ulteriore registro come sorgente, al posto della solita destinazione che funge anche da uno dei due registri sorgente);
- ha nuove modalità d'indirizzamento che consentono di aggiornare i registri base con pre o post incremento/decremento, oppure di aggiungere loro un offset, ed è possibile specificare indifferentemente indirizzi assoluti o relativi (rispetto al PC);
- può gestire valori immediati a 64 bit (x64 consente soltanto di caricarli sui registri e basta);
- permette di accedere alla parte alta (bit 8-15) di ogni registro per qualunque istruzione (in pratica è ortogonale, mentre con x64 i registri "alti" si possono usare soltanto in alcuni casi, mentre in altri è impossibile);
- consente di eseguire salti condizionati rispetto al valore di un registro, o confrontando due registri;
- ha istruzioni e altre caratteristiche per consentire di emulare più facilmente altre architetture, x86 e x64 in primis;
- ha parecchio spazio per aggiungere altre istruzioni;
- ha un'unità SIMD che consente di manipolare valori a 128, 256, 512 o 1024 bit (cosa che avverrà in futuro; al momento siamo a 512 bit con Larrabee/Knights Corner) in maniera ortogonale e trasparente;
- ha un'unità SIMD con 128 registri (x64 ne ha 16; Larrabee 32) e 16 registri di masking (come Larrabee, ma che ne ha 8);
- l'unità SIMD supporta da centinaia a migliaia di istruzioni quaternarie, ternarie, e binarie;
- l'unità SIMD consente di specificare nuove modalità d'indirizzamento o di utilizzo dei registri vettoriali di gran lunga più flessibili rispetto a SSE/AVX/AVX2 e a Larrabee;
- unisce il meglio di AVX/AVX2 e Larrabee, senza perdere nulla rispetto a ogni unità SIMD;
- è compatibile a livello di sorgente con x86, x64 e Larrabee;
- emula x86 o x64 all'incirca alla stessa velocità.
In buona sostanza, unisce il meglio di x86/x64/Larrabee e ARM/Thumb-2 (a livello di decodifica e relativi consumi), offrendo molto di più.

e io, a questo punto, il mio tempo lo potrò perdere con le sciocchezze a cui stai lavorando tu.

Con ciò, se non fosse chiaro, voglio dire che ognuno ha i propri interessi, ed è a quello che vi dedica il proprio tempo.
Ti sei interessato ai parser, mentre io alla progettazione dell'architettura di nuovi processori, per cui la tua richiesta nei miei confronti lascia il tempo che trova (non è il mio né il mio interesse né ho voglia di mettermi a studiarmi per una cosa che, tra l'altro, nemmeno mi serve), e idem la mia nei tuoi.
Quasi obbligatorio. Appunto: quasi. Ho scritto "quasi" perché a conoscenza di notevoli eccezioni come GCC.
E hai detto niente...
In quanto a polemizzare da te posso solo imparare. Non è forse vero che approfitti di ogni occasione per dire che il C fa schifo, gcc farina del sacco di Stallman e bla bla bla...
Quelle sono battute. Acide, ma sempre battute. Tu, invece, ti prendi e le prendi troppo sul serio, tant'è che poi le spiattelli alla prima occasione.
Da questo che cosa si dovrebbe dedurre? Uh! allora da quello che affermi(e dico affermi, senza mai anteporre le due paroline "secondo me", che cosa si dovrebbe dedurre? Che dobbiamo tutti programmare in Python? Che Java se lo conosci bene, ma se non lo conosci campi anche meglio? E per iniziare a programmare? C'è solo Python?
Stai divagando. Ho esposto chiaramente il mio pensiero, e tanto basta.
La prima cosa che hai scritto da quando sono tornato a frequentare il forum:

"Non ho tempo da perdere col C e con Bison".

Poi sono io che polemizzo :rolleyes:
Ma di quale polemica parli? Quella che ho scritto è la pura verità, e non c'è nulla di offensivo, se non per te che ti senti perseguitato da affermazioni come le mie.

Lo dimostra anche il tuo ossessivo cercare nei vecchi thread, nella speranza di trovare qualche appiglio per portare acqua al tuo mulino. Ne stai facendo una malattia. Infatti avevi scritto di abbondare il thread, e invece continui a tornare qui a intervenire: è, appunto, un'ossessione la tua.

Comunque è evidente che hai un sacco di tempo da perdere. Io no, e quella frase che hai riportato è l'esatto specchio del mio modus operandi: il poco tempo che ho preferisco impiegarlo al meglio, appunto.

Vincenzo1968
21-01-2013, 23:34
Minchiate. Tutte scuse. Non hai voglia, non hai tempo... Non lo sai fare! Problem not solving.

Che tempo e tempo! C'ho perso mezz'oretta per trovare la soluzione.
Uh! non ha tempo! Millemila messaggi contro i miei 1500 e non ha tempo.

Quando si tratta di codificare non ha mai tempo.

cdimauro
21-01-2013, 23:45
Il tempo lo impiego come lo voglio io e alle cose che m'interessano. Soprattutto a cose che ritengo utili.

Al mio progetto è da un anno e mezzo che lavoro concretamente, dopo parecchio tempo impiegato a rifletterci, e mi sto muovendo per cercare di realizzarlo.

Tu il tuo giocattolo presentalo a Stallman.

Poi, visto che di tempo ne hai parecchio, realizzala tu, se ci riesci, un'architettura con tutte le caratteristiche ho elencato sopra. Magari in mezz'ora troverai la soluzione...

Tommo
21-01-2013, 23:46
A sto giro sono d'accordo con Vincenzo per un motivo: scrivere un parser di un certo livello significa sbattere la faccia contro una buona parte dei problemi fondamentali dei modelli informatici, e anche se poi uno non deve stare a scrivere parser tutti i giorni sono conoscenze che ti guidano anche quando devi scrivere una cagata in javascript, che magari ti fanno balenare in mente che fare un new dentro ogni iterazione di un ciclo for potrebbe essere male.
Così come sapere com'è fatto un processore, saper abbozzare un programma in asm, etc.

Perchè non è tanto vero che a usare frameworks sono buoni tutti... se non sai risolvere il problema nella tua testa non ci sta tool che tenga, specie se punti all'efficienza massima.

@cdimauro a occhio non mi sembra una cosa fattibile quella che dici :asd:

cdimauro
22-01-2013, 00:17
A sto giro sono d'accordo con Vincenzo per un motivo: scrivere un parser di un certo livello significa sbattere la faccia contro una buona parte dei problemi fondamentali dei modelli informatici, e anche se poi uno non deve stare a scrivere parser tutti i giorni sono conoscenze che ti guidano anche quando devi scrivere una cagata in javascript, che magari ti fanno balenare in mente che fare un new dentro ogni iterazione di un ciclo for potrebbe essere male.
Così come sapere com'è fatto un processore, saper abbozzare un programma in asm, etc.

Perchè non è tanto vero che a usare frameworks sono buoni tutti... se non sai risolvere il problema nella tua testa non ci sta tool che tenga, specie se punti all'efficienza massima.
Per far questo sono di gran lunga più importanti le conoscenze di basso livello, e un buon profiler. Scrivere un parser o compilatore non aiuta allo stesso modo, ed è sufficiente una conoscenza di base, come quella di cui parlavo prima, sull'argomento.
@cdimauro a occhio non mi sembra una cosa fattibile quella che dici :asd:
Dalla beta pubblica di Photoshop CS6 a 32 bit:
Instructions: 1746569 Size: 5634556 NEW ISA Size: 5982402 Diff: 347846 (+6.2%)
Average x86 length: 3.2
Average NEW ISA length: 3.4
Dalla beta pubblica di Photoshop CS6 a 64 bit:
Instructions: 1737331 Size: 7556180 NEW ISA Size: 6239790 Diff: -1316390 (-17.4%)
Average x64 length: 4.3
Average NEW ISA length: 3.6
Una breve spiegazione: sono state disassemblate circa 1,7 milioni di istruzioni degli eseguibili della beta pubblica di Photoshop CS6, rispettivamente a 32 e 64 bit, e riassemblate nelle esatte equivalenti istruzioni della mia nuova architettura.

Il risultato è che rispetto a x86 in media le istruzioni sono più lunghe di circa 0,2 byte, mentre rispetto a x64 sono più corte di 0,7 byte.

Stiamo parlando di una traduzione molto rozza, quindi utile magari per un emulatore x86 o x64. Non vengono usate caratteristiche specifiche della nuova ISA, che possono portare tranquillamente a una densità migliore, come pure a prestazioni migliori.
Ad esempio, nella traduzione di codice x86 vengono usati i soliti 8 registri, mentre per x64 i soliti 16, quando a disposizione ce ne sono ben 32; ovviamente niente istruzioni ternarie (es: A = B + C) che consentirebbero di risparmiare almeno un'istruzione, niente modalità d'indirizzamento con post incremento che consentirebbero di risparmiare l'incremento del registro indice, niente istruzioni di confronto fra registri e salto, che consentirebbero di risparmiare ancora un'altra istruzione, ecc. Margini per migliorare il codice sia come densità che come prestazioni ce ne sono ancora parecchi, come puoi immaginare.

L'architettura soddisfa tutti i requisiti esposti, e... qualche altra cosa.

Ovviamente non posso divulgare altre informazioni oltre ai risultati delle mie simulazioni, anche perché su alcuni dettagli è possibile che si possano richiedere e ottenere dei brevetti.

misterx
22-01-2013, 07:03
A sto giro sono d'accordo con Vincenzo per un motivo: scrivere un parser di un certo livello significa sbattere la faccia contro una buona parte dei problemi fondamentali dei modelli informatici, e anche se poi uno non deve stare a scrivere parser tutti i giorni sono conoscenze che ti guidano anche quando devi scrivere una cagata in javascript, che magari ti fanno balenare in mente che fare un new dentro ogni iterazione di un ciclo for potrebbe essere male.
Così come sapere com'è fatto un processore, saper abbozzare un programma in asm, etc.

Perchè non è tanto vero che a usare frameworks sono buoni tutti... se non sai risolvere il problema nella tua testa non ci sta tool che tenga, specie se punti all'efficienza massima.

@cdimauro a occhio non mi sembra una cosa fattibile quella che dici :asd:

ne ho scritte tantissime di quelle cose come le chiami tu in javascript e le conoscenze di parser nemmeno l'ombra.
Vi siete dimenticati lo scopo principale dell'informatico: creare strumenti usabili da tutti non solo da pochi. Javascript è un linguaggio alla portata di tutti e non servono conoscenze particolari per scrivere qualcosa di decente.

I parser sono stati inventati almeno 30'anni fa e a meno che non si faccia ricerca la loro conoscenza ha valore puramente accademico, nel mondo del lavoro non vi serve a nulla saper implementare un linguaggio esistono già e non ti semplificano la vita nel risolvere problemi. Spendete meglio il vostro tempo a meno che non siate ancora studenti.

cdimauro
22-01-2013, 07:37
Assolutamente d'accordo. E aggiungo che per realizzare parser non serve nemmeno tutta la teoria dei linguaggi formali. Oggi, fortunatamente, ci sono strumenti che consentono di tirare fuori velocemente un parser, e ti controllano pure se la grammatica è ambigua o genera produzioni infinite che non si possono gestire.

La teoria è importante per chi decide di fare ricerca in questo campo. Nella vita di tutti i giorni di un normale programmatore sono sufficienti le nozioni che si apprendono all'università.

Vincenzo1968
22-01-2013, 09:26
A sto giro sono d'accordo con Vincenzo per un motivo: scrivere un parser di un certo livello significa sbattere la faccia contro una buona parte dei problemi fondamentali dei modelli informatici, e anche se poi uno non deve stare a scrivere parser tutti i giorni sono conoscenze che ti guidano anche quando devi scrivere una cagata in javascript, che magari ti fanno balenare in mente che fare un new dentro ogni iterazione di un ciclo for potrebbe essere male.
Così come sapere com'è fatto un processore, saper abbozzare un programma in asm, etc.

Perchè non è tanto vero che a usare frameworks sono buoni tutti... se non sai risolvere il problema nella tua testa non ci sta tool che tenga, specie se punti all'efficienza massima.

@cdimauro a occhio non mi sembra una cosa fattibile quella che dici :asd:

This.

cdimauro
22-01-2013, 09:33
I problemi "fondamentali" di cui parla li si affronta nel corso di Algoritmi, dal quale attingono praticamente tutti: compilatori (hash table), database (red & black tree), mappe (grafi con percorsi), ecc. ecc.

Vincenzo1968
22-01-2013, 10:15
This! Se non fosse this, ma è this:

http://www-cs-faculty.stanford.edu/~uno/taocp.html


Volume 5

Syntactic Algorithms, in preparation.

9. Lexical scanning (includes also string search and data compression)
10. Parsing techniques

Estimated to be ready in 2020.
Future plans

As I continue to write Volumes 4 and 5, I'll need to refer to topics that belong logically in Volumes 1--3 but weren't invented yet when I wrote those books. Instead of putting such material artificially into Volumes 4 or 5, I'll put it into fascicle form. The first such fascicle is in fact ready now (see above): It describes MMIX, a RISC machine that is used in Volume 4A; MMIX will also take the place of MIX in all subsequent editions of Volumes 1, 2, and 3.

Download the 16 Feb 2004 version of Volume 1 Fascicle 1 (583KB of compressed PostScript) (this old version is however no longer being maintained)

After Volume 5 has been completed, I will revise Volumes 1--3 again to bring them up to date. In particular, the new material for those volumes that has been issued in beta-test fascicles will be incorporated at that time.

Then I will publish a ``reader's digest'' edition of Volumes 1--5, condensing the most important material into a single book.

And after Volumes 1--5 are done, God willing, I plan to publish Volume 6 (the theory of context-free languages) and Volume 7 (Compiler techniques), but only if the things I want to say about those topics are still relevant and still haven't been said. Volumes 1--5 represent the central core of computer programming for sequential machines; the subjects of Volumes 6 and 7 are important but more specialized.


http://www.hwupgrade.org/public/style_emoticons/default/coolface.png

Vincenzo1968
22-01-2013, 10:19
http://img844.imageshack.us/img844/7757/knuthvolume5.jpg

Include also string search. See contest 19.

http://www.hwupgrade.org/public/style_emoticons/default/coolface.png

misterx
22-01-2013, 10:28
edit

cdimauro
22-01-2013, 10:30
Che c'entra "The Art of Computer Programming" adesso?

In un corso di Algoritmi è impensabile che si possano coprire TUTTI gli algoritmi citati in quell'enciclopedia. Si mettono quelli più importanti e che si incontrano più comunemente.

Altrimenti dovrebbero dedicare il biennio soltanto all'opera di Knuth, ma mi sembra LEGGERMENTE eccessivo, non credi? Mah.

Secondo me continui con questa storia perché non hai mai frequentato l'università e non sai com'è strutturato un corso di studi, che non deve certo forgiare gente che deve sapere tutto...

The_ouroboros
22-01-2013, 10:37
io mi limito a Introduction to Algorithms (http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262033844)

Vincenzo1968
22-01-2013, 10:38
Ah non c'entra col problem solving?


Volumes 1--5 represent the central core of computer programming for sequential machines;


I volumi da uno a cinque. E il volume cinque è(sarà, nel 2020) questo:

Volume 5

Syntactic Algorithms, in preparation.

9. Lexical scanning (includes also string search and data compression)
10. Parsing techniques

Estimated to be ready in 2020.

Vincenzo1968
22-01-2013, 10:40
io mi limito a Introduction to Algorithms (http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262033844)

Ottimo libro, ce l'ho. Ma anche il Sedgewick. Consiglio di prenderli(e studiarli con cura) tutt'e tre: Knuth, Cormen e Sedgewick.

;)

The_ouroboros
22-01-2013, 10:44
Ottimo libro, ce l'ho. Ma anche il Sedgewick. Consiglio di prenderli(e studiarli con cura) tutt'e tre: Knuth, Cormen e Sedgewick.

;)

ho anche il Sedgewick in verità.
Mi manca solo il Knuth.... ma costicchia :D

cdimauro
22-01-2013, 10:49
Ah non c'entra col problem solving?
Quindi PER TE si dovrebbero studiare TUTTI gli algoritmi presenti in quei libri. Ho capito bene?

Se è così, per fortuna che il contenuto dei corsi di laurea non li decidi tu...

Vincenzo1968
22-01-2013, 11:04
Quindi PER TE si dovrebbero studiare TUTTI gli algoritmi presenti in quei libri. Ho capito bene?

Si.


Se è così, per fortuna che il contenuto dei corsi di laurea non li decidi tu...

Eh ma mi(si lo so, non si scrive ma mi) sto dando da fare per fare approvare una legge che renda la conoscenza di tutti quegli algoritmi obbligatori.
Come prima cosa sarà necessario un preesame per l'iscrizione: bisognerà conoscere bene le tecniche di parsing.
Superato il preesame bisognerà, al primo anno, superare algoritmi e strutture dati(con quei tre libri di testo obbligatori).
Al secondo e terzo anno esami di compilatori e compilatori avanzato.
Quarto anno quello che volete ma la tesi finale dovrà essere su compilatori e linguaggi formali.

Controllerò io personalmente. Mi piazzerò all'ingresso e quando si presenterà qualcuno per l'iscrizione:

- "Alt! Che deve fare?"
- "Sono venuto per iscrivermi al primo anno di Ingegneria Informatica".
- "Le tecniche di parsing le conosce?"
- "Ma io veramente..."
- "Guardi, la di fronte c'è la facolta di giurisprudenza, vada a iscriversi li."
- "Ma, io..."
-"Ma, niente ma. La dietro c'è Lettere e Filosofia. Vada vada."

tomminno
22-01-2013, 11:17
Ah non c'entra col problem solving?



I volumi da uno a cinque. E il volume cinque è(sarà, nel 2020) questo:

Gli autori hanno bisogno di altri 7 (!) anni per risolvere il problema :D

misterx
22-01-2013, 11:26
Si.



Eh ma mi(si lo so, non si scrive ma mi) sto dando da fare per fare approvare una legge che renda la conoscenza di tutti quegli algoritmi obbligatori.
Come prima cosa sarà necessario un preesame per l'iscrizione: bisognerà conoscere bene le tecniche di parsing.
Superato il preesame bisognerà, al primo anno, superare algoritmi e strutture dati(con quei tre libri di testo obbligatori).
Al secondo e terzo anno esami di compilatori e compilatori avanzato.
Quarto anno quello che volete ma la tesi finale dovrà essere su compilatori e linguaggi formali.

Controllerò io personalmente. Mi piazzerò all'ingresso e quando si presenterà qualcuno per l'iscrizione:

- "Alt! Che deve fare?"
- "Sono venuto per iscrivermi al primo anno di Ingegneria Informatica".
- "Le tecniche di parsing le conosce?"
- "Ma io veramente..."
- "Guardi, la di fronte c'è la facolta di giurisprudenza, vada a iscriversi li."
- "Ma, io..."
-"Ma, niente ma. La dietro c'è Lettere e Filosofia. Vada vada."

poi se vieni da me a fare il colloquio di lavoro e sai fare solo un compilatore ti caccio al volo ;)

[Kendall]
22-01-2013, 11:30
i titoli andrebbero lasciati a casa, hai ragione...ma io non accetto che mi venga detto che tutto ciò che ho studiato lo potevo apprendere anche lavorando munito solo del mio diplomino...è vero sono perito informatico, ma senza la laurea in informatica sarei stato un altro pecorone sotto un padrone di un'azienda da 5 dipendenti al massimo, che faccio lavori monotoni e ripetitivi
Ma come ti permetti di dare dei pecoroni a persone che lavorano per portare a casa il grano, a prescindere da quanto tale lavoro possa essere "elevato" (ma elevato de che poi...). Credi che il non avere una laurea tolga alle persona la propria dignità?


il fatto che si dica "con il mio diploma da ragioniere so fare molto di più dei miei colleghi con la laurea" mi irrita alquanto, dal momento che prima di tutto avrà dei colleghi incapaci, perchè i laureati, quelli veri, non hanno niente da imparare da un diplomato, e sono pronto a metterlo per iscritto

Tu non hai idea di quante ossa dovrai ancora farti, e quante cose hai ancora da apprendere per quello che sarà il tuo futuro lavoro. E la cosa peggiore, è che questo modo di pensare non fa onore ad uno che sarà laureato e che dovrebbe essere proprio per questo di mente decisamente aperta e vogliosa di apprendere da tutto e tutti, anche da quei famosi "pecoroni" che se tutto va bene, lavorando da più tempo di te (avendo cominciato ben prima), qualcosa di sicuro hanno da insegnartelo (se poi lavorano da anni e anni ancor di più).
Al mio primo impiego dopo la laurea credo di essere andato avanti 6 mesi senza la più pallida idea di che stava succedendo intorno a me, totalmente spaesato di fronte ad un qualcosa che nulla aveva a che vedere con ciò che mi avevano insegnato all'università. Poi con il tempo cominci a collegare i punti, a trovare appigli, e l'elasticità mentale che ti ha insegnato l'università aiuta ad acquisire una sempre maggiore sicurezza.


secondo, le capacità arrivano anche da anni di lavoro, quindi in 10 anni voglio proprio vedere quanta strada fa un diplomato e quanta un laureato
terzo ma non meno importante, vincenza sarà diplomato in ragioneria e farà il programmatore, ma è entrato nel mondo dell'informatica anni fa, e soprattutto nell'ultimo lustro questo mondo si è evoluto completamente, e senza una laurea cari miei nemmeno ti aprono la porta, bravo o tonto che sia; vorrei proprio vedere se con il mio diploma da perito mi avrebbero fatto le offerte che mi hanno fatto alla fine dell'università. Quindi i primi che dovrebbero farsi un esame di coscienza sono quelli che si definiscono capaci solo con il diplomino e sminuiscono i propri colleghi laureati, perchè non ricordano forse quanto costa studiare e quanto impegno un ragazzo ci può mettere nello svolgere al meglio il suo percorso universitario sperando in un futuro migliore, e soprattutto quante cose in più sa un laureato rispetto ad un diplomato (e questa è mia esperienza personale, non lo dico tanto per riempire il post)
Tu ragazzo mio avresti bisogno di una bella iniezione di umiltà. La laurea aiuta, certo, apre molte porte, sicuramente, è un percorso che amplia l'elasticità e le conoscenze di una persona, indubbiamente, ma come tu hai sbattuto la testa su quei libri così lo fa chi, per esempio, è studente-lavoratore (come lo son stato io nell'ultimo anno di universià) e le lezioni non può seguirle quindi si arma di pazienza e ci sbatte la testa da solo senza l'ausilio del docente (o solo raramente). E che differenza c'è tra una persona così, ed un diplomato che per sua passione ma impossibilità varie (economiche o di altre circostanze) non può iscriversi all'università e quindi si compra i suoi libri, i suoi manuali e ci sbatte la testa la sera, nel weekend, nelle pause pranzo?

Sai qual'è la differenza? Proprio nessuna, al di là di quel foglio di carta e del fatto che quel diplomato riuscirà con molta più fatica a far valere quelle conoscenze non certificate.
Ma quello stesso diplomato potrebbe avere giusto "un paio" di cose da insegnarti...

misterx
22-01-2013, 11:47
;38900266']Ma come ti permetti di dare dei pecoroni a persone che lavorano per portare a casa il grano, a prescindere da quanto tale lavoro possa essere "elevato" (ma elevato de che poi...). Credi che il non avere una laurea tolga alle persona la propria dignità?



Tu non hai idea di quante ossa dovrai ancora farti, e quante cose hai ancora da apprendere per quello che sarà il tuo futuro lavoro. E la cosa peggiore, è che questo modo di pensare non fa onore ad uno che sarà laureato e che dovrebbe essere proprio per questo di mente decisamente aperta e vogliosa di apprendere da tutto e tutti, anche da quei famosi "pecoroni" che se tutto va bene, lavorando da più tempo di te (avendo cominciato ben prima), qualcosa di sicuro hanno da insegnartelo (se poi lavorano da anni e anni ancor di più).
Al mio primo impiego dopo la laurea credo di essere andato avanti 6 mesi senza la più pallida idea di che stava succedendo intorno a me, totalmente spaesato di fronte ad un qualcosa che nulla aveva a che vedere con ciò che mi avevano insegnato all'università. Poi con il tempo cominci a collegare i punti, a trovare appigli, e l'elasticità mentale che ti ha insegnato l'università aiuta ad acquisire una sempre maggiore sicurezza.



Tu ragazzo mio avresti bisogno di una bella iniezione di umiltà. La laurea aiuta, certo, apre molte porte, sicuramente, è un percorso che amplia l'elasticità e le conoscenze di una persona, indubbiamente, ma come tu hai sbattuto la testa su quei libri così lo fa chi, per esempio, è studente-lavoratore (come lo son stato io nell'ultimo anno di universià) e le lezioni non può seguirle quindi si arma di pazienza e ci sbatte la testa da solo senza l'ausilio del docente (o solo raramente). E che differenza c'è tra una persona così, ed un diplomato che per sua passione ma impossibilità varie (economiche o di altre circostanze) non può iscriversi all'università e quindi si compra i suoi libri, i suoi manuali e ci sbatte la testa la sera, nel weekend, nelle pause pranzo?

Sai qual'è la differenza? Proprio nessuna, al di là di quel foglio di carta e del fatto che quel diplomato riuscirà con molta più fatica a far valere quelle conoscenze non certificate.
Ma quello stesso diplomato potrebbe avere giusto "un paio" di cose da insegnarti...

kendall, stai dicendo che io e te studenti lavoratori siamo andati all'uni "facendoci un mazzo tanto :D" quando invece era sufficiente leggersi qualche libro; è fondamentalmente sbagliato pensarla così. Trovo quasi più giusto che un neo laureato, al giorno d'oggi, difenda la sua laurea a spada tratta, in un periodo proprio dove la laurea viene calpestata da tutti.

Onore a chi studia per fatti suoi e per sua cultura personale ma disonore a colui che vuole emergere a tutti i costi sopra coloro che per il momento mancano di esperienza. Sono certo che i giovani laureati, se veramente appassionati di quello che hanno studiato, e come dici tu armati di umiltà, in poco tempo possono raggiungere e superare i precedenti diplomati, è così, il mondo del lavoro si aggiona e non ci si deve sentire inadeguati o superati, è un fatto.

Un tempo il diplomato aveva un determinato valore oggi lo ha il laureato, domani serviranno 3 lauree e così via.


p.s.
non inventiamo troppe scuse, ho visto gente laurearsi con due/tre figli a carico

Vincenzo1968
22-01-2013, 11:49
ho anche il Sedgewick in verità.
Mi manca solo il Knuth.... ma costicchia :D

Mi sono dimenticato di dire che conviene comprare la vecchia edizione del Sedgewick. Nell'ultima, evidentemente per risparmiare sui costi, hanno eliminato un fottìo di utilissimi algoritmi, un fottìo di capitoli.

;)

shinya
22-01-2013, 12:32
i titoli andrebbero lasciati a casa, hai ragione...ma io non accetto che mi venga detto che tutto ciò che ho studiato lo potevo apprendere anche lavorando munito solo del mio diplomino...è vero sono perito informatico, ma senza la laurea in informatica sarei stato un altro pecorone sotto un padrone di un'azienda da 5 dipendenti al massimo, che faccio lavori monotoni e ripetitivi
E invece che lavoro fai?

[Kendall]
22-01-2013, 12:51
kendall, stai dicendo che io e te studenti lavoratori siamo andati all'uni "facendoci un mazzo tanto :D" quando invece era sufficiente leggersi qualche libro; è fondamentalmente sbagliato pensarla così. Trovo quasi più giusto che un neo laureato, al giorno d'oggi, difenda la sua laurea a spada tratta, in un periodo proprio dove la laurea viene calpestata da tutti.

Non ho detto che non ci siamo fatti il mazzo o che basta leggiucchiare qualche libro. Ho detto che quello che noi abbiamo fatto è stato un percorso di apprendimento, ma il fatto di essere iscritti formalmente ad una università non lo ha reso più o meno semplice, e pertanto se qualcuno si prendesse la briga, per passione, di acquistarsi dei manuali, di studiarli approfonditamente (e non solo leggerli) e perchè no anche di andare a qualche lezione pur non frequentando (dopo essermi laureato in ingegneria meccanica io stesso ho seguito le lezioni di Programmazione e Programmazione ad Oggetti presso l'università di Padova) non vedo per qualche motivo non dovrebbe potenzialmente acquisire una conoscenza pari a quella di uno studente di informatica in quel campo.

Di sicuro non è un percorso comune, di sicuro se mi trovo di fronte un ingegnere (o un dottore in informatica, per i suscettibili all'argomento) rispetto ad un diplomato posso "aspettarmi" che ne sappia di più, ma io sinceramente non parto mai prevenuto da questo punto di vista perchè se quel diplomato ha unito l'esperienza sul campo ad una sana passione per l'argomento, ci sono grosse possibilità che ne sappia, e non poco, più di un neolaureato o di un laureato in erba.

Ripeto, qui non si sta mettendo in dubbio l'utilità della laurea come percorso (è stato un percorso fondamentale della mia vita e lo rifarei senza pensarci due volte), ma affermazioni tipo "un laureato non ha nulla da imparare da un diplomato" oppure "un diplomato non potrà mai saperne quanto un laureato", che sono semplicemente baggianate.

Vincenzo1968
22-01-2013, 12:58
http://www.hwupgrade.it/forum/showthread.php?t=1794329
http://www.hwupgrade.it/forum/showpost.php?p=23575749&postcount=17

http://img703.imageshack.us/img703/8672/cdimaurocmeglio.jpg

L'università è piena di gente incapace :D
Io questo non l'ho mai scritto. Ho scritto che gente che io ho conosco personalmente sbianca in volto quando si parla di compilatore(e poi scopre che sono ragioniere).

Vincenzo1968
22-01-2013, 13:04
Gli autori hanno bisogno di altri 7 (!) anni per risolvere il problema :D

L'autore. Uno è: Knuth.

Evidentemente ritiene, come ha scritto nel suo sito, l'argomento di estrema importanza per dedicarvi tempo ed energie. Anche oggi, anche in futuro.

;)

Vincenzo1968
22-01-2013, 13:21
Ohé,

qui Cesare dice che "The Art of Computer Programming" è la bibbia dell'informatica:

http://www.hwupgrade.it/forum/showpost.php?p=23622181&postcount=104

:D

tomminno
22-01-2013, 13:21
Si.



Eh ma mi(si lo so, non si scrive ma mi) sto dando da fare per fare approvare una legge che renda la conoscenza di tutti quegli algoritmi obbligatori.
Come prima cosa sarà necessario un preesame per l'iscrizione: bisognerà conoscere bene le tecniche di parsing.
Superato il preesame bisognerà, al primo anno, superare algoritmi e strutture dati(con quei tre libri di testo obbligatori).
Al secondo e terzo anno esami di compilatori e compilatori avanzato.
Quarto anno quello che volete ma la tesi finale dovrà essere su compilatori e linguaggi formali.

Controllerò io personalmente. Mi piazzerò all'ingresso e quando si presenterà qualcuno per l'iscrizione:

- "Alt! Che deve fare?"
- "Sono venuto per iscrivermi al primo anno di Ingegneria Informatica".
- "Le tecniche di parsing le conosce?"
- "Ma io veramente..."
- "Guardi, la di fronte c'è la facolta di giurisprudenza, vada a iscriversi li."
- "Ma, io..."
-"Ma, niente ma. La dietro c'è Lettere e Filosofia. Vada vada."

Perchè te quando sei andato alle elementari ti hanno chiesto se sapevi leggere scrivere e fare di conto eh? :doh:

Per l'accesso ad ingegneria meccanica proporresti il saper truccare il motorino e come tesi il cambio della cinghia di distribuzione dell'auto.

Per l'accesso ad ingegneria edile proporresti il saper fare la malta e come tesi tirare su a manina un muro di mattoni.


Pensa te la mia testi è stata sulle Wavelet applicate all'elaborazione della musica.
Nel tuo mondo compilatore centrico, non riusciresti mai anche solo a concepire la mia tesi visto che per capirci qualcosa di Wavelet ci vuole un bel po' di matematica dietro...
Ma no bisogna studiare solo compilatori!
Non riusciresti nemmeno a concepire la musica digitale dato che per capirne qualcosa hai bisogno di conoscere un certo Shannon che non era un inventore di parser. Ti riempi la bocca con i compilatori ma non sai come le informazioni vengono scritte su un qualunque supporto digitale perchè non conosci i campi di Galois.
I tuoi compilatori non ti insegnano niente riguardo ai sistemi operativi e al loro funzionamento...
I tuoi compilatori non ti insegnano niente sulle reti informatiche...
I tuoi compilatori non ti insegnano niente sulle reti neurali...
I tuoi compilatori non ti insegnano niente sui sistemi fail safe...
I tuoi compilatori non ti insegnano niente riguardo alle pratiche migliori per sviluppare un software...
...
Ok potrei continuare all'infinito elencando tutto quello a cui non serve a niente essere delle Black Belt su parser e compilatori...

Parse e compilatori sono proprio solo una parte infinitesima di questo oceano che è l'informatica...

Kralizek
22-01-2013, 13:23
Se tutti avessero letto "Starship Troopers" di Heinlein, questa discussione non esisterebbe proprio.

Per chi lo ha letto...


L'ingegnere é come il tenentino appena uscito dall'accademia mentre il diplomato, soprattutto se di vecchia data, é il sergente.

cdimauro
22-01-2013, 13:41
http://www.hwupgrade.it/forum/showthread.php?t=1794329
http://www.hwupgrade.it/forum/showpost.php?p=23575749&postcount=17

http://img703.imageshack.us/img703/8672/cdimaurocmeglio.jpg

L'università è piena di gente incapace :D
Vero, il baronato non me lo sono certo inventato io, e lo sappiamo tutti, almeno chi ha frequentato, che c'è un sacco di gente incapace che è stata messa per volere "divino".

Ma questo non significa che siano TUTTI così. E per fortuna! La maggior parte dei docenti che ho avuto erano delle eccellenze, dai quali ho avuto molto da imparare.

Comunque dovresti spiegarmi adesso che c'entra questo necro-post che hai trovato coi discorsi che abbiamo fatto finora. Sù, adesso usa un po' di logica: metti assieme i pezzi dei puzzle che stai tirando fuori e dimostrami il loro legame e dove vorresti arrivare.
Io questo non l'ho mai scritto. Ho scritto che gente che io ho conosco personalmente sbianca in volto quando si parla di compilatore(e poi scopre che sono ragioniere).
Ma tu guarda: io conosco gente che sbianca in volto in quando gli chiedo di realizzare un'architettura come quella che ho descritto prima. :D Magari in mezz'ora. :read:

Problem solving. Come no! :asd:
L'autore. Uno è: Knuth.

Evidentemente ritiene, come ha scritto nel suo sito, l'argomento di estrema importanza per dedicarvi tempo ed energie. Anche oggi, anche in futuro.

;)
Già, è soltanto UNA persona che
ha impiegato una vita

e...

non ha ancora finito!

:asd:

E tu vorresti fare studiare TUTTA questa roba a chi si deve "soltanto" laureare in informatica... Una logica impeccabile, non c'è che dire... per chi si voglia mettere una corda al collo.

Tu, mio caro, sei soltanto un nozionista. E faresti danni ovunque, non soltanto in un corso di laurea in informatica, con questa mentalità. Faresti studiare TUTTI i classici a chi avesse avuto la sventura di scegliere lingua e letteratura greca...
Ohé,

qui Cesare dice che "The Art of Computer Programming" è la bibbia dell'informatica:

http://www.hwupgrade.it/forum/showpost.php?p=23622181&postcount=104

:D
Sì, confermo ogni singola parola. E allora? E' il più prestigioso testo di riferimento in materia di algoritmi, per cui è naturale considerarlo "la bibbia", come lo è il Dragon Book per i compilatori.

So what? In base alla tua logica averlo definito tale implica necessariamente che lo si deve studiare tutto? E per fare cosa? Puro nozionismo.

Perché dovresti dirmi come programmatore quale vantaggio avresti, nella vita di tutti i giorni, nell'avere studiato l'algoritmo della moltiplicazione di Karatsuba (che ovviamente trovi nello Knuth), rispetto a un Bubble sort.

Dimmelo.

E chiediti perché in un corso di laurea il primo non lo incontri nemmeno di striscio, mentre il secondo già al primo anno di informatica all'ITIS te lo fanno studiare...
Perchè te quando sei andato alle elementari ti hanno chiesto se sapevi leggere scrivere e fare di conto eh? :doh:

Per l'accesso ad ingegneria meccanica proporresti il saper truccare il motorino e come tesi il cambio della cinghia di distribuzione dell'auto.

Per l'accesso ad ingegneria edile proporresti il saper fare la malta e come tesi tirare su a manina un muro di mattoni.


Pensa te la mia testi è stata sulle Wavelet applicate all'elaborazione della musica.
Nel tuo mondo compilatore centrico, non riusciresti mai anche solo a concepire la mia tesi visto che per capirci qualcosa di Wavelet ci vuole un bel po' di matematica dietro...
Ma no bisogna studiare solo compilatori!
Non riusciresti nemmeno a concepire la musica digitale dato che per capirne qualcosa hai bisogno di conoscere un certo Shannon che non era un inventore di parser. Ti riempi la bocca con i compilatori ma non sai come le informazioni vengono scritte su un qualunque supporto digitale perchè non conosci i campi di Galois.
I tuoi compilatori non ti insegnano niente riguardo ai sistemi operativi e al loro funzionamento...
I tuoi compilatori non ti insegnano niente sulle reti informatiche...
I tuoi compilatori non ti insegnano niente sulle reti neurali...
I tuoi compilatori non ti insegnano niente sui sistemi fail safe...
I tuoi compilatori non ti insegnano niente riguardo alle pratiche migliori per sviluppare un software...
...
Ok potrei continuare all'infinito elencando tutto quello a cui non serve a niente essere delle Black Belt su parser e compilatori...

Parse e compilatori sono proprio solo una parte infinitesima di questo oceano che è l'informatica...
Post da incorniciare. Non avrei potuto scrivere di meglio.

P.S. Le wavelet, UN particolare insieme per la precisione, le ho implementate nel decoder JPEG 2000 che ho implementato per la tesi di laurea, ma non ne ho studiato matematicamente il comportamento e le proprietà. M'interessava soltanto applicarle ai miei dati.

Vincenzo1968
22-01-2013, 14:02
Perchè te quando sei andato alle elementari ti hanno chiesto se sapevi leggere scrivere e fare di conto eh? :doh:

Per l'accesso ad ingegneria meccanica proporresti il saper truccare il motorino e come tesi il cambio della cinghia di distribuzione dell'auto.

Per l'accesso ad ingegneria edile proporresti il saper fare la malta e come tesi tirare su a manina un muro di mattoni.


Pensa te la mia testi è stata sulle Wavelet applicate all'elaborazione della musica.
Nel tuo mondo compilatore centrico, non riusciresti mai anche solo a concepire la mia tesi visto che per capirci qualcosa di Wavelet ci vuole un bel po' di matematica dietro...
Ma no bisogna studiare solo compilatori!
Non riusciresti nemmeno a concepire la musica digitale dato che per capirne qualcosa hai bisogno di conoscere un certo Shannon che non era un inventore di parser. Ti riempi la bocca con i compilatori ma non sai come le informazioni vengono scritte su un qualunque supporto digitale perchè non conosci i campi di Galois.
I tuoi compilatori non ti insegnano niente riguardo ai sistemi operativi e al loro funzionamento...
I tuoi compilatori non ti insegnano niente sulle reti informatiche...
I tuoi compilatori non ti insegnano niente sulle reti neurali...
I tuoi compilatori non ti insegnano niente sui sistemi fail safe...
I tuoi compilatori non ti insegnano niente riguardo alle pratiche migliori per sviluppare un software...
...
Ok potrei continuare all'infinito elencando tutto quello a cui non serve a niente essere delle Black Belt su parser e compilatori...

Parse e compilatori sono proprio solo una parte infinitesima di questo oceano che è l'informatica...

Tomminno,

ma t'è sfuggito il fatto che il mio post è ironico? O pensi sul serio che io, seriamente, mi metterei a fare una cosa del genere? O ti pare che io possa anche solo lontanamente pensarlo?

Quello che penso è che l'argomento compilatori(e la teoria che ci sta dietro, linguaggi formali, automi a stati finiti, macchine di Turing) dovrebbe far parte del bagaglio culturale di un informatico. Per i motivi già più volte spiegati.

EDIT: consiglio caldamente di leggere Voltaire e in particolare il Candido. Per l'ironia, dico.

Vincenzo1968
22-01-2013, 14:10
So what? In base alla tua logica averlo definito tale implica necessariamente che lo si deve studiare tutto? E per fare cosa? Puro nozionismo.

Nient'affatto. Non penso che occorra studiare tutti gli algoritmi presenti nei libri da me citati. Ma molti si, e con molta attenzione anche.
Non puoi venire a dire "cosa c'entra Knuth" se poi lo consideri(il libro, dico) la bibbia dell'Informatica.

cdimauro
22-01-2013, 14:26
So what? In base alla tua logica averlo definito tale implica necessariamente che lo si deve studiare tutto? E per fare cosa? Puro nozionismo.

Nient'affatto. Non penso che occorra studiare tutti gli algoritmi presenti nei libri da me citati. Ma molti si, e con molta attenzione anche.
Da qui (http://www.hwupgrade.it/forum/showpost.php?p=38900054&postcount=212):

Io: Quindi PER TE si dovrebbero studiare TUTTI gli algoritmi presenti in quei libri. Ho capito bene?
Tu: Si.
Non puoi venire a dire "cosa c'entra Knuth" se poi lo consideri(il libro, dico) la bibbia dell'Informatica.
Non ho mai scritto quella frase. Ho scritto altro. Altro a cui hai accuratamente preferito non rispondere... :read:

misterx
22-01-2013, 14:46
;38900800']Non ho detto che non ci siamo fatti il mazzo o che basta leggiucchiare qualche libro. Ho detto che quello che noi abbiamo fatto è stato un percorso di apprendimento, ma il fatto di essere iscritti formalmente ad una università non lo ha reso più o meno semplice, e pertanto se qualcuno si prendesse la briga, per passione, di acquistarsi dei manuali, di studiarli approfonditamente (e non solo leggerli) e perchè no anche di andare a qualche lezione pur non frequentando (dopo essermi laureato in ingegneria meccanica io stesso ho seguito le lezioni di Programmazione e Programmazione ad Oggetti presso l'università di Padova) non vedo per qualche motivo non dovrebbe potenzialmente acquisire una conoscenza pari a quella di uno studente di informatica in quel campo.

ti dirò che sul tema che ci sia sempre da imparare anche dai più umili mi trovi completamente d'accordo, ma IMHO, qualche corso di programmazione non è sufficiente per eguagliare le conoscenze di un informatico anche in un solo campo questo in quanto, avendo lo studente informatico dalla sua anche altre conoscenze, ha una visione molto più ampia di chi fa solo un corso di programmazione, altrimenti avrebbero eliminato la laurea in informatica.

Quindi: IMHO non serve una laurea in informatica per saper programmare, ma se si vuole vedere oltre e credo tu sappia cosa intendo, si.


Io sono del parere: ad ognuno il suo.


Solo a titolo informativo, non sei obbligato a rispondermi, ti chiedo qual'è il genere di programmi che riesci a sviluppare dopo aver acquisito quelle nuove nozioni all'università da Padova.

Vincenzo1968
22-01-2013, 14:46
Consigliato Voltaire anche per Cesare ;)

I tuoi compilatori non ti insegnano niente riguardo alle pratiche migliori per sviluppare un software...

Tommino, questa è, imho, una cavolata. ;)

cdimauro
22-01-2013, 15:02
E perché lo sarebbe? Sono due cose completamente diverse, e ha ragione. Dimostrami perché dalla prima deriverebbe la seconda, allora. :read:

Comunque Voltaire l'hai tirato fuori soltanto di recente, a seguito dei post di tomminno e il mio. Prima non eri affatto ironico. Anzi sei sempre stato molto serio, e ti sei pure arrabbiato.

Diciamo che Voltaire è un modo diverso di uscirsene da una discussione ormai diventata insostenibile, senza rispondere nel merito a quanto è stato contestato.

Ccà nisciuno è fesso, Vincenzo.

Vincenzo1968
22-01-2013, 15:11
E perché lo sarebbe? Sono due cose completamente diverse, e ha ragione. Dimostrami perché dalla prima deriverebbe la seconda, allora. :read:

Comunque Voltaire l'hai tirato fuori soltanto di recente, a seguito dei post di tomminno e il mio. Prima non eri affatto ironico. Anzi sei sempre stato molto serio, e ti sei pure arrabbiato.

Diciamo che Voltaire è un modo diverso di uscirsene da una discussione ormai diventata insostenibile, senza rispondere nel merito a quanto è stato contestato.

Ccà nisciuno è fesso, Vincenzo.

Lo ero eccome. E si capisce benissimo. Non ti pareva vero di poterti aggrappare a una così stupida risposta(stupida, dico, se non fosse ironica) per poter "argomentare".

Ma t'è andata male. Qui il punto è che non fai altro che parlare di problem solving, algoritmi... E quando uno ti cita libri che tu stesso definisci la bibbia dell'Informatica te ne esci con "Ma che c'entra"?

Ma finiscila!

Comunque: Adieu(forse) e cavoli vostri(cit.).

:D

P.S. L'autore della citazione faceva sempre così: adieu ma si presentava a rispondere neanche un minuto dopo.

La prossima volta che intervengo qui continua ad "argomentare" con "ma non avevi detto adieu?".

cdimauro
22-01-2013, 15:17
Continui a evitare di rispondere. Fai affermazioni, ti vengono contestate, ma poi ti defili per non entrare nel merito. C.V.D.

Vincenzo1968
22-01-2013, 15:26
qui a fare affermazioni se solo tu: C fa schifo, Java è meglio se non lo conosci, farina del sacco di Stallman, problem solving, algoritmi...

Come detto in precedenza io antepongo sempre le due paroline "secondo me" o, la variante "imho" o "ritengo", davanti alle mie "affermazioni". Cosa che tu non fai mai.

Parole, parole, parole...

Quando si tratta di buttare giù due righe di codice... Ah non ho tempo...

Adieu e cavoli vostri(cit.) :D

cdimauro
22-01-2013, 15:41
Un'altra leggenda metropolitana: i programmatori devono sempre scrivere codice.

Per confutare questo:

"I tuoi compilatori non ti insegnano niente riguardo alle pratiche migliori per sviluppare un software..."

non serve scrivere nemmeno una riga di codice. E lo può fare un programmatore.

Beh, forse chi non è abituato a pensare sente l'impellente bisogno di scrivere accozzaglie di simboli e caratteri.

L'informatica è stata fondata da gente che non aveva una tastiera davanti e nemmeno una scheda perforata, e chi ha avuto la fortuna di studiare un po' di teoria della computabilità, questo lo sa molto bene...

[Kendall]
22-01-2013, 15:45
Solo a titolo informativo, non sei obbligato a rispondermi, ti chiedo qual'è il genere di programmi che riesci a sviluppare dopo aver acquisito quelle nuove nozioni all'università da Padova.

Eh, bella domanda. Sinceramente non ho avuto modo di vedere fin dove riesco a spingermi con le conoscenze che ho. Di sicuro l'estrazione ingegneristica mi aiuterebbe nel caso ci fossero da estendere certe conoscenze in ambito matematico o fisico, però a livello assoluto non saprei appunto dirti quanto in là potrei spingermi (anche perchè da questo punto di vista avrei bisogno di un riferimento relativo rispetto al quale confrontarmi).
Alla fine della laurea in ingegneria meccanica però mi era mezzo saltato il pallino di continuare la masochistica pratica dell'essere studente lavoratore, ed iscrivermi a scienze informatiche (o ingegneria informatica), ma ho preferito dedicarmi maggiormente al lavoro, anche se sono abbastanza sicuro che prima o poi riprenderò in mano questo mio proposito.

misterx
22-01-2013, 15:54
;38901920']Eh, bella domanda. Sinceramente non ho avuto modo di vedere fin dove riesco a spingermi con le conoscenze che ho. Di sicuro l'estrazione ingegneristica mi aiuterebbe nel caso ci fossero da estendere certe conoscenze in ambito matematico o fisico, però a livello assoluto non saprei appunto dirti quanto in là potrei spingermi (anche perchè da questo punto di vista avrei bisogno di un riferimento relativo rispetto al quale confrontarmi).
Alla fine della laurea in ingegneria meccanica però mi era mezzo saltato il pallino di continuare la masochistica pratica dell'essere studente lavoratore, ed iscrivermi a scienze informatiche (o ingegneria informatica), ma ho preferito dedicarmi maggiormente al lavoro, anche se sono abbastanza sicuro che prima o poi riprenderò in mano questo mio proposito.

ecco, applicazioni nel campo matematico o fisico concordo, nel caso di interesse di un sistema operativo dovresti continuare gli studi. Difatti nel caso di sviluppo ad esempio di un CAD 3D, progetto non banale anzi, c'è la partecipazione di specialisti in diverse discipline: meccaniche, matematiche, informatiche, fisiche.

tomminno
22-01-2013, 17:33
Consigliato Voltaire anche per Cesare ;)

I tuoi compilatori non ti insegnano niente riguardo alle pratiche migliori per sviluppare un software...

Tommino, questa è, imho, una cavolata. ;)

Perchè quando te la studi da solo ti fai gli use case prima? :D
Fai riunioni per decidere la timeline con i committenti? :D
Produci deliverable ogni 15 giorni? :D
Lavori in team? :D :D :D

Vincenzo1968
22-01-2013, 17:46
Perchè quando te la studi da solo ti fai gli use case prima? :D
Fai riunioni per decidere la timeline con i committenti? :D
Produci deliverable ogni 15 giorni? :D
Lavori in team? :D :D :D

No, per questo:

Dragon Book:

Questo testo tratta il problema della progettazione e della implementazione dei compilatori. Vedremo che poche, essenziali idee di base sono sufficienti per la costruzione di traduttori per una grande varietà di linguaggi e di macchine. Tali idee, inoltre, sono applicabili in talmente tanti altri campi che il loro utilizzo è molto frequente nella carriera di un informatico.
Lo studio delle tecniche di progettazione dei compilatori tocca svariati temi: linguaggi di programmazione, architettura dei calcolatori, teoria dei linguaggi, algoritmica e ingegneria del software.

cdimauro
22-01-2013, 17:58
1) Le metodologie di sviluppo del software sono cose completamente diverse dagli ambiti / settori / tipologie di software descritti.
Dalla descrizione di tomminno era molto chiaro.
Inoltre le buone pratiche si applicano a qualunque codice.

2) "Tanti altri campi" non significa "tutti i campi".

3) Viceversa, "linguaggi di programmazione, architettura dei calcolatori, teoria dei linguaggi, algoritmica e ingegneria del software" sono utili alla progettazione dei compilatori. L'implicazione non vale in un solo senso.
Infatti si studiano per i fatti loro, a prescindere che poi si debbano sviluppare parser e/o compilatori. A parte "teoria dei linguaggi" (che immagino che si riconduca a "linguaggi formali", nel mio corso di laurea), sono tutti corsi che ho frequentato e sostenuto.

In buona sostanza, l'affermazione di tomminno continua a rimanere in piedi, e tu non hai dimostrato proprio nulla citando quel testo.

Groove89
22-01-2013, 20:37
Mamma mia wow che discorsi articolati :)
Non ho letto dall'inizio e non so perché si è finito a parlare dell'importanza
dei compilatori e altre cose :p
Secondo me in informatica tutti i concetti teorici e pratici sono importanti
alla stessa maniera. Puoi conoscere tutti gli algoritmi che vuoi ma devi saperli
applicare nella maniera giusta. La pratica è la chiave, ci vuole tanta pratica.
Io sono uno studente di ingegneria informatica e con tutta umiltà ammetto
di non essere un asso della programmazione. E' anche vero che la pratica
che si fa all'università è poca, molto poca, quindi bisogna arrangiarsi e cercare
di creare progetti personali sempre più complicati per farsi un minimo le ossa.
I miei limiti sono tutti rappresentati dalla discussione che ho aperto a cui
nessuno si è degnato di rispondere :D (Cavoli e pure sembrate tutti parecchio
più esperti di me).

ingframin
22-01-2013, 23:09
Voto questo post come flame dell'anno! :D

cdimauro
23-01-2013, 05:56
Guarda che l'anno è appena iniziato... :asd:
Spero, almeno, che le cose scritte siano state interessanti. :)

@Groove89: metti [JAVA] all'inizio del titolo del thread (anche se si capisce che riguarda Java), così chi è ferrato con questo linguaggio potrà darti una mano. Gli utenti non sono interessati a tutti i thread e/o a tutti i linguaggi del forum. ;)

Per il resto, l'università deve insegnarti il metodo e le conoscenze più importanti. La pratica è ridotta ai minimi termini, all'inizio, per introdurre gli studenti a questo mondo (non si può supporre che tutti abbiano smanettato col computer). Poi a casa o dopo la laurea ti assicuro che ne avrai di tempo per esercitarti, ma almeno, se hai seguito con profitto, avrai ottenuto la formazione adeguata per affrontare le varie problematiche, anche completamente nuove, che ti verranno sottoposte.

pequeno
18-04-2013, 13:56
Vado "un pò" contro corrente...anche se hai l'età dalla tua parte, io punterei più su certificazioni gratificanti e il mantenimento dei due lavori.

certo dipende molto anche dalle tue prospettive future...se hai intenzione di fare carriera nella progettazione, allora la laurea è necessaria

Cosa intendi per "certificazioni gratificanti"?
Qualcosa del tipo Oracle/Microsoft o corsi specifici?

franksisca
18-04-2013, 14:39
Cosa intendi per "certificazioni gratificanti"?
Qualcosa del tipo Oracle/Microsoft o corsi specifici?

Anche java, sap e *unix, oppure diventare un "Esperto di ++++" dove ++++ può essere archicad, autocad, photoshop, maya, insomma qualsiasi programma "di nicchia" che potrebbe interessare, ma questo è molto molto molto soggettiva (e forse funziona pure poco in italia)

pequeno
19-04-2013, 11:34
Anche java, sap e *unix, oppure diventare un "Esperto di ++++" dove ++++ può essere archicad, autocad, photoshop, maya, insomma qualsiasi programma "di nicchia" che potrebbe interessare, ma questo è molto molto molto soggettiva (e forse funziona pure poco in italia)

Ah ecco.. guarda secondo me non funziona tantissimo qui in Italia, all'estero non so, poichè non ho esperienze al riguardo. Personalmente bazzico nel settore informatico, lavorativamente da una decina d'anni. Sono certificato Microsoft e conosco piuttosto bene il mondo Linux. Per quanto concerne i linguaggi sono passato da C, Visual Basic, Asp, Php, Java, C#, Python: l'idea che mi sono fatto è che, in ogni caso, a meno che non riesci a lavorare per qualche grossa azienda, dove esiste un certo tipo di strutturazione, spesso viene richiesta una conoscenza "multidisciplinare". Lo vedo soprattutto in ambito web: difficile fare ad es. soltanto lo sviluppatore back-end, o solo front-end. Difficile trovare lavoro per una posizione di guru del JavaScript, giusto per fare un esempio. Nel settore mobile credo sia più o meno la stessa cosa: cercano sviluppatori Java esperti Android, ma che al tempo stesso conoscano bene anche Objective-C per iOS.
Naturalmente è una considerazione frutto della mia esperienza personale, magari mi sbaglio...

franksisca
19-04-2013, 12:38
Ah ecco.. guarda secondo me non funziona tantissimo qui in Italia, all'estero non so, poichè non ho esperienze al riguardo. Personalmente bazzico nel settore informatico, lavorativamente da una decina d'anni. Sono certificato Microsoft e conosco piuttosto bene il mondo Linux. Per quanto concerne i linguaggi sono passato da C, Visual Basic, Asp, Php, Java, C#, Python: l'idea che mi sono fatto è che, in ogni caso, a meno che non riesci a lavorare per qualche grossa azienda, dove esiste un certo tipo di strutturazione, spesso viene richiesta una conoscenza "multidisciplinare". Lo vedo soprattutto in ambito web: difficile fare ad es. soltanto lo sviluppatore back-end, o solo front-end. Difficile trovare lavoro per una posizione di guru del JavaScript, giusto per fare un esempio. Nel settore mobile credo sia più o meno la stessa cosa: cercano sviluppatori Java esperti Android, ma che al tempo stesso conoscano bene anche Objective-C per iOS.
Naturalmente è una considerazione frutto della mia esperienza personale, magari mi sbaglio...

sicuramente la conoscenza "orizzontale" è meglio di quella vertical (meglio no...), ma avere un punto di partenza non fà male.

il mio consiglio era quello di prendere una qualche certificazione parallelamente al lavoro attuale.

pequeno
19-04-2013, 13:26
ma non devi certo dar retta a quello che scrivono gli altri :D
Ognuno va per la sua strada.
Ma lasciale perdere poi le persone come Vincenzo, ero anch'io un curiosone così, poi mi sono iscritto in quanto perdevo solo del tempo prezioso che non mi avrebbe riconosciuto nessuno ;)
Nel mondo del lavoro non ho mai visto un diplomato che viene visto come se fosse un laureato, tranquillo.

Vado OT.. Per curiosità a che età ti sei laureato, cosa facevi prima e di cosa ti occupi da quando ti sei laureato?
Grazie per l'eventuale risposta. :)

pequeno
20-04-2013, 09:13
sicuramente la conoscenza "orizzontale" è meglio di quella vertical (meglio no...), ma avere un punto di partenza non fà male.

il mio consiglio era quello di prendere una qualche certificazione parallelamente al lavoro attuale.

Ok, sono d'accordo. Se non altro perchè una certificazione ti "costringe" (lo studio dovrebbe essere sempre un piacere, non una costrizione, imho) ad approfondire degli aspetti che, lavorativamente o personalmente, di solito non si riesce a toccare.
Tra l'altro qui si parla tanto di diploma, laurea, master e c@.. vari come se fossero necessariamente un must have per "certificare" le conoscenze e ancor peggio le "competenze" di una persona.
Considerando che spesso gli esami sono fatti ad minchiam, che molto spesso si copia, che a volte i programmi sono ridicoli o che tanti studenti studiano, studiano, studiano e basta, senza capire veramente ciò che fanno (ho conosciuto gente laureata con 110 e lode perchè ripeteva gli esami 3-4 volte fino a prendere 30, studiando 10-11 ore al giorno [questo non si significa competenza, ma solo perseveranza]) tutte queste discussioni mi sembrano assurde e frutto di una società che impone certi canoni, senza badare alla sostanza.
E' vero: in teoria (ma solo in teoria) tra un diplomato ed un laureato, dovrebbe essere più preparato il secondo, ma a patto che:
1) il primo si assesti sul suo livello di conoscenze senza aspirare a migliorarsi e quindi a studiare in maniera costante
2) il secondo studi con criterio, per capire ciò che studia e non solo per superare l'esame
3) che il secondo applichi effettivamente ciò che studia, altrimenti la conoscenza maggiore è assolutamente fine a se stessa.
L'unico punto che imprescindibilmente vedo a favore del laureato è la questione del "metodo" che da autodidatta è difficile acquisire.

Poi basta volontà e cervello e si può arrivare dappertutto. Certo alcuni sono casi rari, certi rarissimi.. ma prendete ad esempio un certo John Carmack...
inoltre la maggior preparazione dovrebbe essere conseguita poichè da autodidatta è difficile, ma assolutamente possibile, stabilirsi un percorso di studi ben strutturato e poi perchè spesso è difficile approfondire determinati argomenti, in quanto non si ha il tempo o perchè, per motivi di lavoro devi arrivare subito ad una soluzione, che magari puoi ottenere studiando solo una parte di un certo argomento.
In ogni caso generalizzare è sempre errato, ci sono casi e casi, menti e menti, univerisità e università, professori e professori... di questi ultimi, purtroppo,
sono davvero pochi quelli che "forgiano" menti e ti trasmettono passione per l'apprendimento.
Beh cmq l'importante è studiare sempre, con metodo, che si abbia un dottorato o un diploma...