π
<-
Chat plein-écran
[^]

Nouveau langage de programmation oncalc

Nouveautés, projets, mises à jour.

Nouveau langage de programmation oncalc

Message non lude newprog » 28 Nov 2012, 01:06

Bonjour,

Je voudrais avoir vos avis sur une idée de projet.

En effet, je me pose la question de savoir si un nouveau langage de programmation, alternatif au lua, et programmable oncalc directement dans l'éditeur de programme ne serait pas la bienvenue.
Ce langage serait plus concis que le lua et se rapprocherait à mon avis fortement au Newprog v1.0 déjà existant sur ti68k (j'en suis moi même l'auteur).

Pensez vous qu'il soit possible de faire un langage beaucoup plus rapide que le lua, tout en restant évidemment plus lent que le C, à fonctionnalités équivalentes ? La question peut paraître incongrue mais je n'ai jamais programmé en lua donc je ne sais pas si ce langage est lent en comparaison au C.

Je pense avoir les connaissances nécessaires pour développer un tel projet, il me faudra juste trouver le temps...

Je ne souhaite m'investir que si le nombre d'utilisateurs potentiels est conséquent alors n'hésitez pas à répondre.
Avatar de l’utilisateur
newprog
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 84%
 
Messages: 15
Inscription: 28 Nov 2012, 00:48
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Un peu trop vieux pour l'avouer

Re: Nouveau langage de programmation oncalc

Message non lude Levak » 28 Nov 2012, 02:40

Salut,

Le Lua est très rapide sur Nspire sauf qu'on fera souvent cette comparaison avec le Nspire-Basic. En effet comparer un langage interprété et un langage compilé n'a pas de sens.

Après une analyse poussée des routines implémentées pour communiquer avec le "kernel" Nspire, on se rend compte que les instructions graphiques (qu'on pourrait qualifier de lentes des fois) sont directement les même que celles que l'OS utilise. Ces mêmes fonctions sont légèrement complexes et velues, et c'est normal du point de vue de la personne qui a programmé cette API, pensant à une API au niveau avec des systèmes de pinceaux, couleurs etc ... Donc comparer un programme Lua et une fonctionnalité de l'OS revient donc à exactement la même vitesse de dessin (je ne parle pas de la vitesse de traitement qui peut être plus rapide sur des tableaux que sur les hashtables du Lua).

En C, on fera beaucoup plus rapide mais avec plus d'effort, ça, je pense que tu en es conscient. Là où c'est difficile de penser qu'on puisse faire mieux que le Lua c'est que ce même langage est fait pour tourner sur des plateformes embarquées tout en restant un langage très simple, évolutif et introspectif. Il est donc, je pense, très difficile de faire mieux que le Lua sur tous les points tout en restant en interprété.

Ensuite, tu parles d'un éditeur On-calc : oui, c'est ce qui manque sur Nspire : un éditeur léger et fonctionnel Lua. A mon avis ton projet s'axera plus sur cela plutôt que de porter un nouveau langage interprété qui, je pense, n'aura pas de succès car Lua est intégré à l'OS : ceci veut donc dire qu'il est possible de partager des fenêtres, variables etc ... avec le classeur, chose qui ne sera pas possible avec un nouveau langage interprété qui viendrait avec ses bagages tous faits (pardonne moi l'expression).
La question est donc, en quel langage faire cet éditeur ?
Il existe déjà :
* oclua : codé en Lua, utilise l'éditeur mathématique (ou autre) comme buffer de code, une fois que l'on veut le lancer, il faut copier le code et le coller dans la fenêtre oclua.
* LuaCS : codé en Lua, conçu pour être un éditeur/launcher complet en fournissant un éditeur codé en Lua et utilisant oclua pour lancer le programme; non achevé.

Si tu veux axer performances et faisabilités (raccourcis etc ...) il serait judicieux de se taper l'éditeur en C, et d'utiliser luna pour produire le TNS (je parle bien de oncalc, oui, à voir si luna peut se compiler pour Ndless, ça serait très intéressant de savoir. A la limite, on peut utiliser les syscalls que Lua utiliser pour serialiser le document).
Si tu veux axer ouvertures et simplicité, reprendre l'idée de LuaCS, coder en Lua.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: Nouveau langage de programmation oncalc

Message non lude Lionel Debroux » 28 Nov 2012, 07:52

Tiens, newprog :)
NewProg aurait mérité plus de succès sur TI-68k; mais il est arrivé un peu tard, et puis tout ce qui n'était pas C/ASM avait un adversaire qui était puissant (à l'époque)...
Au fait: Stefan Bauwens, sur Omnimaga, cherchait récemment à te joindre ;)


TI fait tout pour qu'il soit difficile de faire autre chose que leur sous-merde de BASIC (qui ne sait même pas lire le clavier et écrire des pixels à l'écran, ce que la 81 d'il y a plus de 20 ans savait faire) ou leur Lua propriétaire (qui ne sait même pas lire et écrire des fichiers, entre autres manques). "Autre chose" serait probablement implémenté en C/ASM et compilé en code natif, qui est loin d'être accessible en permanence sur Nspire...
Je suis donc assez d'accord avec Levak, un bon éditeur on-calc de Lua (achevé) serait intéressant.
Pour faire de la programmation, il y a plein d'autres plate-formes moins chères, plus puissantes et plus ouvertes, même si peu sont aussi emportables que les calculatrices.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Nouveau langage de programmation oncalc

Message non lude AlexRider38 » 28 Nov 2012, 13:39

Tout a fait d'accord. Je pense que si tu fait cet "IDE" tout le monde t'en sera reconnaissant (sauf TI, mais là c'est une autre histoire).
Donald Knuth a écrit:
Beware of bugs in the above code; I have only proved it correct, not tried it.
Avatar de l’utilisateur
AlexRider38Généreux
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 68.5%
 
Messages: 650
Images: 0
Inscription: 03 Nov 2010, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Nouveau langage de programmation oncalc

Message non lude newprog » 28 Nov 2012, 14:36

Merci pour vos réponses et conseils.

Je note que développer un nouveau langage oncalc serait vain, vous me faites donc gagner du temps en me prévenant à l'avance et je vous en remercie.

Je vais voir pour développer un nouvel IDE lua oncalc. Pour être franc, réaliser un tel projet me motive moins.

Encore merci
Avatar de l’utilisateur
newprog
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 84%
 
Messages: 15
Inscription: 28 Nov 2012, 00:48
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Un peu trop vieux pour l'avouer

Re: Nouveau langage de programmation oncalc

Message non lude Lionel Debroux » 28 Nov 2012, 14:46

Je vais voir pour développer un nouvel IDE lua oncalc. Pour être franc, réaliser un tel projet me motive moins.

Je comprends, mais si tu développes au-dessus de Lua, ça n'ira pas vite, et si tu développes pour le code et natif, ton programme ne sera utilisable qu'à temps partiel...
Peut-être que l'arrivée de Linux sur la plate-forme va réduire, indirectement, le désintérêt des programmeurs pour la plate-forme Nspire, mais je ne parierais pas là-dessus.

(indirectement = par le fait qu'à cause de la protection anti-downgrade, dont personne ne croit qu'elle continuera à autoriser le retour à l'OS 3.1, il faudra obtenir l'exécution de code arbitraire sur les OS 3.2 et ultérieurs pour pouvoir accéder à Linux; et donc, efforts de reverse-engineering et de portage)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Nouveau langage de programmation oncalc

Message non lude newprog » 07 Jan 2013, 17:18

Je déterre le topic... En effet, après avoir pu essayé le lua, je me rends compte qu'il est par exemple impossible de lire le clavier sans attendre un certain délai (non reprogrammable). Cela me parait être un inconvénient majeur pour la programmation de certains jeux pas si évolués que ça. D'où pour moi l'intérêt d'une langage alternatif.
Par ailleurs, il me semble qu'il ne soit possible de dessiner à l'écran que dans la fonction on.paint() ce qui pour moi limite les possibilités (même si cela apporte des avantages sur d'autres niveaux).
Je sais que ndless n'est pas garanti d'être disponible tout le temps mais je pense qu'un langage alternatif serait tout de même le bienvenu.
Avatar de l’utilisateur
newprog
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 84%
 
Messages: 15
Inscription: 28 Nov 2012, 00:48
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Un peu trop vieux pour l'avouer

Re: Nouveau langage de programmation oncalc

Message non lude Excale » 07 Jan 2013, 17:26

Idée numéro 2 (lancée "comme ça", je n'y ait pas trop réfléchi): utiliser les extensions lua proposées par ndless pour faire une librairie lua qui comble les problèmes que tu soulèves.

(PS: Même si je pense que les deux problèmes en question peuvent être en partie résolus, avec un peu d'astuce. Les experts du lua t'en diront plus que moi).
Avatar de l’utilisateur
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 3.9%
 
Messages: 2955
Images: 3
Inscription: 10 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Nouveau langage de programmation oncalc

Message non lude newprog » 07 Jan 2013, 18:13

Merci Excale pour ton idée. J'avais oublié qu'un exemple était fourni avec ndless. Seulement je n'arrive pas à faire fonctionner cet exemple. En effet, je transferts sur ma nspire runluaextdemo et luaextdemo et lance runluaextdemo : aucun message "hello" ne s'affiche. Peut être que je m'y prends mal.

HELP !
Avatar de l’utilisateur
newprog
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 84%
 
Messages: 15
Inscription: 28 Nov 2012, 00:48
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Un peu trop vieux pour l'avouer

Re: Nouveau langage de programmation oncalc

Message non lude Excale » 07 Jan 2013, 18:46

Ça affiche hello sur le port série. Autrement dit, ça écrit "hello" via le connecteur en bas de ta nspire, ou bien ça écrit hello dans la console de l'émulateur.
Avatar de l’utilisateur
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 3.9%
 
Messages: 2955
Images: 3
Inscription: 10 Sep 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile

Suivante

Retourner vers Actualités

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 13 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1439 utilisateurs:
>1401 invités
>33 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)