nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

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
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 ]

Antworten