|
|
|
![]() |
|
Strumenti |
![]() |
#61 | |
Senior Member
Iscritto dal: Jul 2006
Città: livorno
Messaggi: 6496
|
Quote:
E poi c'è da considerare un'altro fatto: Non si costruiscono più missili nucleari ICBM da decenni(parlo degli USA), e quelli più moderni sono i LGM-Peacekeeper, che è roba degli anni 80... Anzi, vi dirò di più, se non erro di Peacekeeper ne fecero pochissimi(perchè già andavamo verso la fine della Guerra Fredda) e adesso dovrebbero essere stati tutti smantellati. Quindi gli ICBM americani più moderni sono i Minuteman III, degli anni 70. Quindi, noi adesso stiamo prendendo per il culo i flopponi da 8", che in realtà sono anche fin troppo moderni per gestire roba costruita nel 1970. Gli USA stanno sviluppando nuove armi ben più moderne e versatili di una bomba H, e state pur sicuri che la gestione di tali armi avviene tramite computer e SO che a noi apparirebbero irreali.
__________________
Xbox Serie X Gamepass: Randy Stalker |
|
![]() |
![]() |
![]() |
#62 | |
Senior Member
Iscritto dal: Jan 2007
Messaggi: 6005
|
Quote:
Basta pensare che certi sistemi d'arma vengono sviluppati in 10. .15 anni (quindi quando si inizia a produrli in grossi quantitativi anche usando la roba più nuova quando erano in progettazione ... sono basati su roba "vecchia") e che restano in servizio per almeno 20 anni (spesso di più). Per esempio, il B-52 è entrato in produzione nel 1955 e dopo 61 anni è ancora in servizio attivo ma è stato più volte rovesciato come un calzino per sostituire sistemi troppo obsoleti o di cui non si potevano più trovare pezzi di ricambio o almeno compatibili. Attualmente l'USAF sta meditando sulla possibilità di trasformarlo da un aereo ad 8 turbogetti ad uno a 4 oppure con solo 2 (i motori attuali sono diventati molto più potenti di quelli originali .. costano meno, consumano meno e sopratutto i ricambi sono più facili da trovare). |
|
![]() |
![]() |
![]() |
#63 |
Member
Iscritto dal: Oct 2011
Messaggi: 146
|
Ma quello che sto cercando di dire sin dall'inizio non è un confronto numeri alla mano a chi va più veloce sto solo cercando di far capire che programmare in assembly e programmare in linguaggio macchina sono due cose diverse e la macchina può prescindere dall'assembly che deve essere compilato almeno una volta e in architettura quella compilazione non è un operazione banale o trascurabile, anche il visul basic per citarne uno alla fine di chissà quante traduzioni/compilazioni diventa linguaggio macchina...e per me che non so scrivere in linguaggi di più basso livello è sicuramente più efficiente e meno soggetto ad errori
Guardate sta slide e spero possiate capirmi: http://images.slideplayer.it/2/58515...es/slide_5.jpg |
![]() |
![]() |
![]() |
#64 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 1777
|
Il linguaggio assembly è una forma di rappresentazione del linguaggio macchina, quel che è si trova in linguaggio macchina può sempre essere rappresentato, con un disassembler, in linguaggio assembly. Per questo è sbagliato fare confronti prestazionali sui due linguaggi, visto che sono strettamente legati: diversi nei significanti, pressoché uguali nel significato.
|
![]() |
![]() |
![]() |
#65 |
Member
Iscritto dal: Oct 2011
Messaggi: 146
|
Ma guarda che questo è pur vero, e ti spiego il perchè,
se il mio costo di programmazione in linguaggio macchina è 5(sono un fenomeno, e non dobbiamo pensare solo come esseri umani) se il mio costo di programmazione in assembly è sempre 5 quale dei due linguaggi è più veloce(si parlo di velocità)? se vado grezzamente a misurare la velocità: linguaggio macchina = 5 assembly = 5+1 penso che qui la logica non sia un opinione |
![]() |
![]() |
![]() |
#66 | |
Member
Iscritto dal: Oct 2011
Messaggi: 146
|
Quote:
ogni macchina fisica o astratta aggiunta ha un costo lo volete capire? |
|
![]() |
![]() |
![]() |
#67 |
Member
Iscritto dal: Oct 2011
Messaggi: 146
|
Bellaz89, abbi pazienza invece di pensare come un umano pensa come una macchina, perchè questi linguaggi sono pensati per essere eseguiti sulle macchine, che linguaggio è più veloce o efficiente per te? qual è l'unico che riesci a comprendere? tutto il resto è fuffa per gli umani? la sempre famosa lampadina con on/off(che è una macchina) ha bisogno di un assembler?
|
![]() |
![]() |
![]() |
#68 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Quote:
Siccome scrivere un programma in linguaggio macchina richiede un tempo ENORMEMENTE SUPERIORE a fare esattamente la stessa cosa, ma in assembly (altro che 5 e 5: come minimo è un 50 a 5), allora i conti tornano anche con la tua metrica: l'assembly è di gran lunga più veloce del linguaggio macchina.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
![]() |
![]() |
![]() |
#69 |
Member
Iscritto dal: Oct 2011
Messaggi: 146
|
cdimauro quello di certo non è linguaggio macchina, non mi sembra di vedere nemmeno una sequenza binaria...anzi da ciò che ho letto rapidamente dovrebbe essere un linguaggio di altissimo livello di questo tipo:
Tastiera-64>BASIC>Assembly>Linguaggio Macchina ci sono almeno 3 traduzioni Nell'esempio del 5+1 io premettevo che io sapessi programmare allo stesso costo(5) in entrambi i linguaggi(per quanto sia fattibile o meno non ci interessa) quanto da voi affermato è sicuramente giusto visto nell'ottica umana, Linguaggio ad Alto Livello efficientissimo per l'umano poco/niente per la macchina e non ci piove Linguaggio di Basso Livello efficientissimo per la macchina poco/niente per l'umano sono le basi dell'informatica ma non riuscite a distaccarvi dai Linguaggi ad Alto Livello ma soprattutto ci sto provando a spiegarvi che per quanto di Bassissimo Livello l'assembly non è la stessa cosa del linguaggio macchina perche la macchina non comprende l'assembly se prima non lo traduci non continuate a dire: si ma una volta che l'hai tradotto è la stessa cosa ![]() perchè continuate ad ignorare che l'assembler è un altra macchina? vi ho messo anche la slide guardate la slide... |
![]() |
![]() |
![]() |
#70 | |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 3826
|
Quote:
Poi, se è per questo, è la macchina stessa che serve all'uomo per facilitare i propri compiti, altrimenti nemmeno esisterebbero i computer, quindi, mi pare normale che l'uomo abbia cercato modi via via più "umani" di interfacciarsi ad essa. L'assembly non è un linguaggio di alto livello, e vi è una corrispondenza uno a uno tra le sue istruzioni e quelle binarie. L'assembler è una "macchina", tanto quanto lo è una GUI, visto che il tuo click in un punto deve essere tradotto in istruzioni da eseguire, quindi? Rimuoviamo le interfacce e lasciamo solo i kernel? In tutto ciò, se un compilatore è in grado di genererare un codice binario quasi impossibile da ottenere "a mano", solo un folle potrebbe impelagarsi nella scrittura di vagonate di 1 e 0. |
|
![]() |
![]() |
![]() |
#71 | ||||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Io ho iniziato a lavorare in linguaggio macchina 6502 (quello degli home computer Commodore) nell'82 (dopo un inizio col BASIC, che però era troppo limitato), facendo uso di una opcode table (presa da poster contenuto in un numero di Commodore Computer Club, se non ricordo male), e i programmini in questo linguaggio me li facevo su carta, producendo una sfilza di sequenze esadecimali. Queste sequenze venivano poi caricate in memoria facendo uso di programmi come quello di cui ho postato l'immagine prima. Una volta eseguito, le sequenze esadecimali diventavano byte caricati in precise locazioni di memoria. Infine con una SYS potevo eseguire il codice oggetto generato dai passaggi precedenti. Questa era la prassi all'epoca, se volevi lavorare in linguaggio macchina, e non solo con le macchine Commodore se ti vai rileggere le riviste dell'epoca (di cui trovi tante scansioni online, come quella che ho riportato). Quando finalmente ho avuto a disposizione il Commodore Plus 4, che aveva un monitor integrato (programma che consentiva di disassemblare blocchi di memoria, assemblare istruzioni, eseguire il dump di blocchi di memoria, eseguire esecuzione passo-passo, ecc. ecc.), ho potuto assaggiare la differenza fra assembly e linguaggio macchina. Ma il risultato finale, e la velocità d'esecuzione del codice oggetto/binario prodotto, era esattamente la stessa. A fronte di uno sforzo sovrumano col linguaggio macchina. Per cui permettimi: ho potuto provare sulla mia pelle la differenza fra le due cose, e so benissimo come si lavorava con entrambi. Di slide, dunque, non ne ho proprio bisogno: al più te le posso produrre io, sulla scorta di anni di esperienza sul campo.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||||||
![]() |
![]() |
![]() |
#72 | |||||
Member
Iscritto dal: Oct 2011
Messaggi: 146
|
Quote:
Quote:
Quote:
Quote:
Quote:
la diatriba nasce dal fatto che c'è confusione tra linguaggio macchina e assembly, tra uomo e macchina, e questo non mi va giù tutto qui ![]() |
|||||
![]() |
![]() |
![]() |
#73 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
La confusione ce l'ha chi non c'ha mai lavorato.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#74 | |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 3826
|
A livello di esecuzione non c'è alcuna differenza, visto che, gira e rigira, il processore eseguirà le IDENTICHE operazioni binarie.
Quote:
Ciò che conta, ripeto, è che vi sia una corrispondenza di uno a uno. Dunque, se scrivo un programma di 100 istruzioni in assembly, l'assembler tirerà fuori 100 istruzioni binarie corrispondenti. Il resto della polemica ancora non ho capito da cosa nasca. Pare di parlare del sesso degli angeli. |
|
![]() |
![]() |
![]() |
#75 |
Member
Iscritto dal: Oct 2011
Messaggi: 146
|
A questo punto, presupposto che reputo ancora di avere ragione appieno
![]() ![]() ![]() Vi ringrazio comunque per il piacevole confronto ho comunque imparato tanta bella roba ![]() |
![]() |
![]() |
![]() |
#76 | |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 3826
|
Quote:
Tra l'altro, a 'sto punto si dovrebbe dire pure che avresti ancora più efficienza se non dovessi passare attraverso il sistema operativo e caricare direttamente il programma in memoria. Anzi, meglio ancora se il programma fosse realizzato in hardware, pensa. ![]() |
|
![]() |
![]() |
![]() |
#77 | ||
Member
Iscritto dal: Oct 2011
Messaggi: 146
|
Quote:
Quote:
un programma tradotto da C ad esempio 1010 un programma pronto per la macchina 1010 eseguito 3 volte 1010 1010 1010 sono la stessa cosa in esecuzione?SI ma il codice in C l'ho compilato almeno una volta?SI dal lato macchina, che ha fame, gli conviene ricevere subito la pappa(il binario) o attendere che la mamma gli prepari la compilazione? |
||
![]() |
![]() |
![]() |
#78 |
Member
Iscritto dal: Oct 2011
Messaggi: 146
|
nella matematica che hai postato tu, a mio avviso, potrei benissimo sbagliarmi non tiene in considerazione che il risultato è lo stesso quindi la macchina come lunghezza di bit dovrà sempre leggere, come nel mio esempio:
1010 1010 1010 a cui dovrai aggiungere il tempo di compilazione forse la tua matematica sarebbe più corretta a mio avviso sottolineo: C = 2+(4*10) Linguaggio macchina = 4*10 = 40 dove (4*10) è il risultato di esecuzione della macchina che legge il binario che come risultato è lo stesso in entrambi i casi quindi sempre secondo il mio ragionamento invece di una panda e una ferrari, parlerei della stessa macchina(meglio la ferrari ![]() |
![]() |
![]() |
![]() |
#79 |
Member
Iscritto dal: Oct 2011
Messaggi: 146
|
perchè noi siamo partiti dall'assembly che ha una trasposizione 1 a 1 con il binario
1a1=lo stesso binario vedete che ci girate intorno... e soprattutto ottimizzazioni de che? se il binario generato è lo stesso che ottimizzazioni ci sono? |
![]() |
![]() |
![]() |
#80 | ||
Member
Iscritto dal: Oct 2011
Messaggi: 146
|
Quote:
Quote:
![]() |
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:45.