Menù principale
 Notizie
 Grafica
 Forum
 Links
 Retro Trailer
 Recensioni
 Modelli Amiga
 Storia Amiga
 Retro-Gamers
 Lista Utenti
 Contatti
 Policy sito
Ricerca Google

Login

Nick


Password


13 Dicembre 2020 Postato da: AfAOne
Linguaggio LUA
Qualcuno ha mai usato questo linguaggio di programmazione estendibile e multipiattaforma ?

Esiste da decenni ma ho constatato che su OS3 e AROS ci sono alcune Applicazioni create con questo linguaggio.

Linguaggio LUA

Commenti: 23  Aggiungi - Pagine: 1-2

Indice: forum / Software Amiga in generale

Pagine: -1- [2] -

MassimoC

Post inviati: 105

Visulizza profilo Messaggio Personale
5.89.192.*** Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0
Commento 21
MassimoC 17 Dicembre 2020    15:12:06
In risposta a VagaPPC
VagaPPC

In risposta a MassimoC
MassimoC


Anche per il C / C++ ci sono versioni differenti di compilatore a seconda del sistema. Quello di Amiga è differente da MOS che è differente da X86 etc. A livello di istruzioni sicuramente c'è ne sono una parte che sono comuni e altre specifiche per ogni piattaforma.
Idem per Python o altri linguaggi.
Quello che all'apparenza utilizza lo stesso modo di scrittura dei programmi è Hollywood. Però è Hollywood stesso a generare le varie versioni per le varie piattaforme con, probabilmente, un parser interno al compilatore che a seconda della piattaforma crea l'eseguibile adeguato, altrimenti ci dovrebbe essere un Hollywood per Amiga, Mos, x86 etc..
LUA non sfugge a questa regola.



Perdonami ma stai sbagliando.
In C++ se si usa il gcc la sintassi e la stessa.
Idem con patate se si usa Python, FreePascal oppure OjectPascal (Lazarus).
L'unica differenza la possono fare le classi (API o librerie chiamale come vuoi), logicamente se uso la intuition.library questa non girerà di certo su linux, così come se uso le GTK3 su Amiga.
Ma i linguaggi che ho citato dispongono di una standard.library (o stdlib) identita tra tutte le versioni.
Per farti un esempio ho scritto un programma che leggesse la inbox di una gmail da Linux e l'ho eseguito sotto morphos e 3.9 con python.
Adesso sto sperimentando sotto Lazarus, il programma che scrivo gira su tutti i sistemi, anche windows e mac. Ovviamente bisogna compilare per tutti.
Ho compilato del software C++ di linux sotto MOS senza toccare una riga di codice.

etc..



Stiamo dicendo le stesse cose in maniera diversa.
Se uso la sintassi "basilare" di un C è altamente probabile che lo stesso sorgente compilato su piattaforme diverse funzioni, questo non lo metto in dubbio.
Idem di un Python e così altri linguaggi multipiattaforma.
Esistono compilatori per l'architettura M68000, PowerPc, Intel e ognuno di questi trasforma in linguaggio macchina il sorgente.
Peccato che poi ci siano strutture architetturali hardware aggiuntive, vedi schede grafiche piuttosto che chip grafici dedicati etc etc che a seconda della piattaforma hanno specifiche diverse per poter attingere alle stesse. Entrano in ballo le varie "Librerie" dedicate e utilizzabili su una piattaforma piuttosto che su un'altra e con incompatibilità a seconda della piattaforma. Sarebbe bello se AmigaOs , solo con una compilazione per piattaforma , potesse girare su altre piattaforme non "Amiga Classic", ad esempio su un pc intel... ma a quanto pare non è così. Bisogna usare delle Virtual Machine o Emulatori per avere la sensazione che questo accada.
Quando AfaOne dice che ci sono le versioni per AROS x6, OS4 e MOS credo che intenda che i sorgenti sono adeguati per i vari ambienti, Gui, processori diversi, e compilati di conseguenza. Sicuramente una parte di sorgente sarà identica con chiamate alle varie librerie diverse per SO/Hardware.
Non conosco Docker/Lazarus e penso che proverò a capirci qualcosa, mi sembra interessante. Grazie

SysAdmin Unix/Linux - fiero o folle possessore di un AmigaOne

Post inviati: 3220

Visulizza profilo Messaggio Personale
79.54.113.*** Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.107 Safari/537.36
Commento 22
VagaPPC 17 Dicembre 2020    17:01:31
In risposta a MassimoC
MassimoC


Quando AfaOne dice che ci sono le versioni per AROS x6, OS4 e MOS credo che intenda che i sorgenti sono adeguati per i vari ambienti, Gui, processori diversi, e compilati di conseguenza. Sicuramente una parte di sorgente sarà identica con chiamate alle varie librerie diverse per SO/Hardware.
Non conosco Docker/Lazarus e penso che proverò a capirci qualcosa, mi sembra interessante. Grazie



È un po che privatamente sto dietro a questo problema.
Inizialmente pensai a Python, che tra i linguaggi ad alto livello citati è sicuramente il top.
Purtroppo tutti i porting per Amiga e NG nella stdlib mancano le TK, ovvero la possibilità di creare delle GUI, ho visto solo per morphos le pyMUI, ma se provo a seguire il tutorial sul sito dell'autore anche con il copia e incolla non funziona, non dice nulla riguardo alle differenze delle uniche due versioni scaricabili.
Le classi C, specie quelle di amiga hanno una logica leggermente diversa da quelle python, ma googlando qua e la si risolve facilmente la maggior parte dei problemi, per lo meno sotto linux. Ma Amiga ha una logica tutta sua delle classi e non ci ho capito una mazza.
Dovrei quindi studiare il C di amiga per capire la logica per poi riprenderla su Amiga. Il che è assurdo.
Le altre classi che ho utilizzato funzionano alla grande, questo lo rende un ottimo prodotto, ma amiga è un computer desktop quindi scrivere senza gui lascia pochi orizzonti.
Sotto linux uso qtdesigner, genero un file e importo la classe, importo le pyqt e il mio programma gira allegramente sotto linux, mac e windows (in questo caso lo compilo con py3exe). Ma ovviamente non su Amiga.

Successivamente ho preso in esame LUA, in effetti è semplice come python, un po meno potente, ma ha una classe MUI se non erro su tutti gli amiga.
Questo porterebbe a poter scrivere su tutte le piattaforme. Al massimo usando codice misto.
Ma anche in questo caso se vogliamo supportare tutti gli Amiga, allora dobbiamo rinunciare a qualche classe.
I punti di forza è che questo modo di lavorare permette comunque di sfruttare l'esperienza anche in ambito lavorativo.

Ultimamente ho scoperto FPC e Lazarus, in effetti scrivere direttamente da Amiga o NG con FPC è un po bruttino, quell'interfaccia stile MSDOS è come un pugno in un occhio. Rimane però il compilatore.

Lazarus è la soluzione più facile, ha il difetto che non gira su amiga (forse si può tentare una compilazione su Aros). Se hai mai provato a programmare in visual basic o meglio gambas, ti troverai a casa. Il più delle cose le fai a suon di mouse.
Il difetto che Lazarus gira solo su Mac (forse anche PPC), windows e Linux. Ma anche qui non è tutto rose e fiori, il cross compiling verso Amiga non è facile da implementare. Ci viene incontro ALB42, che lavora dietro il progetto Lazarus, rilasciando una VM leggera preconfezionata con la versione 1.7 e recentemente una docker.
Di fatto le potenzialità sono identiche perché molti elementi grafici non sono implementati da Amiga.
A parte questo puoi allegramente disegnarti a mouse una finestra, aggiungere pulsanti e con un doppio click scrivere solo la parte di codice relativa al pulsante. Dopo di che puoi provarlo e compilarlo per i vari Amiga. Offre anche compilazioni con diverso tipo di ottimizzazione -O 0,1,2,3,4 e anche la compilazione per occupare poco spazio su disco.
Se sei interessato io mck e flash stiamo facendo un gruppo di studio per Lazarus, se vuoi scrivi in MP a mck e ti aggiungiamo.

Oppure ci possiamo organizzare diversamente su questo forum dove ognuno mette giù le proprie esperienze dividendo i vari linguaggi

WorkStation: Amiga x5000 AOS4.1 - MorphOS MiniMac - Vampire V4 - PC AMD Ryzen 9 7950X3D 64Gb RAM 5Ghz

Old System Amiga 500,1200, A4000/60 PowerPPC, CybervisionPPC, SUN Ultra5, PowerMAC G4 450Mhz 1Gb

Post inviati: 4139

Visulizza profilo Messaggio Personale
151.33.116.*** Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Commento 23
Mck 17 Dicembre 2020    17:10:48
Cerchiamo di restare in tema:
Linguaggio LUA
Piccoli confronti con altri linguaggi non devono diventare post interi e ripetuti.
Grazie.

I MIEI AMIGA

4000T OS 3.9 PPC/68060 + CyberVisio 64/3D + HD 20g + DVD - 4000D in Tower OS 3.9 PPC/68060 Ram 128M + ram scheda 2+16M + zip 100M + Ide HD 40G + usb Deneb + V-Lab + Toccata + Mediator con: Woodoo 3 + Scheda rete + Impact Vision 24 - 4000D OS 3.9 68060 ram 32m + ram scheda 2+16M + HD 20g + zip 100 ide + DVD + V-lab + Seriale veloce + Scheda video EGS- 3000T OS 3.9 PPC/68060 128M + HD scsi 10G + Usb Deneb + CD sCSI + mediator con: scheda rete + controllo SCSI Adaptec + scheda audio + Voodoo 5 - 3000 OS 3.1 68040 + emulatore pc 286 - 2000 processore 68030 + genlock + espansione ram + emulatore pc 8080 - 1200 Tower OS 3.9 PPC/68060 + HD 20G + Mediator con: scheda rete - 1200 OS 3.1 68060 + HD 20G + Scheda rete pcmcia - 1000 espansione Ram 4M - 600 con espansione ram + HD5G - 500 Plus con espansione ram - 500 con espansione ram - CDTV - CD32

CLONI AMIGA

Sam440ep-Flex OS 4.1 - EFIKA MorphOS 2.6

Pagine: -1- [2] -

Utenti Online
Utenti registrati: 1206 dal 1 Gennaio 2006
di cui online: 1 registrati - AfAOne -
61 non registrati

Benvenuto all'ultimo utente registrato: zulu

Buon Compleanno a mastergoblin - pirata75 - Skorpjone - 

© Amigapage 1998 - 2007 - Sito italiano dedicato alla piattaforma Amiga ed evoluzioni varie.
Struttura del sito interamente ideata e realizzata da Marco Lovera e Alessandra Lovera - Tutto il materiale inserito all'interno del sito è dei rispettivi autori/creatori.
E' assolutamente vietata la riproduzione o la manipolazione di tutti i contenuti o parte di essi senza l'esplicito consenso degli amministratori e degli autori/creatori.

Eseguito in 0.16756701469421 secondi