Newsgroup: it.comp.retrocomputing
Titolo: The infamous "Hello world" example

Qualche settimana lessi un interessante articolo di uno che diceva che 
riuscire ad arrivare a fare il classico "hello world" di per sé era già 
un sostanziale risultato nel processo di apprendimento di un linguaggio 
di programmazione o di un framework.
A sostegno della sua tesi ricordava le bestemmie che a suo tempo aveva 
tirato per riuscire a fare il fatidico "hello world" su Windows nel 1998:
http://www.johndcook.com/blog/2014/11/12/hello-world-is-the-hard-part
 
 
A distanza di un mese gli risponde l'autore del libro raccontando la 
storia di quell'hello world, spiegando come aveva lo aveva limato 
all'essenziale per cercare di renderlo accessibile.
Dettaglia anche (e rende disponibile per il download) le varie revisioni 
del famigerato programma "introduttivo" per varie versioni di Windows:
http://www.charlespetzold.com/blog/2014/12/The-Infamous-Windows-Hello-World-Program.html
 
 
Una lettura da nerd programmatori ma piuttosto divertente.


oltre che rivelatoria sui veri lamer, ossia la micro$hit, da gate$ in giù.
 
tutto quell' ambaradan per una finestruola con scritto "hello, world" 
mostra come windoze va buttato dalla finestra senza complimenti.
 
saluti,
dott. Piergiorgio.
 

 dott. Piergiorgio.
 
Ero un nerd programmer sotto DOS.
Assembler, C, Pascal, Fortran, Basic, PL/I... e chi ne ha più ne metta.
Disassemblavo, sprot..., etc...
Quando arrivò Windows, mi fermai. 
Per scrivere un programmino di poche righe, veniva l'emicrania.
Ancora non c'erano le applicazioni console, e l'output in una misera
finestra grafica era un incubo.
Handles, contesti, dimensioni...

 finestra grafica era un incubo.
 
E difatti se ricordi i primi tempi, la programmazione sotto Windows 
prese davvero il via con Visual Basic prima e Delphi poi.
 
Delphi in seguito venne abbandonato, e sinceramente non ho mai capito 
perché. Non aveva i limiti di VB, era veloce, potente, era OO e molto 
più facile del C++. Forse è stato zavorrato dai guai della Borland... ma 
comunque è stato veramente un peccato.


Guarda che Delphi è ben vivo e vegeto ancora oggi!
Certo non lo usano in molti e dell'originale conserva poco
ma è un framework di tutto rispetto.
(
http://www.embarcadero.com
)
 
Sulla programmazione Windows "prima maniera" sono d'accordo
solo in parte con quanto scritto. Non è che programmare X-Window fosse
più facile... Quello che ricordo sono due cose:
1. la soddisfazione di capirci qualche cosa ;-)
2. lo stupore dei colleghi che lavoravano a caratteri sotto
DOS e VMS, quando feci una presentazione in azienda di come 
si programmava Windows con la coda dei messaggi e tutto il resto.
 
Con gli occhi di oggi era sicuramente primitivo come
metodo di programmazione ma è da li che sono partiti
tutti, Visual Basic compreso.
A me ha insegnato molto.
tn

 mostra come windoze va buttato dalla finestra senza complimenti.
 
Beh, insomma... non è per difendere Windows, ma scrivere per X, o anche per Macintosh non è che fosse più semplice...
 
m.


qui concordo, e difatti reputo che il principale problema di X è la 
mancanza di un linguaggio ad alto livello, però considerando che X è 
usato in ambiente Linux e *BSD forse non dovrebbe stupire questa 
situazione, a cui si aggiunge l' architettura client/server che non 
reputo ottimale per un pc desktop....
 
Saluti,
dott. Piergiorgio.
 
 
 

 Beh, insomma... non è per difendere Windows, ma scrivere per X, o anche per Macintosh non è che fosse più semplice...
 
Il problema (se mai ce ne fosse uno) e` nell'oggettiva complessita` di un sistema a finestre rispetto ad un sistema a console testuale. Chi confronta l'Hello World scritto sotto DOS con quello scritto sotto Windows, confronta mele e arance. Non si puo` pensare di programmare per un sistema complesso come Windows o X senza imbarcarsi necessariamente in un bel po' di dettagli tecnici. Quel codice per visualizzare un Hello World sotto Windows e` del tutto sensato. Nel tempo, e grazie anche all'OO, sono nati framework (vedi VCL per Delphi o altri sotto altri sistemi) che incapsulavano i dettagli tecnici esponendo interfacce "pulite". Chi dice che Windows o X vadano buttati perche` per programmarli bisogna scrivere codice complesso, farebbe bene a darsi da fare a inventare un sistema a finestre che si programmi con sole due righe di codice :)

 Beh, insomma... non è per difendere Windows, ma scrivere per X, o anche per Macintosh non è che fosse più semplice...
 
Qualche mese ho acquistato per due soldini un paio di libri sul ThinkC 
per MacOS, sperando in futuro di avere tempo da dedicarci.
 
Qualcuno ha esperienza in merito alla programmazione GUI su MacOS?

 ma č un framework di tutto rispetto.
 
Magari ho esagerato a dichiararlo deceduto, perň IMHO meritava molta, ma 
molta piů diffusione di quella che ha avuto: le MFC erano anni luce 
indietro, per dire. Eppure sono state molto piů usate. Un'occasione 
persa, una delle tante.
 
 

 persa, una delle tante.
 
Vabbe`, e` praticamente deceduto. Chi lo usa ancora, e` sicuramente in fase di transizione verso altre piattaforme. Investirci oggi significa spararsi nei piedi. Prima di passare a Java e altri linguaggi, io ho usato Delphi per una quindicina d'anni e l'ho sempre ritenuto il miglior ambiente di sviluppo per Windows (parlo di applicazioni native). 
Il problema e` che il linguaggio e` incastonato nei limiti del Pascal ad oggetti, un po' tedioso da usare, e l'IDE e` abbastanza buggato, a volte ha comportamenti oscuri nel gestire i package e, come "catalyst" durante lo sviluppo, non e` di certo all'altezza di altri IDE per altri linguaggi (vedi IntelliJ IDEA per Java). Poi, la storia di Delphi e` troppo pasticciata. Dopo il vacillamento di Borland ci sono stati troppi passaggi di mano tra aziende diverse, versioni che nascevano, scomparivano, si trasformavano (Delphi .NET, poi Turbo Delphi, poi Delphi 2007, poi le versioni XE*). Non ho mai capito perche` si siano trascinati dietro per anni e anni dinosauri pieni di problemi come il BDE, e perche` non abbiano mai creato una buona documentazione che spiegasse come usare certi componenti (specie nel campo dei database) in maniera efficiente. Il prezzo dell'IDE, poi, e` talmente alto e distante da quello di sistemi di sviluppo analoghi, che scoraggerebbe anche il piu` grande aficionado. Spesso i driver per i database piu` comuni erano a pagamento anche quelli, molto spesso buggati. Sono certo che a relegare Delphi ancora di piu` nella usa nicchia sia il fatto che ormai la richiesta di rich client application sta diminuendo, con un orientamento sempre crescente verso il web. A proposito di questo, Delphi offriva il buggatissimo e closed-source IntraWeb. Sigh.


Io ho fatto un po' di cose ma parliamo di anni e anni fa. comunque dovresti procurarti, nell'ordine:
 
- la serie di volumi "Inside Macintosh": si scaricano in PDF dal sito di Apple (ma devi cercarli bene, purtroppo l'elencazione e l'indicizzazione di questi materiali non è molto curata). Comincia da Macintosh Toolbox Essentials (qui: 
https://developer.apple.com/legacy/library/documentation/mac/pdf/MacintoshToolboxEssentials.pdf
) poi puoi proseguire con More Macintosh Toolbox e tutti gli altri (File, text, ecc.)
- i Developer CD, che contengono moltissimo materiale, esempi, ecc. Occhio che parecchi hanno nomi particolari (es. "The Hexorcist")
- se riesci, lascia stare il ThinkC e procurati il CodeWarrior, molto più veloce e moderno
 
m.

 reputo ottimale per un pc desktop....
 
Uh? Pur non programmando ne' su GUI windows ne' per X, quanto scrivi e'
- eufemisticamente - MOLTO discutibile. 1) Che c'entra
il linguaggio utilizzato, con X? (a meno che non parlassi di IDE, che
pure ci sono...) 2) A parte le librerie basilari che accompagnano X, che
perlomeno ti consentono di programmare senza dover gestire socket e
protocollo a basso livello di X (che sarebbe, per parziale analogia,
come pretendere di programmare in C usando direttamente le system calls
del sistema operativo invece della libreria standard del C... roba da
pazzi furiosi).
3) Esistono diversi framework (su cui sono basati anche interi Desktop
Environment) che ti consentono di programmare ancora piu' facilmente
senza la gia' piu' che bastante bastante complessita' dell'uso diretto
delle librerie base di X.
4) Il fatto che X sia lo standard de fatto di Unix, derivati e cloni, le
cui prestazioni c'entrano poco con i porting sui vari sistemi operativi
(anche addirittura Digital VMS, che non e' uno unix...).
5) Che l'architettura client server di X sia poco performante, e'
smentito da una antica prova di confronto delle prestazioni grafiche
di NT4 (con grafica in kernel mode) e X11 (grafica in user mode):
X11 lavorava con prestazioni all'80% rispetto a NT, nonostante fosse
svantaggiato dai maggiori cambi di contesto kernel-mode/user-mode
rispetto a NT. Ah, per inciso: la grafica sui sistemi NT e' tornata
in user-mode da Vista/2008r1 in su'... ;-)
 
bye G.L.
-- 
Da i.d.c.tutela:
P.S. Quando ci sarà lo switch-off, avrò problemi anche col
monitor del PC? Ho visto che è collegato in modalità analogica.