| encouragement | |
|
|
Auteur | Message |
---|
flnh
Nombre de messages : 9 Localisation : metz 57 Date d'inscription : 01/04/2008
| Sujet: encouragement Mar 1 Avr 2008 - 21:34 | |
| bonjour, je suis nouveau ... et j'ai découvert votre langage hier : panoramic je le trouve tout simplement bluffant ... car il est simple, efficace...etc... et je voudrait dire aussi que contrairement aux autres (sur d'autre forum) qui critiquent votre système de numérotation pour les objets et fenêtres je trouve ça super... alors je vous souhaite très bonne chance pour la suite en tout cas je vais suivre ça de très près et je vous encourage pour la suite !!! | |
|
| |
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: encouragement Mar 1 Avr 2008 - 22:01 | |
| Eh bien, merci pour ces encouragements.
PANORAMIC est un langage d'avenir, je continuerai à l'améliorer et à le soutenir. | |
|
| |
flnh
Nombre de messages : 9 Localisation : metz 57 Date d'inscription : 01/04/2008
| Sujet: Re: encouragement Mar 1 Avr 2008 - 22:13 | |
| mais de rien ça me fait plaisir de vous encourager d'ailleurs j'ai une question à vous poser ... comment faite vous pour programmer un langage... en assembleur ? ou autre chose ?... c'est juste pour savoir pour l'instant je me contente de programmer pour le plaisir (en "langage haut niveau") mais ça me plairait de savoir comment vous faite ... merçi | |
|
| |
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: encouragement Jeu 3 Avr 2008 - 8:09 | |
| PANORAMIC est codé de manière classique, avec une recherche lexicale, syntaxique, sémantique dans le source, puis des phases de génération et d'exécution. Il y a des controles durant ces phases et dès qu'une erreur est détectée, il envoie un message d'erreur. Il y a quelques modules en assembleur, mais le plus gros en codé en langage évolué et fait faisant appel aux API de Windows pour toute la partie graphique (objets, etc).
Voici en gros son principe de fonctionnement pour la simple ligne codée en ASCII a=1, - il va regarder si elle est correcte, (pas de caractères illégaux) - s'il n'y a pas des mots inconnus, (venant de fautes de frappe), - il va voir qu'il y a un signe "=", donc qu'il s'agit d'une affectation, - il teste si a est un nom de variable syntaxiquement correct, (commence par une lettre et pas d'espace dans le nom) - si elle a bien été déclaré (par dim a), c'est à dire si il y a de la place mémoire qui lui a été réservé et qui s'appelle "a", - si il n'y a qu'un nom de variable à gauche du signe "=", (et non pas une expression) - si le texte "1" du source (qui est en ASCII) peut être converti en la valeur "1", - si le type de la variable (un réel) est bien compatible de l'affectation (si la variable peut recevoir la valeur 1), etc, etc, puis il génère un code qui remplace le texte "a=1" par quelque chose comme "mettre la valeur 1 dans l'espace qui a été réservé pour la variable a", et c'est ce code (Pcode) qui est ensuite exécuté.
PANORAMIC fait actuellement environ 54000 lignes de source (y compris les commentaires).
PANORAMIC est intégré à l'IDE et à l'EDITOR et il est lancé par eux. Il communique avec eux par la messagerie Windows (send_message et post_message) pour recevoir le code source et indiquer les erreurs, pour que ceux-ci puissent marquer en rouge la ligne incriminée, ou pour s'arrêter (bouton STOP).
Dernière édition par panoramic le Sam 25 Avr 2009 - 9:07, édité 1 fois | |
|
| |
flnh
Nombre de messages : 9 Localisation : metz 57 Date d'inscription : 01/04/2008
| Sujet: Re: encouragement Jeu 3 Avr 2008 - 16:57 | |
| ok, merci... ça c'est du boulot... et le mieux c'est que tu le fais pendant ton temps libre franchement je suis impressionner et j'aurais aussi 2 autres question : -la première: est ce que tu vas rendre panoramic multiplateforme (je crois que l'on dit comme ça corrige moi si c'est pas ça ) sur linux par exemple... même si je pense que ce sera du travail... donc si tus le faite je suppose que ce sera quand ce sera finit (du moins bien bien avancer sous windows) -la deuxième: est ce que tu a suivit des cours ? de programmation ou tu appris pendant ton temps libre ? merci... | |
|
| |
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: encouragement Jeu 3 Avr 2008 - 20:59 | |
| J'ai une version particulière de PANORAMIC qui tourne sous Linux et qui a pratiquement les mêmes mots-clé que la version Windows. Mais c'est une version de travail qui exécute directement un fichier source fait sous un éditeur. Mais l'IDE et l'EDITOR n'ont pas actuellement leur équivalent sous Linux car pour les porter sous Linux, il faut que je repense tout le dialogue entre ces logiciels et PANORAMIC: le dialogue actuel est spécifique de Windows, et c'est cet aspect qui me freine un peu.
Mais, si Linux continue sa progression et devient un système plus répandu, je sortirai une version Linux.
J'ai commencé ma carrière professionnelle comme un "pro" de l'informatique: j'ai contribué au développement du logiciel d'un système militaire tactique qui tourne sur des frégates. Aujourd'hui, je ne programme plus car j'ai d'autres fonctions (toujours dans le militaire et toujours pour la Marine) mais j'ai gardé ma joie de programmer et de donner "vie" à quelques lignes tapées sur un clavier. Mon premier programme qui a réellement été utilisé était le tracé sur un écran de console tactique d'une figure de tir d'un missile, et le source, en assembleur Perkin-Elmer, était sur des cartes perforées. C'était il y a 27 ans ...
Dernière édition par panoramic le Sam 25 Avr 2009 - 9:09, édité 2 fois | |
|
| |
flnh
Nombre de messages : 9 Localisation : metz 57 Date d'inscription : 01/04/2008
| Sujet: Re: encouragement Jeu 3 Avr 2008 - 21:10 | |
| ok, merci de t'est réponses ... c'est dommage que panoramic ne soit pas beaucoup connu (bien qu'il commence a se faire connaitre) parce que c'est un bon outil... au fait ... tu mas pas répondu si tu avais fais des études de programmations ou appris par toi même ? | |
|
| |
flnh
Nombre de messages : 9 Localisation : metz 57 Date d'inscription : 01/04/2008
| Sujet: Re: encouragement Jeu 3 Avr 2008 - 21:13 | |
| oups excuse moi j'avais pas vu la fin de ton message désoler... (sur ta carrière professionnelle)... j'ai une question...ou plutôt 2 -est ce que il y a un timer sous panoramic ? (tout les tant de millisecondes aller a tel endroit et executer ...) -est ce que il y a une fonction pour savoir si un objet 2d ou 3d en touche un autre ? merçi | |
|
| |
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: encouragement Jeu 3 Avr 2008 - 21:18 | |
| Je n'ai pas vraiment fait d'étude d'informatique, j'ai un diplome d'ingénieur chimiste (ENSCL promotion 1980), j'ai eu une formation de quelques mois en programmation lorsque j'ai été embauché par mon employeur (qui est d'ailleurs toujours le même).
J'ai juste une passion dévorante pour l'informatique et la programmation en particulier. J'ai une bibliothèque de plusieurs centaines de bouquins sur la programmation...
J'ai pour but de rendre facile la programmation et de la mettre à la portée de tous. | |
|
| |
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: encouragement Jeu 3 Avr 2008 - 21:28 | |
| Il n'y a pas de TIMER actuellement et j'ai l'intention d'en mettre. Ce serait un objet invisible (comme les OPEN_DIALOG, SAVE_DIALOG, MAIN_MENU, DLIST, ...) et on lui associerait un label, un intervalle (en millisecondes comme les millisecondes du WAIT). Toutes les intervalle millisecondes, il exécuterait le sous-programme commençant par label J'imagine déjà la syntaxe: - pour créer un timer de numéro N et de label L TIMER N,L - pour modifier sa période, qui serait par exemple de 1000 ms par défaut: TIMER_INTERVAL N,T
Il n'y a pas non plus de fonction de collision pour les SPRITE ou pour les objets 3D. C'est théoriquement possible, mais je n'ai plus rien codé pour la 2D ou 3D depuis longtemps, car jamais personne ne m'a demandé quelque chose dans ces domaines. Je pensais que cela n'intéressait pas grand monde. | |
|
| |
flnh
Nombre de messages : 9 Localisation : metz 57 Date d'inscription : 01/04/2008
| Sujet: Re: encouragement Jeu 3 Avr 2008 - 21:51 | |
| moi en fait en ce moment j'aime bien coder des petits jeu ou des choses comme ça ... donc c'est pour ça que je me renseigne sur les timer et les collisions... et j'ai aussi réfléchit... je pense que beaucoup de personnes qui sont sous linux programment (bien que sous windows aussis )et comme panoramic est simple et efficace ça pourrait intéresser beaucoup de développeurs linuxiens tu devrait faire un sondage sur le forum (je sais pas si il le permet)pour savoir ce que les gens en pensent... (je n'aime pas influencer les gens donc si tu ne veux pas ne le fait pas) et aussi... je ne sais pas si c'est vrai mais aparament le prochain successeur de windows aura comme noyau unix ... | |
|
| |
bleunounet
Nombre de messages : 150 Date d'inscription : 26/10/2007
| Sujet: timer Ven 4 Avr 2008 - 10:43 | |
| bonjour a tous je voies que je suis pas le seul a avoir demander un timer chouette j'attend avec impatience car j'en ai besoin moi aussi passer une bonne journée et longue vie au langage panoramic et bonne continuation | |
|
| |
flnh
Nombre de messages : 9 Localisation : metz 57 Date d'inscription : 01/04/2008
| Sujet: Re: encouragement Ven 4 Avr 2008 - 21:15 | |
| oui moi aussi je l'attend je pense que le timer est très important mais... j'aimerais bien avoir un outil pour savoir si un objet est en train de toucher un autre objet parce que dans les jeux c'est important... | |
|
| |
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: encouragement Ven 4 Avr 2008 - 22:02 | |
| OK. Devant la demande générale, je vais me mettre à coder un TIMER et des fonctions pour gérer les collisions... quand j'aurai terminé les modifications en cours (transformer l'ensemble du source en Pcode avant l'exécution, et non plus au fur et à mesure de l'exécution, et la structure SELECT, CASE, END_SELECT).
Pour utiliser un TIMER, l'exécution se doit d'être rapide. Et elle ne le sera que lorsque la première modification (Pcode) sera achevée.
Pour gérer les collisions en 3D, il y a du travail, car le système 3D que j'utilise est OpenGl, et il ne gère pas les collisions en natif... Utiliser son concurrent DirectX ou d'autres bibliothèques 3D (Ogre ou Irrlicht) est un sacré travail... | |
|
| |
bleunounet
Nombre de messages : 150 Date d'inscription : 26/10/2007
| Sujet: Re: encouragement Sam 5 Avr 2008 - 9:39 | |
| bonjour panoramic merci d'accepter notre demande nous savons que vous fournissez un gros travail mais je suis sur que se langage fera fureur dans les mois et années a venir car il et accessible a toute personne voulant debuter mais parfdait aussi pour les plus expérimenté et pour ceci je vous félicite passer un bon week end panoramic aurevoir et aurevoir a tous | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: encouragement Sam 5 Avr 2008 - 14:44 | |
| Ca veut dire que jusqu'ici le code était interprété au fur et à mesure de l'exécution, et que par la suite il sera compilé avant exécution ? Effectivement, on risque de gagner beaucoup en rapidité, bien qu'avec les machines rapides de maintenant ce soit moins crucial qu'autrefois (en Basic par exemple). Est-ce que ça veut dire également que le programme exécutable généré (EXE) sera moins volumineux ? | |
|
| |
flnh
Nombre de messages : 9 Localisation : metz 57 Date d'inscription : 01/04/2008
| |
| |
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: encouragement Dim 6 Avr 2008 - 18:39 | |
| Oui, on peut dire que le code était interprété car lors du lancement (RUN) chaque ligne était analysée, traduite et exécutée. Avec un bémol: le source était balayé entièrement avant l'exécution pour y repérer les boucles FOR/NEXT, REPEAT/UNTIL et WHILE/END_WHILE ainsi que les IF/END_IF, afin de déterminer exactement les endroits où il fallait se brancher soit pour reboucler, soit pour sortir de la boucle, soit pour aller après un END_IF si la condition du IF n'était pas remplie.
Dans une prochaine version, le source sera complètement analysé, les variables auront un espace mémoire réservé, et chaque commande et chaque expression seront transformées en un code intermédiaire exécutable. Puis, c'est ce code qui sera exécuté. Il y aura donc un gain de temps, celui de l'analyse des lignes du source et des tests effectués pour la détection des erreurs lexicales et syntaxiques: les fautes de frappe, les oublis de fermeture de parenthèse, etc, tout cela sera détecté AVANT l'exécution. Il ne restera que les erreurs dues à l'exécution elle-même, par exemple si un numéro d'objet est calculé et que le calcul donne un numéro d'objet inexistant, il y aura une erreur, et cette erreur n'est absolument pas décelable à la lecture du source, mais uniquement à l'exécution.
Cela ne veut pas dire non plus langage "compilé" car pour le moment, c'est un langage intermédiaire qui est exécuté. Un jour, PANORAMIC sera peut-être un "véritable" compilateur, mais il faudra pour cela qu'il soit plus figé qu'aujourd'hui (que j'ai choisi une bibliothèque 3D, par exemple et que je n'en change plus). Donc le code généré devrait se réduire, mais pas de façon significative. Je ne suis pas non plus persuadé que s'il devenait un "véritable" compilateur, on y gagnerait beaucoup en performance. Or c'est cela le plus important. Je n'ai pas envie de passer plusieurs mois de travail pour en définitive ne gagner que quelques pourcents en vitesse d'exécution!
Je préfère coder des mots-clés utiles plutôt que de gagner en vitesse, vitesse qui sera gagnée de toute façon automatiquement par l'augmentation de vitesse des microprocesseurs, des bus des cartes-mères dans les années futures. | |
|
| |
flnh
Nombre de messages : 9 Localisation : metz 57 Date d'inscription : 01/04/2008
| Sujet: Re: encouragement Dim 6 Avr 2008 - 20:50 | |
| ok, merci pour ces informations panoramic... | |
|
| |
lutcho74
Nombre de messages : 139 Age : 30 Date d'inscription : 21/11/2008
| Sujet: Re: encouragement Mar 2 Déc 2008 - 21:49 | |
| excusez moi pour cette question qui peut paraitre "bête" mais qu'est un TIMER ? ? Merci de me répondre | |
|
| |
lagman
Nombre de messages : 205 Age : 32 Localisation : France Date d'inscription : 07/05/2008
| Sujet: Re: encouragement Mar 2 Déc 2008 - 22:12 | |
| - panoramic a écrit:
- Il n'y a pas de TIMER actuellement et j'ai l'intention d'en mettre. Ce serait un objet invisible (comme les OPEN_DIALOG, SAVE_DIALOG, MAIN_MENU, DLIST, ...) et on lui associerait un label, un intervalle (en millisecondes comme les millisecondes du WAIT).
En bref un objet qui permetraias l'execution d'une tache sur un laps de temps donnée (pas que mais dur a expliquer ^^) | |
|
| |
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: encouragement Mar 2 Déc 2008 - 22:33 | |
| Tout à fait, un TIMER est un objet qui déclenche l'exécution d'un sous-programme (qui, je le rappelle au passage, commence par un label et se termine par un return), à intervalle régulier. Cet intervalle est de 1000 millisecondes (soit 1 seconde par défaut) mais est modifiable. Exemple de code: - Code:
-
label bip
timer 1 on_timer 1,bip timer_interval 1,250 end
bip: beep return A l'exécution, on a une agaçante succession de bips sonores (il y a un bip toutes les 250 ms, soit 4 bips par secondes) Encore une chose: le TIMER peut être désactivé par TIMER_OFF 1 (c'est à dire que l'exécution du sous-programme n'existe plus) puis réactivé par TIMER_ON 1 (c'est à dire que l'exécution du sous-programme s'effectue à nouveau)
Dernière édition par panoramic le Sam 25 Avr 2009 - 9:13, édité 1 fois | |
|
| |
lutcho74
Nombre de messages : 139 Age : 30 Date d'inscription : 21/11/2008
| Sujet: Re: encouragement Mar 2 Déc 2008 - 22:38 | |
| Merci pour cette explication...
Est ce normale que quand je le passe en "Run" il me mette une erreur sur TIMER 1 serai ce parce que vous ne l'avez toujours pas ajouté ou que j'ai une mauvaise version de panoramic? | |
|
| |
lagman
Nombre de messages : 205 Age : 32 Localisation : France Date d'inscription : 07/05/2008
| Sujet: Re: encouragement Mar 2 Déc 2008 - 22:43 | |
| Ouais t'a tout compris ^^ | |
|
| |
Contenu sponsorisé
| Sujet: Re: encouragement | |
| |
|
| |
| encouragement | |
|