Newsgroup: it.comp.lang.visual-basic
Titolo: Linguaggi di programmazione e complessità delle applicazioni [OT]

Possiedo una conoscenza mediocre del linguaggio vb6 ottenuta in alcuni
anni di utilizzo amatoriale (per intenderci riesco ad es. a scrivere
piccole applicazioni monoutente che creano e gestiscono DB di access
tramite DAO e ADO, riesco ad usare le "API" di windows, e cosette del
genere, ma nulla di estremamente complesso); viceversa padroneggio
solo le nozioni base della programmazione generica, ovvero so cosa c'è
dietro al concetto di variabile, di routine, di modulo, ma ad es. non
so molto di cosa c'è dietro windows e di come funziona ad es. la
tecnologia che permette di "creare" una finestra, o "istanziare" una
textbox ed usarla.
Mentre stavo valutando il passaggio da VB 6 a VB 2005 express mi sono
soffermato a pensare una cosa.
Dal basso della mia ignoranza mi pare di intuire che ormai siamo
arrivati al punto che per visualizzare una semplice scritta tipo
"Hello world" su una finestrella bisogna che il processore esegua
migliaia o più istruzioni.
Oggetti, classi, tecnologie che a loro volta si basano su altre
tecnologie, ecc. Tutta questa ipercomplessità va bene? Di sicuro rende
facile e veloce la tecnica di programmazione, ma a livello di
rendimento è una buona via di mezzo? Non è che fra alcuni anni una
semplice applicazione tipo notepad sarà un eseguibile da 50 MB e pure
lento sui processori da 10GHz (adesso esagero nell'immaginare il
futuro, ma forse non troppo)?
Non esiste una alternativa valida a tutta questa nidificazione di
codice in oggetti che usano altri oggetti e così via all'infinito?
Protocolli stratificati, e via discorrendo.
In VB una sola riga di codice è capace di fare una immensità di
lavoro; ma magari tra tutto quello che ha fatto tale riga, analizzando
il codice di basso livello, a me ne serviva solo un decimo a parità di
risultato; avrei magari potuto eliminare istruzioni relative a
funzioni che richiamano altre funzioni, cicli di gestione di errori
eseguiti più volte a vari livelli, variabili e risorse di vario genere
create inutilmente per gestire tutti i casi particolari possibili che
nel mio caso magari non servono, ecc.
Insomma, il mio modestissimo parere è che il concetto di modularità
del codice che sta alla base della programmazione ad oggetti è una
gran cosa, ma solo se non ci perde in troppi livelli di
stratificazione. Si dovrebbe decidere che dopo un numero prefissato di
nidificazione del codice in elementi modulari chiamati oggetti, gli
oggetti di livello superiore vengano scritti ripartenso da zero usando
istruzioni di basso livello; riscrivendo direttamente il codice
piuttosto che utilizzando altri oggetti prefatti. La mia è una visone
da totale ignorante o è un argomento valido? Esiste una materia che
discute di queste cose?
Ed infine, non esiste un linguaggio versatile rivolto all'ambiente
windows che permetta di scrivere codice molto diretto ma
contemporaneamente dia la possibilità di utilizzare strumenti avanzati
in modo selettivo solo quando se ne vuole far uso?

 in modo selettivo solo quando se ne vuole far uso?
#include <GUIConstants.au3>
#include <String.au3>
ecc
C:\Programmi\Autoit3\Include
--
Fosco