Newsgroup: it.comp.programmare.win32
Titolo: [Win32 vs .NET] - Era "Che senso ha"

Io mi chiedo che senso ha spedire un messaggio al quale e' stato
associato un oggetto che non da alcuna informazione riguardo il
contenuto, riguardi l'argomento trattato.
Se l'oggetto fosse inutile, potremmo farne a meno ed il server
potrebbe associare un numero progressivo o un ID a ciascun messaggio,
ma non e' cosi' per cui usiamo saggiamente l'oggetto! ;-))
Personalmente sono entusiasta del nuovo .NET Framework e credo che
questo, assieme al nuovo Visual Studio.NET, possa cambiare in meglio
il nostro modo di lavorare (mi rivolgo ai programmatori).
Da quanto ho capito leggendo articoli qui e li', l'intero ambiente
.NET e' un qualcosa che potrebbe ricordare l'infrastruttura java,
ovvero si compone di un Run Time che crea un nuovo livello di
astrazione a cavallo del sistema operativo, nel quale l'IL
(intermediate language) viene compilato ed eseguito.
In java il discorso e' piu' o meno lo stesso, la Java Virtual Machine
e' quel substrato, o quell'ambiente all'interno del quale il P Code
compilato con il JIT viene eseguito.
C'e' chi dice che a questo punto Java non e' un linguaggio multi
piattaforma, e' una piattaforma!!
Mi chiedo se con .NET sia cosi', perche' a quel punto l'ambiente di
Run Time si poggia chiaramente sulle nostre care API Win32, ma che
legame c'e' tra il codice C#, 
VB.NET
 o VC++.NET generato e poi
successivamente compilato dal JIT ed eseguito in un "Managed
Environment" con garbage collector e compagnia bella...
Usando il disassembler del .NET Framework ho visto con quale estrema
facilita' sia possibile mettere il naso all'interno del codice
compilato in IL, mi chiedo se questo sia un bene perche' a noi
programmatori in genere piace poco l'idea che qualcun altro possa
curiosare nel nostro codice.
In oltre, le statistiche dicono che le applicazioni Java, ovvero il P
Code successivamente compilato con il JIT ed eseguito all'interno
della JVM, possono arrivare a circa un ventesimo della velocita' di
un'applicazione C++ compilata nella maniera classica. Mi chiedo se il
nuovo .NET World sia nelle stesse condizioni o possa "magicamente"
competere, nelle prestazioni, con i cari .EXE nativi.
Qualche idea?
Ciao, buon lavoro, Davide.

 Qualche idea?
Assolutamente no ! Ho fatto piu' domande di te ;-)
Alex

se non fosse cosi' mi darebbe fastidio !)
Uh ! accidenti ! scriviamo immediatamente alla Microsoft !
Immagino che di fronte a una simile minaccia cambiera'
subito idea !
--
Andrea Laforgia - walkietalkie(at)
libero.it
#exclude <windows.h>

 Assolutamente no ! Ho fatto piu' domande di te ;-)
ROTFL
Davide.

 ha scritto
[MEGA CUT]
Grazie mille !!! Ora so cosa mi aspettera' presto ;-)
Alex

 subito idea !
Ma sai che sei permaloso !?! E' passato parecchio tempo da quando ti ho
fatto fare brutta figura ed ancora rispondi come un bambino indispettito !
Grazie per la tua utilissima risposta ...... a volte le tue risposte sono
utili e ben scritte, ma caso strano quando rispondi a me scrivi solo di
cazzate del genere (oltre ad offendere con facilita'). Non hai niente di
meglio da fare ?!?
Alex

Non hai niente di meglio da fare ?!?
Mi devo nutrire del tuo sangue


Grazie mille !!! Ora so cosa mi aspettera' presto ;-)
Auguri Genio !



Devo chiamare la suora o diamo un taglio a queste serie di botta e risposta 
da asilo infantile?
Se continuate così suggeriro a uno dei due il trucco del "sempre uno più di 
te" o dello "specchio riflesso"!
Se volete scannarvi su argomenti non in topic o per faide personali, vi 
prego di utilizzare protocolli più adatti all'uopo (SMTP e POP3 o IMAP) ed 
evitare NTTP.
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

 meglio da fare ?!?
Con certa gente e meglio non averci a che fare... fai come me, che quello lì
ormai lo ignoro completamente... perché buttare nel cesso il proprio tempo
per interfacciarsi con individui del genere?
Lorenzo

Chiedo scusa per il subject. Hai ragione: non era chiaro :-)
Quindi tu mi dici  che sotto .NET ci sono ancora le vecchie API?  E che
quindi .NET č solo uno strato (scavalcabile) in piů tra la nostra
applicazione e il SO.? Io avevo capito che le API con .NET non c'erano piů.
Perň ho letto ancora poco.
Grazie.
Emanuele

il discorso delle API e' poco chiaro anche a me, pero' andiamo a intuito,
perbacco!!
Win32 e' una piattaforma di API comune ai vari sistemi
operativi Windows (95 OSR1 / 95 OSR2 / 98 / 98 SE / Me / NT / 2000 / XP),
con le varie eccezioni, alcuni sistemi ne supportano un superinsieme, altri
un sottoinsieme (Windows CE ad esempio), tralasciamo che a seconda del
sistema operativo e della versione di Internet Explorer installata, alcuni
dettagli piu' o meno rilevanti cambiano...
Quello che voglio dire e': in
praticamente tutti i sistemi operativi che supportano, o meglio, "basati"
sulla piattaforma Win32, per creare una finestra bisogna richiamare le API
CreateWindow o CreateWindowEx offerte dal file user32.dll, questo avviene
dietro le quinte se usiamo framework quali la VCL, le MFC, o linguaggi
quali VB, VBA e cosi' via.
L'unico modo che abbiamo per creare una
finestra in Win32 e' quello di usare la funzione CreateWindow(Ex), per cui
se il caro .NET Framework crea una finestra in Win32, lo DEVE fare in quel
modo.
Che poi nel contesto del .NET, magari da C#, si possa chiamare la
funzione NETCreaUnaFinestrella, passando parametri diversi da quelli cui
siamo abituati o lasciando che il sistema gestisca altri particolari che
fino ad oggi abbiamo gestito a mano, questo non vuol dire che le API di
Win32 siano cambiate o siano diventate inutili.
Al limite, se il .NET
Framework potra' soddisfare egregiamente tutte le nostre aspettative con le
sue API interne, noi potremo fare a meno di usare le care API Win32, ma LUI
(il .NET Framework), continuera' ad usarle se vorra' creare finestre,
aprire files, gestire l'output sullo schermo e cosi' via.
In questo
senso e per altri motivi, possiamo vedere il .NET come una specie di
piattaforma, nella quale i nostri compilati in IL troveranno il loro
ambiente di esecuzione, senza magari conoscere nulla riguardo la
piattaforma Win32, ma interagendo con essa sempre e solo tramite il .NET
runtime.
Io la vedo cosi'.
Ciao, Davide.
--------------------------------
Inviato via 
http://usenet.iol.it
 

modo.
Bhe, non č
detto. Io posso scrivermi una funzione che crea una finestra senza usare le
API (me la faccio a mano), quindi forse il .NET č stato riscritto per
intero e bypassa lo strato delle API avendo in se il codice "nativo" per
creare la finestra.
Che ne dici? 
Emanuele


per interfacciarsi con individui del genere?
ROTFL ! non ti conviene... 

aprire files, gestire l'output sullo schermo e cosi' via.
Non e' detto, continuera' ad usare lo stesso codice o codice
simile (nel caso MS voglia cambiarlo), ma a questo punto non
servira' sapere cosa c'e' sotto.

No!!!
Stai tralasciando dei particolari importanti!!!
Una finestra non
e' solo un insieme di bit pixel colorati opportunamente sullo schermo, non
e' solo un'entita' GDI!
potresti disegnare qualcosa che le somiglia, ma
non avresti una finestra con un proprio HWND, correttamente registrata nel
sistema...
Tieni conto che quando crei una finestra Win32 associa ad
essa un handle che per te e' un numero, ma per il sistema e' quasi sempre
l'unico appiglio tramite il quale interagire con essa.
Ci sono decine di
messaggi che vengono inviati/elaborati/ricevuti da una finestra.
Non e'
pensabile di cambiare queste cose su due piedi o di riscrivere qualcosa di
completamente diverso e mostruosamente complesso, Win32 funziona cosi', se
poi il .NET Framework nascondera' il tutto e ci rendera' disponibili altre
funzioni, noi non useremo piu' le API, forse, ma il .NET Engine DEVE
usarle, perche' si poggia su Win32.
Davide.


 creare la finestra.
E perché mai MS avrebbe dovuto fare una stupidaggine del genere? Quello che
dici tu ha senso a livello di sistema operativo, non di certo a livello di
framework...
Lorenzo

 ha scritto nel messaggio
news:132Z246Z41Z10Y...@usenet.iol.it...


 ha scritto nel messaggio
news:132Z246Z41Z10Y...@usenet.iol.it...



Si. 
La comodità di programmare in Java consiste nell'avere un SDK device
indipendent, e' poi la VM che su Win32 per creare la finestra usera'
la CreateWindow, Su X Window la XCreateWindow e cosi' via.
Ciao
Stefano "HappyMan" 
--
IABLA Sezione Lago Maggiore (NO)
Web 
http://happyman.n3.net
 [Foto salseri/e & I.A.B.L.A. Ring]
Email: 
happyman...@libero.it
 [Togliere nospam per scrivermi]