Newsgroup: it.comp.java
Titolo: Assembly: Perché sostituirà C++/Java

L'informatica è un campo in rapida evoluzione. Quello che ieri era
all'avanguardia oggi è completamente obsoleto. Tecnologie sempre più
efficienti vengono sviluppate. Il floppy da 8 pollici ha aperto la
strata ad floppy da 3,5'' che è stato sostituito dal CD-R. Il modem
acustico eventualmente è stato sostituito dal modem DSL. Unix è stato
superato da Windows XP. E così via.
La stessa tecnologia si applica anche ai linguaggi di programmazione.
Il C ha aperto la strada al C++ che è stato superato dal C#. Comunque,
è venuto il tempo di un completo cambio di paradigma nella
programmazione. Propongo una migrazione di fatto verso un linguaggio
relativamente recente ma promettente, conosciuto come assembly.
La maggior parte di voi non è probabilmente familiare con questo
linguaggio. Io stesso mi sono imbattuto per caso in questo linguaggio
completando il mio MCSE. Allora consentitemi di dirvi qualcosa di più
su questo linguaggio.
C++ e Java non consentono al programmatore di accedere direttamente
all'hardware. Invece, compilano un "bytecode" che viene poi
interpretato da una macchina virtuale. Anche se molto portabili,
questo limita la velocità dei programmi C++ e Java.
L'Assembly, comunque, è stato progettato per consentire al
programmatore *l'accesso diretto* all'hardware! Questo consente
programmi *molto* più veloci.
Inoltre, l'assembly è lo stesso linguaggio "parlato" dai computers.
Per questo motivo, potreste vedere l'assembly riferito come "codice
macchina".
Temo che senza il supporto di una grande società (come Microsoft ha
spinto Java, o come Sun ha supportato C#) l'assembly rimarrà un
linguaggio di nicchia, come molti altri interessanti linguaggi (penso
a Python).
Perciò spero di iniziare un movimento di base per supportare
l'assembly. Mi piacerebbe vedere la FSF rilasciare un compilatore
assembly basato su GNU (anche se possono risparmiarsi i bugs che hanno
infestato la release 3.0 di gcc costringendo molti utenti a passare a
Visual Studio per la loro programmazione Linux).
Mi piacerebbe esporvi la superiorità dell'assembly sul C++/Java ma
sono in ritardo per la mia classe "Introduzione al TCP/IP". Quelli di
voi familiari con l'assembly, per favore educate i tanti utenti
ignoranti C/C++/Java sulla gloria di questo superiore linguaggio.



 ha scritto nel messaggio
news:br9ojug1puljkb640...@4ax.com...

??
??
Sono del tuo stesso parere per quanto hai detto sull'assembly,
è forse il "piu' bel linguaggio" ,come tu affermi.
ma il punto, secondo me, è che è troppo a basso livello per essere
utilizzabile e produttivo;
basti persare quanto tempo ci vorrebbe per scrivere una applicazione lato
server che deve monitorare una
rete e gestirla...ma anche semplicemente prova a pensare quanto tempo ci
vorrebbe a scrivere e soprattutto a
pensare un algoritmo in assembly per un applicazione office o gestionale.
Io penso che sia assurdo scrivere un programma di 100000 righe,
quando con un linguaggio ad alto livello, come java o C++ ...ma anche
l'ostico C, se ne possono scrivere
solamente un quarto o anche di meno.
Chi ci sta a tornare a utilizzare le schede perforate???  ;)
Stefano.

 Visual Studio per la loro programmazione Linux).
ROTFL!!!!

Non dargli retta!
Sono dei messaggi palesemente provocatori!
Stanno girando da qualche tempo nei NG. Addirittura uno asseriva che il C è
derviato dal C++!!!
Martino.

 ignoranti C/C++/Java sulla gloria di questo superiore linguaggio.
Educaci tu.
Io direi.. ma che programmiamo a fare a oggetti, bypassiamo l'assembly e
torniamo direttamente alla microprogrammazione a suon di bit sul silicio.
Ciao!
Luigi

Da notare che chi ha scritto il post, sa bene che Assembler č il compilatore
del linguaggio Assembly. Quasi sempre, chi non sa di che cosa si tratta,
chiama il linguaggio : "Assembler".
Burlone si (questa non č di certo una provocazione) ma non cosě sprovveduto,
leggete attentamente il post.
In compenso č uno dei post piů divertenti degli ultimi tempi, un bel ROTFL
ci sta tutto.

 ignoranti C/C++/Java sulla gloria di questo superiore linguaggio.
non ascoltate il troll...
si commenta da solo
*plonk*
~~
artemis.alpeia

su questo linguaggio.
E io che credevo che l'MCSE servisse a
qualcosina...trollaccio!:)
Il vescovo di Messina a Lunardi:
"Prima del ponte...costruite un paio di binari"

[CUT]
Lo sai. Non devi prendere le polverine bianche!
A parte gli scherzi, hai farcito il tuo messaggio
di, in parte, CAZZATE e cose che, almeno
spero ;-), sono conosciute dal 99% dei
programmatori di medio livello. Scusa, secondo
te se devo ottimizzare un motore 3D, per esempio,
userņ il VB? O_o!
Salutoni
Cieli Sereni
P.S.
Sappiate che chi ha il nick Cielo Sereno non sono
io ;-).

 ha scritto nel messaggio
news:SYV_8.17053$GV2.4...@twister2.libero.it...



Ma la finiamo di scrivere cazzate???
Non abbiamo altro da fare ehh?

 wrote in message 3D3C7C0B...@libero.it...


Quello che dici tu è verissimo (basti pensare a Quake 1 o a GP2, che
nonostante non usino HW delle S-Video girano benissimo anche su vecchi PC e
a mio avviso sono anche più belli), ma c'è da considerare che chi ha scritto
questo post voleva solo dar fastidio con argomenti che oggi non hanno scopo
di esistere.
Ad esempio:
    - XP migliore di Unix. Ora, ino non conosco Unix, ma preferisco il caro
buon vecchio DOS a quella cacca di XP.
    - Fare tutto in Assembly? Oddio, mi ricordo la fatica solo per rifare il
driver per la tastiera per i giochini, o il sangue sputato per la gestione
della memoria, dell'accesso ai dischi etc. e la fatica per il debug e
ottimizzazioni varie. Ma ricordo anche che soddisfazione vedere su 8086,
demo che facevano cose fichissime con pochi KB di codice (il mitico exe di 8
byte che accetta un carattere e lo ristampa? O i famosi demo Assembly
8K?).Mitica fu la rivoluzione dei 32 bit. Le demo cominciarono a volare.
Per il resto non credo che sia questo il luogo per discutere
sull'informatica moderna (anche io la penso come te, ma oramai il tumore dei
linguaggi script si è affermato, ora ci si può solo convivere e apprezzarne
molte caratteristiche.)

> paura il giochino 3D va a scatti e invece lo stesso gioco su 1 console
Già perché adesso i giochi su playstation 2 li fanno in assembly...
Non credere che per ottimizzare un programma servi a qualcosa portarlo da C
all'assembly. Se invece il tuo programma è scritto male, sarà lento anche se
lo stampi su un circuito.


...e tieni per te eventuali giudizi sulla conoscenza.
Eh, lo so che e' un troll ma che ci volete fare! 
Ciao,
    Bruno.
---
| Bruno Bossola 
| A Java Software Engineer :-)
| 
http://digilander.iol.it/bbossola
|
| (rimuovere gli spazi dall'indirizzo per rispondere via email)

 ignoranti C/C++/Java sulla gloria di questo superiore linguaggio.
Io conosco solo l'ASM68k, va bene lo stesso? :-)

 
Ma francamente sembrava che non avesse mai sentito parlare
dell'Assembler (magari ho frainteso) e che quindi non conoscesse molto
l'argomento....
Dire che l'Assembly sarà il futuro è come dire "i piedi saranno il
futuro delle automobili"... magari ha ragione e forse sarebbe anche
tutto migliore ma non credo che sia una affermazione corretta.

Già perché adesso i giochi su playstation 2 li fanno in assembly...
ti assicuro che c'è n'è tanto di ASM nei giochi PS2...
--
Rhymes
rhy...@myself.com
" ride or die "

> ti assicuro che c'è n'è tanto di ASM nei giochi PS2...
Tu dici?
Io dico di no.

Io dico di no.
Vieni su it.comp.giochi.sviluppo e ne riparliamo


> Vieni su it.comp.giochi.sviluppo e ne riparliamo
:)) e per quale motivo si vorrebbe sviluppare molto del codice che compone
un videogames in assembly quando esistono schede che gestiscono egregiamente
il 3d e motori bell'č pronti ? Continuo a credere che lo sviluppo dei giochi
moderni abbia piů a che fare con la produzione cinematografica che con la
programmazione. Ancor meno, programmazione a basso livello. Ma non č il mio
genere. Ovvio che le librerie grafiche possono essere sviluppate in assembly
(il che non esclude che magari non lo siano), ma sono componenti che non
sempre le case produttrici di videogames desiderano svilupparsi in casa. Mi
pare un po'  come se da domani la mia societŕ mi chiedesse di scrivermi un
database engine, un sistema operativo per produrre un gestionale idiota.
Credo che, se non ci fosse un mercato di componenti e librerie giŕ pronte, e
se chi programma i videogiochi dovesse quotidianamente avere a che fare con
calcoli differenziali da sviluppare in assembly, potremmo ancora giocare a
Tetris.
Si vocifera anche di portare Java sulle console, pare che potrebbe esser
comodo sviluppare un gioco e poterlo vendere per PS2, GameCube, X-Box etc...
Poi ti dico... gli unici giochi che ho sviluppato sono quelli che alle
superiori mi facevano fare come esercitazioni, e non vado oltre la battaglia
navale e arkanoid :-D. Quindi la mia opinione sull'argomento "come si
programmano videogiochi moderni" vale due centesimi.



Ho postato il tuo messaggio su it.comp.giochi.sviluppo


 superato da Windows XP. E così via.
e qui mi sono fermato...no comment....
raffaele

lo stampi su un circuito.
E se lo scrivi bene in C++ allora scrivendolo bene in
assembler puoi guadagnare ancora qualcosa. Se si tratta
di parti dove viene speso gran parte del tempo di
elaborazione e' un passaggio che puo' valer la pena
fare. YMMV, ovviamente.
Anche su PC, quando mi occupavo di grafica realtime,
sono riuscito a spremere un po' di FPS in piu' grazie
alla scrittura di qualche migliaio di righe assembler;
il discorso PC e' pero' piu' complesso (non esiste "il"
PC, ma una infinita' di PC diversi e ottimizzare per
uno puo' significare peggiorare per un altro).
Sebbene io condivida che l'ottimizzazione precoce sia
qualcosa da evitare, io sono anche convinto che scrivere
codice inefficiente senza preoccuparsi e puntando
solo ad arrivare in fondo non sia la perfezione e
anche che sperare che qualcun altro (es. il compilatore)
faccia sempre ed esattamente quello che serve a me
nel modo migliore possibile e' utopistico.
Se non serve avere il massimo allora forse non vale la
pena sbattersi tanto...  ma se serve ...
Considera anche che quando scrivi un gioco per PS2 non
puoi sperare che nel giro di qualche mese la velocita'
della PS2 raddoppi :DD
Andrea

 e qui mi sono fermato...no comment....
Mi sembra sbagliato ragionare su WXP e Unix in termini di migliore/peggiore.
Ogniuno ha vantaggi e svantaggi a seconda dell'uso che se ne fa. Sono
entrambi buoni sistemi operativi.
Posso criticare la politica commerciale di microsoft, ma non direi che
produce un pessimo sistema operativo (tutt'altro, secondo me).

mai sentite tante cazzate tutte insieme...
java e' stato spinto da Microsoft???
WinXP ha sostituito Unix???
C# ha superato il C++???
C++ gira su una virtual machine???
ma sai di cosa stai parlando o hai sei anni, hai appena imparato a leggere 
e ti e' capitata per sbaglio una rivista (di basso livello) di informatica 
in mano???
ti faccio notare che l'assembler non e' "stato inventato", e' solo una 
traduzione (o poco piu') delle istruzioni binarie della macchina.
Ti faccio notare anche che l'ottimizzazione che puo' fare un buon 
compilatore in un paio di ore di calcoli, tu, per farla in asm ci 
metteresti dei mesi.
hai mai provato a programmare in assembler? hai mai fatto confronti col 
lavoro fatto ad alto livello (C++ per esempio)? con questo intendo dire 
qualcosa piu' di "hello world"... scrivere programmi di grosse dimensioni 
in assembler sara' pure efficiente in fase di esecuzione (pure questo e' 
tutto da dimostrare, secondo me un buon compilatore gestisce molto meglio 
la situazione...), ma richiede una mole infinita di lavoro. e poi se cambio 
processore? che faccio? riscrivo tutto da capo?
torna a giocare coi soldatini, e' meglio...

ignoranti C/C++/Java sulla gloria di questo superiore linguaggio.
bella conclusione per uno splendido post...
va be! il modo è bello perchè è vario, ma forse è vero che sta scherzando...
scusa, ti dispiacerebbe mandarci una conferma o una smentita(del fatto che tu stia scherzando)?
        Carlo
-----------------------------------------------------
Ci sono cose che non si possono interrompere.
La consapevolezza che i sogni della gente sopravviveranno al passaggio da un'epoca all'altra
è qualcosa che durerà per sempre finchè la gente avrà sete di libertà.
-Il re dei pirati Gold Roger-
-----------------------------------------------------
togli NOSPAM per rispondere via e-mail

 ignoranti C/C++/Java sulla gloria di questo superiore linguaggio.
ehehehehheheh :) Il finale mi piace ! Sembra un pò .. non so il finale
del signore degli anelli ! 
Sapete quelli che lasciano il discorso in sospeso perchè ci sarà 
sicuramente un continuo ??? 
Fantastico !
DIFFONDETE IL VERBO! ASSEMBLY E' IL NOSTRO SIGNORE !
PER FAVOREEEEEE DILLO CHE STAI SCHERZANDO! LIBERACI DA QUESTO PESO!
PER FAVORE!
Non è che ti chiami Luca Panerai vero ?

 grosso impatto nelle performance.
[Domanda ingenua]
Ma, tolte tutte le difficolta' e problematiche dell'assembler, un *ottimo* 
programma scritto in C o C++ va veloce come un *ottimo* programma scritto 
in Assembler? 
-- 
La speranza e' l'ultima a morire. Ma muore.

AHAHAHAHAHAHA... sei un grande, ti voglio bene...
Pero', dai, la potevi fare meglio, ti sei fatto scoprire quasi subito ;)

Chi l'ha sciolto?

Minchia, ma che stronzate stai dicendo??? Sei un cazzo di giullare, ma io mi 
vergognerei di brutto! "La maggior parte di voi non è probabilmente 
familiare con questo linguaggio. Io stesso mi sono imbattuto per caso in 
questo linguaggio completando il mio MCSE."...AHAHAH!! Ecco un altro 
esempio di come la roba microsoft ti disintegra i neuroni...

 in Assembler?
Sono situazioni impossibili orami da verificare.
L'ideale sono *ottimi* programmi scritti in C/C++ con otimizzazioni
Assembly, dei cicli piů duri per la CPU.
Non scordate che anche l'Assembly, puň usare delle librerie. Non č che ogni
volta si deve riscrivere tutto.
L'assembly, puň fare la differenza su cicli lunghi e duri. Inutile usarlo
per un'applicazioni gestionali, ma su applicazioni come la grafica , audio,
etc. puň dare veramente qualcosa in piů.
Andate a cercare su Internet il concorso "Assembly 8k" (si chiama cosě
perchč c'č una sessione dedicata a programmi demo grafici che non devono
superare gli 8 k) e vedete cosa riescono a fare.




 sicuramente un continuo ???
Il Signore degli Anelli ha un finale. Muoiono tutti, tranne coloro che si
imbarcano per le Terre Imperiture, con tanto di date. Non direi che lascia
molte cose in sospeso, anzi.
Ciao,
 Stefano
----------
"X WindowSSS, teSSSoro mio... lo odieremo per SSSempre"
Bill Gollum
----------