Su windows le applicazioni che hanno parti in assembly sono tantissime: i virus a esempio
@Vic Steele
Io ho programmato in assembly per RISC, ed essendo l' instructions set ridotto all' osso (parliamo di una 60ina di istruzioni contro le quasi 400 di un Cisc), magari non sarò attendibilissimo. Di fatto, l' assembly per Cisc l' ho usato solo per salvarmi degli indirizzi di ritorno in un codice C, 2 righe di codice imparate a memoria...ma appena ho tempo imparerò pure quello!
Ma più che capire benissimo la logica secondo cui un dato passa da una parte ad un' altra, a chi vuole imparare a programmare interessa programmare. Senza prenderci troppo in giro, di fatto, in assembly non si possono fare chissà quali grandi programmi o chissà quali grandi cose...ci sta un driver per un tastierino da 5 KB (comunque complessissimo, per carità), ma se già programmare una radice quadrata diventano 300 righe non darà poi tanti sbocchi nell' ambito degli applicativi, questo spero sia chiaro...
Poi non saprei...allocare lo spazio per una variabile diminuendo lo stack pointer anzichè dichiarsi la variabile, usare le label anzichè i cicli, fare degli algoritmi anzichè usare le funzioni di libreria, non avere dati strutturato...Insomma, io non credo che conoscere l' assembly aiuti a programmare in C.
Ricordo ancora che quando poi ripresi a programmare in C, leggevo int strcmp(char* v1,char* v2) è uguale a 0 se...auguale a 0 ma cosa? chi? quando? si perde la logica delle funzioni in effetti...in assembler queste cose non esistono, quando invece in C sono una delle cose più importanti per scrivere del codice in modo veloce, sicuro e funzionante...
Posso essere daccordo che aiuti a capire, in parte, i calcolatori, ma che serve per programmare in C non mi pare. Anzi, forse confonde solo le idee ad una persona inesperta. Le ottimizzazioni di cui parli, per quanto interessanti, restano comunque una fase avanzata e che comunque vengono considerate solo a grandi linee anche in progetti piuttosto seri. Fermorestando che tutti i calcoli sulle risorse possono essere approssimati anche con dei calcoli sul codice C.
Se poi si è affascinati dall' assembly (e come si fa a non esserlo mi chiedo a volte) è un' altra storia...