Newsgroup: it.comp.lang.delphi
Titolo: Dubbi e riflessioni dell'anziano che è in me

Come da oggetto, ho iniziato a programmare il 6502 in assembly
quando c'erano i Duran Duran. Poi è venuto il DOS, il Turbo Pascal
con il Turbo Debugger per "sproteggere" i giochi. Eppoi Turbo Vision
eppoi Delphi ed adesso stiamo dove stiamo.
La programmazione l'ho imparata partendo da processori ad 8 bit
e quello è l'approccio che ho tuttora. So cosa c'è dietro un
tipo, un record, una chiamata ad una funzione, un ciclo, un
salto condizionale. Tutto questo non perché sono bravo, ma solo
perché sono del '69. Perché lavorando a basso livello sai cosa
siano la memoria ed i metodi di indirizzamento e non fai fatica
a capire le veriabili, i puntatori, le funzioni. Perché quando
nel Turbo Pascal assegnavi una variabile, il compilatore ti
generava il suo bravo codice e con il Debugger vedevi che
succedeva in memoria e quali istruzioni venivano generate.
Adesso ci sono le ottimizzazioni ed amenità varie per cui non
ti genera neanche il codice se con la variabile non ci fai
qualcosa che il compilatore considera utile.
L'ultima l'ho vista oggi: moltiplichi un intero * 129, lui
te lo implementa con uno shift ed una somma! Una cosa incredibile,
che neanche un esasperato programmatore assembly avrebbe fatto.
Ma che vuoi fare ? Mi vuoi umiliare ? :)
Cosa consigliereste ad un ragazzotto che volesse imparare a
programmare in modo decente adesso ? Smanetta con Delphi ?
Con un S.O. a 32 bit, in un ambiente ad eventi, con gli oggetti,
con un processore che si porta dietro un architettura che la
capisce solo un paleontologo ? Fatti una piastra con un microcontrollore,
32K di RAM e 32K di EPROM e fai lampeggiare 8 LED ?
Quale può essere un percorso formativo che ti porti ad essere
qualcosa di meglio di un "attacca TButton" ?
Che ne dite o anziani, voi che vi firmate Zilog_Z80 et similia ?
( Non prendo volutamente in considerazione scuola ed università
perché parto dal presupposto che sarebbe già tanto se le suddette
non creassero danni; pretendere una formazione sarebbe grottesco. )
--
Virgilio Lattanzi       HARPAX
Tel: 
+39 0733 816872
    via Fontanella, 38
Fax: +39 0733 819133    62012 Civitanova Marche MC
WWW: 
www.harpax.com
     ITALY

Che ne dite o anziani, voi che vi firmate Zilog_Z80 et similia ?
Non credo di essere un anziano, ma ho seguito sulla mia pelle tutta
l'evoluzione dei PC e, onestamente, varcata la soglia del 2000, mi
sarei aspettato molto di meglio (soprattutto per quanto riguarda il
software).
--
Andrea Laforgia - walkietalkie(at)
libero.it
#exclude <windows.h>

 programmare in modo decente adesso ? Smanetta con Delphi ?
secondo me non ci puo' essere una regola adattabile a tutti. Ci sara',
probabilmente, il ragazzetto che prova da subito e istintivamente un ottimo
livello di confidenza con oggetti, metodi e proprieta', e quello che avra'
necessita' di un training di base di writeln e readln per capire la logica
alla base di un processo automatico. Personalmente mi porto dietro
un'esperienza nei calcolatori cominciata dal 1978 e non riesco a concepire
un newbie che parta immediatamente con pulsanti, classi ed ereditarieta',
ignorando o mettendo in secondo piano l'aspetto algoritmico della materia.
Come ho gia' detto in un altro thread programmare e' creare, e' un fatto
artistico che congiunge tecnica e inventiva, assimilabile all'architettura,
dove l'opera finita e' l'insieme, organico, di una miriade di calcoli e
sottoprogetti, che si coniugano in una struttura che deve essere anche
esteticamente piacevole, pratica e funzionale (quello che nell'informatica
e' l'interfaccia utente).
Non tutti sono architetti (per fortuna) e non tutti sono programmatori, ne'
tutti possono esserlo. Il ragazzino in questione dovra' capire se la materia
gli interessa o meno, e fino a che punto. Non e' detto possa diventare un
architetto, magari sara' solo un muratore della struttura, o magari un
architetto mediocre, e' un fatto di vocazione la programmazione: o la si ha
o non la si ha. :)
Ciao, Sandro

 ha scritto nel messaggio
news:9fu7g9$95o$1...@fe1.cs.interbusiness.it...


Adesso ci sono le ottimizzazioni 
Si, č vero, pero' (e questa č la prima osservazione), pur avendo
computer 100, 1000 volte piu' veloci di quelli "antichi" tipo apple
II, 8088 ecc, i tempi non sono migliorati poi cosi' tanto.... (che sia
tutta colpa di Windows oppure anche noi programmatori non ci sforziamo
piu' cosi' tanto come una volta?)
La seconda osservazione che volevo fare riguarda il "programmatore".
Una volta esisteva IL programmatore, ovvero l'esperto di computer che
sapeva tutto di questo "mostro", lo programmava ed otteneva quello che
voleva. Sapeva esattamente come funzionava e cosa stava accadendo in
un preciso istante.
Ora non esiste piu' il "programmatore" esperto di computer, bensi' il
programmatore Delphi, C++, php, web designed, web manager, Lan expert
(esperto dell' 1% di quello di cui č composto un computer) ecc...
ecc...
In pratica la specializzazione sempre piu' spinta ci ha ridotto di
molto la conoscenza generale sul "mostro". Facciamo un esempio:
io faccio un bel programma client/server che funziona perfettamente.
Lo porto dal cliente e non funziona piu'. Il cliente mi dice: "Cosa
cavolo mi dai, un programma che non hai nemmeno provato?".
Io gli rispondo: "No, certo che ho provato, e funzionava. Deve esserci
qualche problema di configurazione. Ora guardo..."
e giu' otto ore di lavoro per capire se il problema era con la
configurazione di Windows sul client (di cui non ho colpa), la config.
di Win NT del server (di cui non ho colpa), la configurazione del
DBServer (di cui non ho colpa), la configurazione dei client del DB
(di cui non ho colpa), la configurazione di Crystal Reports (di cui
non ho colpa), una cazzo di dll sovrascritta da qualche giochino (di
cui non ho colpa) ecc...  ecc...
Poi scopro che i regional settings impostati per far funzionare
Cristal impongono al driver MsSql di eliminare il flag di utilizzo
delle impostazioni internazionali altrimenti le query preparate dal
client vengono erroneamente interpretate sul server. Blahhhh......
Scusate lo sfogo, ma ai bei tempi dell'Apple II tutto cio' non sarebbe
mai successo. 
Ciao, Rocco

succedeva in memoria e quali istruzioni venivano generate.
Ho iniziato quando i Police cantavano So Lonely (ho vinto qualche
cosa?)...
Guarda, spesso mi chiedo le tue stesse cose. Non ho mai pensato di
essere migliore dei giovani programmatori, pero' su una cosa sono
certo: la preparazione teorica che quelli della mia (nostra)
generazione hanno e' decisamente superiore. Vedo ragazzi oggi che
conoscendo tre comandi HTML si millantano programmatori. 
Il che non significa che i "bei tempi andati" fossero veramente belli:
ancor'oggi mi sogno l' exec 8 e non sono sogni belli. Mi ricordo
quando per far partire un programma lo dovevi interpretare e linkare a
mano e quando, con la calcolatrice dovevi calcolare la dimensione dei
record per vedere se stack e heap erano sufficienti.
Gli strumenti di oggi sono piu' semplici solo a un certo livello;
tutti sanno mettere un TButton in una form ma se poi la tua
preparazione e' bassa ti fermi li'.
Del resto ognuno e' figlio dei propri tempi: i ragazzi che iniziano
oggi, se sono bravi e veramente interessati, hanno degli indubbi
vantaggi: iniziano prima e con degli strumenti molto piu' potenti. 
Quando iniziai a programmare con gli oggetti ebbi almeno due mesi di
crisi perche' NON RIUSCIVO a capirli: troppi anni di programmazione
"lineare" con PASCAL e COBOL erano riusciti a spegnermi il cervello.
Massimo.
-- 
"Ciao Rex, che cavolo di situazione eh? Due dentro, due fuori, puo' succedere di tutto!"

software).
Io non sono un professionista programmatore, (sono un professionista
di altro genere comunque) ma credo che la scarsa evoluzione (io
addirittura parlerei di involuzione in un certo senso) č dovuta a due
fattori:
1) il M$onopolio.
2) il $$$$$$$$$ollaropolio.
Abbasso la cultura e W i $$$$$$$..... mi verrebbe da dire.
Che Bill sia con voi.
Ciao
Robin

Che ne dite o anziani, voi che vi firmate Zilog_Z80 et similia ?
[....]