In passato, a volte la programmazione è stata eseguita direttamente su dispositivi portatili. Ad esempio, sugli organizzatori di Psion, la programmazione OPL veniva spesso eseguita sul dispositivo. Il periodo di grande successo di Psions si è concluso quando hanno deciso che non volevano i clienti un po 'di tempo verso la fine degli anni '90, quindi non stiamo parlando di un dispositivo potente secondo gli standard odierni.
OPL era un linguaggio interpretato, probabilmente nella famiglia Basic strutturata.
Tuttavia, se fossi più serio, l'SDK C ++ per Psion è stato eseguito su un PC, con il file binario compilato quindi trasferito sul dispositivo.
Lì c'erano alcuni compilatori di terze parti (hobbisti?) che giravano direttamente su un Psion, e sono abbastanza sicuro di avere un interprete Python in esecuzione sulla mia serie 5 a un certo punto.
In generale, però, non è una cosa molto pratica da fare. Lo schermo non mostra molto codice e la tastiera (se presente) non è realmente all'altezza del lavoro. Un netbook sembra la piattaforma minima per il momento che consentirebbe lo sviluppo di progetti significativi.
Molti programmatori insistono sul fatto che un singolo monitor non è sufficiente, anche un grande monitor. Sono abbastanza felice con un solo monitor 1080p, ma tornare a uno schermo con una risoluzione VGA 640x480 originale o inferiore non è una prospettiva allettante.
Non sono a conoscenza di alcuna ricerca per rendere più pratica la programmazione su una piattaforma mobile. Ci sono tastiere per proiettori e schermi per proiettori IIRC, ma entrambi sono poco pratici e non sono adatti alla programmazione. Un linguaggio appositamente progettato potrebbe avere un senso, ma è comunque possibile inserire solo tante informazioni leggibili su uno schermo piccolo, e se BF è il tuo modello per adattarsi meglio alla programmazione mobile - beh, quel linguaggio non è mai stato pensato per essere pratico per qualsiasi scopo.
Un fattore da tenere in considerazione: la stragrande maggioranza delle nuove lingue non raggiunge mai un successo.
Un dialetto Lisp ha probabilmente bisogno di un numero minore di simboli di punteggiatura rispetto alla maggior parte delle lingue: le parentesi esageratamente stupide sono le più ovvie e le virgolette posteriori sono probabilmente le più difficili di un telefono. Può minimizzare (ma non eliminare) i problemi della tastiera, e forse altri problemi possono essere tollerati - ma ho i miei dubbi.
Se vuoi provarlo tu stesso, non è mai stato più semplice progettare una lingua e scrivere un compilatore per questo. Ci sono tutti i soliti strumenti per scanner e parser, naturalmente - ad es. flex, ragel, bisonte, byacc. Ci sono strumenti per lavorare con gli AST (treecc - anche se devo ammettere che ho finito per scrivere il mio) e ci sono sistemi di generazione di back-end come LLVM o Parrot. O, naturalmente, l'approccio popolare dell'utilizzo di una piattaforma di macchine virtuali esistente come JVM o .NET.
LLVM supporta anche più piattaforme di destinazione: non so se questo include telefoni, ma credo che ci sia un modo per scegliere come target .NET o JVM usando LLVM.