Re: impara a programmare in 10 anni
Von: Cammello (varanide@gm41£.com) [Profil]
Datum: 09.07.2009 15:50
Message-ID: <h34sk1$ko7$1@news.albasani.net>
Newsgroup: it.lavoro.informatica
Datum: 09.07.2009 15:50
Message-ID: <h34sk1$ko7$1@news.albasani.net>
Newsgroup: it.lavoro.informatica
Wolferin wrote: > On 8 Lug, 20:08, gh <g...@nospam.gmail.com> wrote: >> On Wed, 8 Jul 2009 10:09:41 -0700 (PDT), Wolferin >> >> > [CUT] >>>> Bene. Ma questo cosa dovrebbe dimostrare? :) >>> Che se sei un coder con le palle, la particolare sintassi di un >>> linguaggio è solo un dettaglio. >> Ah. Quindi basta o non basta (come hai scritto prima) conoscere la >> sintassi del linguaggio per mettere mano al codice di un proggetto >> avviato? > Scusami se mi sono spiegato male. Per come la vedo io, per me ha > funzionato così, se anche un linguaggio non lo conosci, ne impari la > sintassi parte dai manuali e parte dal sorgente su cui sto lavorando. > Nell'esempio Perl di cui sopra sono stato molto aiutato dal fatto di > conoscere le utility sed e awk, per altri linguaggi magari aprire il > manuale che la spiega potrebbe essere necessario, non sempre lo è. > Ma tutto questo ripeto sino alla noia sono dettagli che è il minimo > che ci si aspetta da chi codifica... >> Deciditi perchè cominci a diventare comico nell'esposizione. :) > Almeno ti diverti: un risultato l'ho raggiunto! :-) >> >> >>>>> Morale: un vero informatico quando deve lavorare con dei sorgenti si >>>>> procura il manuale della sintassi del linguaggio. Se gli piace lo > Come detto sopra: RTFM... > [CUT] >> Ma stessi un poco poco sbruffoneggiando invece di rispondermi? > Me ne scuso ma se tu mi dici (quoto) >>>> Scusa ma questa è una visione talmente restrittiva e ottimistica che >>>> mi fa pensare (non molto a dire il vero, visto che lo ammetti tu >>>> stesso poco sopra) tu sia lontano dallo sviluppare/manutenere codice >>>> che non sia davvero banale (e di sicuro non scritto in linguaggi >>>> complessi come il C++, di cui si parlava). > > ti devo quantomeno spiegare il mio background che non è pochino.. poi > se secondo te studiare con passione (= ore di laboratorio, quando > avevamo solo ultrix e terminali vt100) un piano di studi che si chiama > Area Linguaggi non serve a nulla, beh, contento tu. >> Se uno mi parla del fatto che per mettere mano ad un proggetto in >> produzione gli basta sfogliare il manuale della *sintassi* del >> linguaggio, scusa ma penso di star parlando con uno che fa porcate col >> codice e nulla più. Come potrebbe essere altrimenti? Forse che il >> linguaggio *lo sa già* e il manuale gli serve solo per cercare quello >> che non ricorda? > So solo che non conoscendo una fava di Pro*C Oracle ho fatto codice > che FUNZIONAVA alla grande (con tanto di unit test su dati di billing > REALI), e non andava in core dump come il programma originale... se ti > pare poco. > > Limitare alla conoscenza di un determinato linguaggio (sintassi) la > propria professionalità, beh vedi, lo posso capire per l'assembler, ma > per un linguaggio di alto livello una volta che ti hanno insegnato i > rudimenti di programmazione OO e i paradigmi di programmazione è un > ragionamento povero e sterile. > > Qui veniamo al punto dove mi sono sbagliato a spiegare. > Certo non è alla portata di tutti devi avere i fondamentali, su questo > posso convenire. Da zero non si arriva da nessuna parte e se dal mio > ragionamento si capisce che uno arriva a programmare tutti i linguaggi > da zero mi scuso IO per aver comunicato questo. > > Detto questo, argomento meglio: > se prendi uno che programma, diciamo da quattro o cinque anni (anche > meno se è bravo), ha una buona base teorica di algortmi e strutture > dati, nel ristretto campo dei linguaggi funzionali/Object Oriented, > manuale di sintassi alla mano, riesce a correggere un programma pure > se la sintassi non la conosce. Questo limitatamente al correggere. > > Se lo deve riscrivere daccapo, e magari il lavoro è più serio, la > impara manuali ed esempi alla mano, ma non per questo il programma > sarà scritto con i piedi. > Il tuo ragionamento lo concepisco se dici: questo parte da zero, non > ha mai codificato... e qui siamo d'accordo. Ma se già conosce per dire > il C e due o tre linguaggi di scripting (oltre alle necessarie basi di > programmazione OO se no scrive programmi in C col C++, oppure > programmi in BASIC col C usando le goto con le label) ce la fa, > manuale alla mano. > [CUT] Certamente avere una solida preparazione di base (su algortitmi, strutture di dati, linguaggi formali, paradigmi di programmazione ecc.), e conoscere già parecchi linguaggi reali, non può che facilitare l'apprendimento di un nuovo linguaggio. Tuttavia imparare un linguaggio di programmazione, non è semplicemente /dare una scorsa ai manuali per vedere la sintassi/. Bisogna entrarne nello spirito, apprenderne gli idiomi e le best practice, quantomeno. Non escludo che uno con una solida esperienza, sia in grado di correggere qualche bug qua e là su un'applicazione scritta in un linguaggio che non ha approfondito, ma è molto più difficile che possa effettuare interventi di refactoring più estesi (e men che mai sviluppare progetti ex-novo, specialmente se complessi). La cosa poi è particolarmente vera per un linguaggio altamente idiomatico come Perl, dove le più grosse porcherie le ho viste scrivere proprio da chi credeva che si usasse come il C (o, peggio ancora, da chi avesse solo esperienza di sed e awk).[ Auf dieses Posting antworten ]
