[56]
lelerelele--------------
Ciao lelerelele, il modo in cui hai riportato quanto detto da me non mi soddisfa.
Ovviamente il C64 aveva un sistema operativo. Io parlavo di un interprete di comandi, come le varie shell tipo Bash o Zsh.
Questo componente può essere leggerissimo, tanto che esiste una versione minimale anche in GRUB, per fare un esempio.
Dici che non si utilizzavano programmi BASIC ma gli altri utenti non dicono esattamente questo, dicono che era un misto BASIC e Assembly (anzi, loro dicono Assembler).
Sicuramente non programmavi in codice macchina, perché non lo fa nessuno, usavi anche tu il codice Assembly (che loro chiamano Assembler).
Il fatto che tu non usassi mai codice BASIC quindi era una scelta, non una necessità assoluta.
Certamente da quello che ho capito scrivere programmi in BASIC era possibile e comune ma occorreva ricorrere all'Assembly per limitare il consumo di RAM.
Questo non lo dico io, lo dicono gli altri, quindi se non sei d'accordo con loro devi farlo presente a loro.
Ultima cosa: si chiama C64, non C54. Giusto per non confondere chi legge.
Grazie per avermi risposto.
[57]
claudiocedrone------------
Va bene Claudiocedrone, userò i tag.
Un inverter trasforma in alternata la corrente continua, got it. Più semplice di quanto pensassi.
Si può dire che è l'opposto di un "raddrizzatore di tensione con ponte a diodi"?
Chi li conosceva (gli inverter) prima che noi (o voi) pensassimo che potessero esistere? Maggi? Ma non mi sembra una cosa complicatissima.
[58]
Etemenanki------------
OK Etemenanki, non sei un programmatore. Però uno che fa esperimenti come te un'idea deve pur avercela sui vari paradigmi.
Dal momento che persino io ne ho una, anche se basata principalmente su impressioni, penso che tu possa tranquillamente avere la tua.
Quindi non siete contro Windows, mi fa piacere, perché i fanatici non mi piacciono.
Windows ha sicuramente il merito di aver portato i PC nella case di tutti, per me questo è già un grande valore.
Il fatto che sia sempre più pesante secondo me è parte di un accordo commerciale con chi produce hardware.
Un modo per rendere le macchine obsolete più in fretta di quanto accadrebbe normalmente.
Io sono passato a Linux per questo, perché con Linux puoi usare macchine considerate ormai vecchie quasi alla pari dei PC oggi sul mercato.
Questo perché si può scegliere molte soluzioni fra le interfacce grafiche, ma ho sempre pensato che sia possibile alleggerire anche Windows, solo che non ho mai approfondito.
In realtà il motivo principale per cui uso Linux è che è gratis.
[59]
lelerelele------------
Non direi che tutto o quasi tutto il software gira su Windows, come dice lelerele, direi piuttosto che il software disponibile per Windows è maggiore.
Però io sono 2 anni che uso solo Linux e non ho sentito tantissimo questa carenza. Dipende ovviamente da cosa fa uno, non metto in dubbio che in certi casi Windows o macOS siano una scelta obbligata.
[60]
mario_maggi------------
Quindi dici che quel computer (Honeywell Microsystem 6/20) era utilissimo per :
- gestire l'amministrazione (troppo generico)
- gestire il magazzino... (inventario: ne abbiamo già parlato)
- "con le rispettive valorizzazioni variabili neol tempo " (questa mi suona come supercazzola -
https://it.wikipedia.org/wiki/Supercazzola )
- per lanciare gli ordini a fornitori (OK, questo sembra utile ma è collegato con il discorso inventario)
- * per avere un termine di consegna attendibile (in che modo si ottiene questo risultato?)
- "Il computer teneva conto anche delle ore di lavoro" (poco chiaro, anche l'orologio fa questo in un certo senso)
- "e della disponibilità dei banchi di collaudo " (poco chiaro )
Sicuramente ora vorrai ammazzarmi ma io non sto negando il fatto che queste macchine fossero utili. Dico solo che quello che tu hai visto e sperimentato di persona non è cosi facile da comprendere per chi ti legge senza averne alcuna esperienza.
Ad ogni modo io sono disposto a credere che per voi fossero veramente utili. Ci credo perché tu ne sembri convinto, però non sono riuscito a figurarmi la cosa, anche per via di alcune ammissioni che tu hai fatto in precedenza, ovvero che era "terribilmente lenta" e che gestire l'output "era un casino".
Capisco che trasmettere un'esperienza tramite testo non è affatto facile e probabilmente tu non hai il tempo di scendere nei dettagli.
Spero quindi che capirai la mia difficoltà nel farmi un quadro soddisfacente.
Molti diranno di non avere avuto questa difficoltà, dal mio punto di vista questo non è un motivo di vanto.
Quello che volevo sapere sul SC/MP invece era come avevi collegato le lampadine al computer. Ora parli di transistor ma io credo che per creare un semaforo in realtà un computer non sia affatto necessario. Puoi creare un circuito alimentato che funziona come un semaforo, questa è una cosa. Io volevo capire quale era l'interfaccia fra il PC e le lampadine (o tutto quello che costituiva il semaforo), ma se non te lo ricordi fa nulla, dopo 45 anni è perfettamente comprensibile.
Ciao.
[65]
djnz------------
Credo che tu djnz mi hai dato una buona risposta : " Il BASIC per sua natura è già un interprete comandi".
Questo spiega molto ma non tutto.
A parte il fatto che, secondo Wikipedia il sistema operativo del C64 era composto da 3 componenti: " Il KERNAL; Il monitor in linguaggio macchina; L'interprete BASIC ".
Questo significa che il solo interprete BASIC non poteva essere considerato come "IL" sistema operativo, ma solo come una parte.
Dico questo perché tu dici "la cosa più immediata era fargli fare anche la funzione di mini sistema operativo di quelle macchine".
Riguardo a questi tre componenti si legge che :
KERNAL :
"è un insieme di routine preposte alla gestione dell'input/output" (ovvero dello schermo, della tastiera e di tutte le varie periferiche)"
Il monitor in linguaggio macchina:
"era il programma preposto alle funzioni di immissione del testo da parte dell'utente "
L'interprete BASIC :
"era di diretta derivazione del Microsoft BASIC e consentiva all'utente di scrivere i programmi in BASIC, e più in generale di interagire con il sistema operativo, immettendo dei comandi nel modo diretto... In questo modo era possibile interagire con la macchina"
Se ne deduce che sicuramente l'interprete BASIC aveva una funzione simile ad un interprete di comandi ma anche il cosiddetto "monitor in linguaggio macchina" sembra facesse qualcosa di simile.
Probabilmente le due cose interagivano fra loro e dialogavano con il KERNAL tramite qualcosa di simile alle "chiamate di sistema" dei moderni PC.
Quindi djnz, correggimi se sbaglio, quello che vuoi dire è che il contenuto delle ROM veniva processato senza passare dalla RAM e in questo modo si lasciava libera la RAM per i dati da manipolare.
Però i comandi utente dovevano per forza di cose essere letti nella RAM, prima di essere processati. Ad ogni modo i comandi non occupano molto spazio.
Anche un programma BASIC doveva essere letto in RAM, ma anche in questo caso non l'interprete, quindi entro certi limiti la programmazione in BASIC era possibile ma ovviamente la programmazione Assembly era preferibile.
Penso che questa spiegazione possa essere soddisfacente, siete d'accordo?
----
Invece poi sempre tu djnz intervieni per il discorso del Honeywell Microsystem 6/20.
La prima cosa che dici è "vogliamo aggiungere anche il calcolo di decine di rate di ammortamento di piani di finanziamento? ".
Non lo so? Lo vogliamo aggiungere? Vuoi dire le rate per pagare i debiti? Per finanziamenti penso tu intenda "prestiti".
Quindi una banca ti fa un prestito e stabilisce un piano di rimborso, ovvero delle scadenze e delle cifre che corrispondono alle rate.
Teoricamente è la banca a fare i calcoli, tu devi solo ricordarti quando è ora di pagare la rata, come facciamo noi per pagare le bollette del gas, acqua e luce, anche se molti ormai le pagano in automatico.
Ti serve un computer per questo? Forse ad una azienda si, non lo so. probabilmente è una questione di dimensioni. Se hai centinaia di fornitori e centinaia di clienti tenere nota di tutte le scadenze diventa difficile.
Io ho avuto a che fare con aziende ma non aziende di grandi dimensioni. Ovviamente oggi anche l'artigiano usa il computer ma negli anni 80 dovevi avere veramente una grossa azienda per avere bisogno di un computer, forse questo è il nocciolo della questione.
Comunque anche l'esempio del cliente che vuole anticipare un pagamento di 200 paperdollari. Alla fine sono calcoli aritmetici: divisioni, addizioni, sottrazioni, moltiplicazioni..... non è cosi?
L'esempio delle sinusoidi non so se posso accettarlo. Io ho chiesto a mario_maggi esempi reali relativi alla sua attività, non esperimenti universitari. E' fuori tema rispetto alla mia domanda originale.
----
Sempre djnz mi risponde sul "cosa si poteva fare con i vecchi computer che oggi non è possibile", avevo chiesto degli esempi:
Beh, da quello che leggo mi pare che il discorso di fondo sia che con poche istruzioni facevi molte cose. Forse se paragoniamo il linguaggio Assembly di oggi a quello di ieri la cosa quadra ma oggi non è necessario ricorrere all'Assembly. Per rendersi le cose facili si può usare qualche linguaggio di scripting, alcuni molto facili da utilizzare. Persino io una volta ho scritto un programma in Javascript.
Torna fuori il semaforo di Maggi, però lui non ha usato un C64, era un "SC/MP di National " [38]. Comunque accetto la risposta ugualmente, si usava quindi una porta parallela. Di te djnz mi piace che spesso rispondi alle domande per quello che sono, non tutti lo fanno.
Perché la frequenza bassa dei bus era un fattore utile ad interfacciare dispositivi all'hardware? non mi è chiaro.
Cosa era e a cosa serviva il "lettore di numeri composti col disco combinatore di un vecchio telefono"?
E il campionatore era quello che si intende oggi? Uno strumento musicale digitale o qualcosa di più simile ad una scheda audio?
Dici "No, un PC moderno non ha più modo di essere collegato direttamente a circuiti hardware personali" Ok, questa è una risposta ad una mia domanda. Grazie.
Quindi hai usato vari tipi di BASIC, il Pascal, il C e Python. Allora tu sei un vero programmatore, non come Etemenanki. Ma di professione o a livello amatoriale?
Si va bene "piselli e mestoli" ma io volevo un confronto tra programmazione tipo "procedurale" e programmazione "orientata agli oggetti".
Ho capito il discorso dei mestoli, con Python non ti devi preoccupare di creare certe cose, sono già presenti, mentre in C te le devi costruire di volta in volta.
Si parlava di spreco di codice e io ho il sospetto che linguaggi tipo Java siano negativi da questo punto di vista. Essendo C++ orientato agli oggetti a differenza del C ma essendo questi in qualche modo parenti stretti ho scelto loro perché mi pareva l'esempio migliore.
E del linguaggio ADA cosa mi dite? Non sembra molto usato eppure dovrebbe essere uno dei migliori.
Dici le stesse cose che leggo in Wikipedia su Assembly e Assembler. Per conto mio ho già deciso: è più corretto dire Assembly ma non starò a correggere chi userà il termine Assembler ogni volta che lo sento.
DarwinNE ho aperto il tuo gioco e mi sono trovato davanti l'opzione per cambiare il font. Non so come abbia fatta a non vederla le altre volte. Penso che avrei dovuto prestare maggiore attenzione. Con il font normale il gioco va benissimo.