[Primipassi] Stuporeeeeeeeeeeeee.....

Sergio Ballestrero s.ballestrero@firenze.linux.it
Sab 11 Maggio 2002 18:34:02 CEST


On Fri, 2002-05-10 at 23:10, Lausher wrote:
> On 10 May 2002 21:24:48 +0200
> Sergio Ballestrero <s.ballestrero@firenze.linux.it> wrote:
> 
> > > 
> > > Alcuni molto più preparati di me consigliano di partire dall'html; anche se 
> > > non è un vero e proprio linguaggio di programmazione ti prepara alla scrittura e 
>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^		
> > HTML NON E' UN LINGUAGGIO DI PROGRAMMAZIONE. PUNTO. Non la voglio piu'
> > sentire questa cosa.....
> 
> Probabilmente la fretta non ti ha dato modo di leggere nel modo corretto la mia e-mail.

 No, mi sa che tu non hai letto la mia, di mail, e l'hai presa come un
attacco personale. Non ho mai detto che sia sbagliato imparare a
scrivere un po' di HTML. Puo' essere un buon consiglio, per un
principiante, e anche utile per un sysadm. Quello che e' sbagliato e'
alimentare la confusione fra HTML e programmazione.

> "Se ancora non sai programmare, scrivendo in HTML acquisirai delle abitudini 
> mentali che ti aiuteranno a imparare." ( "How To Became A Hacker", Eric S. Raymond.)

 Appunto. Non dice che che HTML ti insegna a programmare.
 Comunque, la mentalita' dello "hack" non ha molto a che fare con
l'essere un buon programmatore, ti porta a buttarti sulla tastiera prima
ancora di aver analizzato il problema; le (utilissime) conoscenze e
capacita' tecniche che si acquisiscono con del sano hacking vanno anche
tenute a freno...

> L'HTML (HyperText Markup Language) è il modo più semplice per mettersi davanti alla
> tastiera e tirare fuori qualcosa. 
> Non intendevo dire che è possibile sviluppare argoritmi complessi.
> Non esistono, come tu ben sai, controlli di flusso, variabili, array,
> etc...

No, non e' proprio possibile implementare alcun algoritmo, e' questo il
punto. L'HTML _descrive_ un documento, mischiando elementi di
formattazione e elementi di strutturazione del testo, ma non esegue
alcuna procedura. In tipografia si usavano linguaggi di marcatura del
testo sin dagli albori dell'era informatica, ma nessun compositore si
sarebbe sognato di considerarsi un programmatore.
 Il resto di quello che dici e' giusto, ma non c'entra nulla con la
programmazione.

> però puo essere, e continuo
> a sostenerlo, una buona base di partenza per avvicinarsi ad un editor, imparare a identare,
> ad utilizzare sintassi abbastanza rigide. Dopo un paio di settimane si può passare 
> tranquillamente a qualcosa di più interessante e stimolante.
> 
> Aggiungo inoltre che, vista la grande diffusione del web e degli applicativi 
> server-side (vedi php e perl in primis), ^markare^ in l'HTML è quasi indispensabile,
> 
> E per una persona che non ha mai programmato in vita sua, potrebbe essere una 
> *primissima* esperienza!!!

 Che pero', insisto, non ha niente a che fare con l'imparare a
programmare - che non consiste nell'usare un editor o a rispettare una
sintassi quale che sia (visto che gli editor sono diversi, le sintassi
pure, l'indentazione e' solo una comodita' [salvo che in Python]), ma ad
analizzare i problemi, scomporli in procedure semplici e trasformarle in
algoritmi, indipendentemente da qualsivoglia linguaggio di
programmazione. Insomma, disegnare diagrammi di flusso, anche se lo si
fa con carta e penna, e' molto piu' utile per imparare a programmare di
quanto non lo sia imparare l'HTML.
 Per questo il mio consiglio per chi vuole imparare a programmare e'
sempre, per prima cosa, di trovare un problema da risolvere e
analizzarlo, piuttosto che mettersi alla tastiera e cominciare a
trappolare.

 Che poi l'HTML sia utile di per se, e' un'altra storia, e sarei assai
sciocco a negarlo, visto che sviluppare applicazioni web e', ora come
ora, il mio lavoro!

Ciao,
  Sergio

PS quanto al Python, e' un bel linguaggio, ma forse per un sysadm come
il nostro Mauro Montinaro il Perl potrebbe essere piu' utile e piu'
pratico per cominciare.
PPS anche in un'applicazione web, elaborazione e presentazione sono fasi
concettualmente separate - e finalmente si vedono infrastrutture che
chiariscono questa cosa:
xml.apache.org/cocoon
jackarta.apache.org/velocity






Maggiori informazioni sulla lista primipassi