Aide - Recherche - Membres - Calendrier
Version complète : Cws Est Mort, Vive Le Suivant
La Communauté TitaXium > Service Communication > Espace Détente Communautaire
Antoine_935
D'abord, je vais expliquer pourquoi j'ai du abandonner Cws.
Ensuite je vous présenterai le prochain langage.

Dans le millieux professionnel, 75% des projets qui échouent n'ont pas fonctionné car il y avait eu un manque d'analyse du problème.
Il s'est passé la meme chose avec Cws. Je n'ai fait aucune analyse et ai commencé à taper du code directement, n'ayant jamais vraiment compris l'importance d'une analyse.
C'est quand j'ai pensé à implémenter les boules et les fonctions utilisateurs qu'un problème s'est posé:
pas moyen de faire des break; continue ou return de manière performante et efficace... Embêtant !
J'ai cherché bon nombre de moyens différents, mais tous montraient une faiblesse majeure.
C'est pour cette raison que j'ai abandonné Cws.
Mais il n'aura pas été perdu: les structures d'analyse de base sont correctes et efficaces, et je sais comment interpréter un langage à présent. Il aura en réalité servi de brouillon, bon gré mal gré.

Voila maintenant la présentation de mon prochain langage.

Le nom: à définir (j'avais pensé à ioon, Aligator, Lizard, mais bof...)
type: précompilé puis interprété, pourra sans doute aussi etre compilé en langage machine.

|u]Description[/u]

Ce sera un langage précompilé optimisé pour le web, mais capable d'effectuer toutes sortes d'opérations.
L'implémentation se fera dans un fichier HTML quelconque (ou quelque autre sorte de données texte que ce soit), et séparé de ce dernier HTML par des balises spécifiques. Les variables seront précédées du signe '$' et seront d'un type défini (int, long, string etc.). Les fonctions, elles, seront précédées de '@' et renverront une valeur de type défini.
Une fois écrit, le code source devra être précompilé afin de détecter les erreurs éventuelles et de générer un fichier rapidement intelligible par l'interpréteur.
Comme je l'ai dit plus haut, de par sa nature fortement typée (int, string), ce langage pourra peut-être être compilé en langage machine par après.


K20, j'ai vu que tu te portais à nouveau volontaire pour tester et pour la doc, je m'en réjouis car j'avais peur que tu ne sois déçu par cet arrêt brusque de Cws et que tu ne veuilles plus contribuer au prochain.
Fantome, la doc t'est toujours ouverte wink.gif
Quant à Eltasia qui m'a fait un design, il ne tombe pas aux oubliette, il sera utilisé pour le suivant, il me faudra juste un nouveau logo wink.gif


Voila, en gros, les raison de l'arrêt de Cws et les objectifs de mon nouveau projet.
Je vous mets ici un exmeple de ce que sera (peut-être) le code du nouveau langage.
Code
<#cws // à défaut d'avoir trouvé les nouvelles balises
using GET["id"], COOKIE["sessid"], GET["page"];
string $location = GET["id"], $sessid = COOKIE["sessid"], $msg;
// la manière de récupérer les variables get, post et cookie sera peut etre différente
if (!$location) {
   $msg = "No fle has been specified";
}
else {
   $msg = "The selected file is: " + $location;
}
#>
<div id="content">
Voici le classement des...
Gollum02
Rebonnechance je peut te tester des choses si tu veux,enfin si tu as besoin
Antoine_935
on a toujours besoin d'aide pour un gros projet, et la tienne sera la bienvenue également wink.gif
merci de ta proposition.
Eltasia
Citation (Antoine_935 @ mardi 21 mars 2006 à 12h11)
Quant à Eltasia qui m'a fait un design, il ne tombe pas aux oubliette, il sera utilisé pour le suivant, il me faudra juste un nouveau logo wink.gif


... ce sera quand vous voulez wink.gif
K20
Comme je te l'ai dit, je suis toujours partant pour tester ce nouveau langage et t'aider pour la doc, tient moi au courant wink.gif
BruBru
Mais pourquoi tu ne conserve pas le nom Cws ? Après tout, ton ancien projet n'était pas arrivé à un stade finale, donc on peut toujours envisager un remaniment totale sans pour autant changer le nom etc. Enfin moi je trouve que c'est dommage, car le nom était terrible, le logo fait par Eltasia aussi était sublime. Et plutôt que de se pencher sur un nouveau nom ou logo, tu ne seras concentré que sur ton code, ce qui n'est pas plus mal wink.gif
Antoine_935
je ne garde pas ce nom car le remaniement est très fort, et que ce sera un langage différent.
De plus, cela permettra à quelqu'un d'éventuellement le reprendre et le continuer, bien qu'il restera un langage de base.
Fantome
En ce moment je suis un peut pris mais tu peut compter sur moi pour la relecture de la doc. Enfin surtout pour le contenue car niveau orthographe faut pas compter sur moi.
Gollum02
Citation (Antoine_935 @ mardi 21 mars 2006 à 19h54)
on a toujours besoin d'aide pour un gros projet, et la tienne sera la bienvenue également wink.gif
merci de ta proposition.
*

ok des que t'a besoin fait moi signe :rolleyes:
Antoine_935
Pour le moment je suis en train de faire une analyse complète.
Je n'en suis qu'au début, je n'ai que deux pages de texte et trois schémas, mais je tiens à bien la faire pour que ce projet-ci ne tombe pas aux oubliettes.
Valinor4
Je te conseille d'en faire une Analyse Fonctionnelle avec la Méthode Réseau, cela t'aiderait à voir plus clair.

Valinor4
Antoine_935
euuuh...
sachant que ke n'ai que 17 ans et que je n'ai pas encore commencé les études supérieures...

peux-tu m'expliquer ce qu'est une "Analyse fonctionnelle avec la méthode réseau" ?
Valinor4
L'Analyse Fonctionnelle est utilisée par les ingénieurs afin d'évaluer un produit qu'ils souhaitent fabriquer. Il peut s'agir un produit réel ou bien d'un service.

Grâce à cette analyse, tu n'oublies rien et ton produit est béton.

Tape "Analyse Fonctionnelle" sous Google et regarde les méthodes utilisées. Il se peut que cela ne serve à rien mais cela ne peut pas faire de mal...

Xavier
Antoine_935
Pour me détendre un peu de l'analyse (c'est pas le plus amusant...), j'ai passé un peu de temps à faire ca:



Vous en pensez quoi ?
BruBru
Avec un bras ensanglanté qui sortirai de sa bouche ça irait mieu biggrin.gif
ED
Bon je vais essayer d'etre bref, un langage informatique peut paraitre très simple mais derrière il y a une théorie très compliqué.
Des méthodes d'analyse syntaxique etc...

Développer un langage c'est pas avoir un beau site, un joli logo et avoir un nom très "tendance", mais c'est surtout mettre en place des outils très perfectionner.

Concentre toi sur la théorie après si tu as besoin de site, design etc.. nous serons ravi de t'aider smile.gif
Antoine_935
Merci de l'aide que tu me propose d'ors et déjà (ça s'écrit comme ca ?)
Mais ne t'en fais pas, la technique sera à la hauteur, j'y bosse dur et j'y bosse fort. J'espère et je compte y implémenter les objets, et la vitesse sera nettement supérieure à celle de PHP vu que ce sera du précompilé.
Antoine_935
haaa, je pense être à la moitié de l'analyse de l'interpréteur.
Pas moins de 5 pages de texte condensé ainsi que 7 schémas, dont certains sont assez complexes.
Ca avance, en tout cas !

PS : vous pourrez toujours voir l'avancée du programme dans ma signature wink.gif
Fantome
Si ça te derange pas es ce que tu pouras faire voir t'es réflexion. J'aimerai bien voir ce que tu as fait.
Antoine_935
Si je dois tout poster ici ca risque de prendre de la place...
Bon, pour le moment ce sont des spécifications d'objectifs et des décompositions d'éléments compliqués en raisonnements simples.

En clair, pour le moment ca casse pas des barreaux de chaise... Mais à vrai dire je suis pas très "fan" à l'idée de montrer l'analyse pour une raison très simple: je suis parano, j'ai déjà eu des sales coups de plagiat, et je ne tiens pas à ce que ca recommence. Mais il y a ici en haut le principe de base de mon interpréteur

Désolé donc, et ne le prends surtout pas contre toi, car c'est un problème purement personnel...

EDIT: je mets le tout sous forme de PDF et je vous le passe, au diable la paranoia !
RE-EDIT: passez vos adresses mail wink.gif
K20
La mienne est dans mon profil wink.gif
(ne t'inquiète pas, il n'y aura que moi qui lirait et il restera bien au chaud sur mon dd ^^)

Et pour le nom donc tu as trouvé ?
Antoine_935
Je t'envoie ca juste après avoir posté ce message.
Oui j'ai trouvé le nom, j'ai eu quelques avis il est pas mal. (pas pire que Python en tout cas wink.gif ) QU'en penses-tu ?
K20
Alligator c'est ça ?

Moi j'aime beaucoup smile.gif
Mais ton avatar ne va pas trop avec tongue.gif
Antoine_935
Content que tu aimes bien
héhé, non, je sais mon avatar ne va pas, mais j'adore tous les reptiles. mais mes parents veulent aps que j'en aie à la maison. Bon, les crocos je comprends, mais meme pas de lézards...
K20
J'ai vu quelques trucs bizarre, je te les signale par MP ou ici ?
Antoine_935
ici, ca ira wink.gif
K20
Ok, alors tout d'abord c'est ta notions de pré-compilateur, compilateur puis interpréteur blink.gif

Je ne comprend pas bien le principe exact du pré-compilateur et compilateur ...

Ils feront quoi exactement ? Ils vont transformés ton code en un code lisible par l'interpréteur c'est ça ? Ou ça va être autre chose ?

Le langage que tu vas créer ça sera celui qui sera compilé ou celui qui sera interprété ?

De plus, même si le compilateur peut avoir un intérêt (que tu vas m'expliquer car tu remarquera que j'ai pas trop saisi ...) je ne vois pas l'intérêt du pré-compilatuer blink.gif
Tu vas pré-compiler puis compiler ? C'est ue sorte de double passage du compilateur c'est ça ? Comme pour LaTeX ^^

Sinon heu, je n'ai pas bien saisi tout ce qui est en bleu

Pour le byte tu as écrit que se sera un char huh.gif un char ctu as marqué que c'était 1 octet, ça fait bizarre je trouve ...

Pour les boucles, j'ai peut être mal compris mais tu ne comptes pas rassembler les 3 en une seule juste le while j'espère ? Car la boucle for a quand même son utilité wink.gif

Dernière chose : tes tableaux, quand tu parles de tableaux, je suppose que tu veux dire un vecteur à 2 dimensions ? Car si c'est le cas il faudrait mieux penser ça sous la forme d'un vecteur qui peut être un vecteur de vecteur qui forme un tableau (array of array)
Tu compte implémenter des tableaux statiques et dynamiques ou juste dynamiques ?
Car les 2 peuvent très utile notamment au point de vue mémoire (quoique dans un langage web je suis pas sûr ermm.gif )

Sinon quelques fautes d'ortho que j'ai trouvé vite fait :
Citation
Il faut donc trouver une méthode de
stockage des variables efficace.

Citation
dans un vecteur,
(raiment vite fait ...)

Si j'en ai trop idée sur ton langage, dit le moi j'éditerais au plus vite smile.gif

En tout cas, tout ceci me semble bien partit wink.gif et bien structuré !
Antoine_935
Citation (K20 @ lundi 27 mars 2006 à 23h10)
Ils feront quoi exactement ? Ils vont transformés ton code en un code lisible par l'interpréteur c'est ça ? Ou ça va être autre chose ?
le précompilateur aura la même utilité que le précompilateur de GCC, vérifier la syntaxe et effectuer certaines actions

Le langage que tu vas créer ça sera celui qui sera compilé ou celui qui sera interprété ?
Les deux, il sera compilé avant d'être interprété

De plus, même si le compilateur peut avoir un intérêt (que tu vas m'expliquer car tu remarquera que j'ai pas trop saisi ...) je ne vois pas l'intérêt du pré-compilatuer blink.gif
Tu vas pré-compiler puis compiler ? C'est ue sorte de double passage du compilateur c'est ça ? réponse ci-dessus

Sinon heu, je n'ai pas bien saisi tout ce qui est en bleu
Ce sera la structure du code c'est ça ?
oui, en bleu, c'est le code ou sa structure (PS: si tu pouvais l'enlever de ton post ca m'arrangerait)

Pour le byte tu as écrit que se sera un char huh.gif un char ctu as marqué que c'était 1 octet, ça fait bizarre je trouve ...
C'est une répétition que de dire que ce sera un char d'un octet, mais comme ca c'est archi-clair

Pour les boucles, j'ai peut être mal compris mais tu ne comptes pas rassembler les 3 en une seule juste le while j'espère ? Car la boucle for a quand même son utilité wink.gif
Les trois seront disponibles dans le langage, mais dans le fichier compilé elles seront toutes réduites à une seule expression

Dernière chose : tes tableaux, quand tu parles de tableaux, je suppose que tu veux dire un vecteur à 2 dimensions ? Car si c'est le cas il faudrait mieux penser ça sous la forme d'un vecteur qui peut être un vecteur de vecteur qui forme un tableau (array of array)
Une dimension à la base, mais ca n'empêchera pas le développeur de faire des tableaux à deux dimensions
Tu compte implémenter des tableaux statiques et dynamiques ou juste dynamiques ?
Car les 2 peuvent très utile notamment au point de vue mémoire (quoique dans un langage web je suis pas sûr ermm.gif )
taille dynamique seulement

Sinon quelques fautes d'ortho que j'ai trouvé vite fait :
Citation
Il faut donc trouver une méthode de
stockage des variables efficace.

Citation
dans un vecteur,
(raiment vite fait ...)
Merci, c'est modifié

Si j'en ai trop idée sur ton langage, dit le moi j'éditerais au plus vite smile.gif
Oui, le morceau de code que tu as passé wink.gif

En tout cas, tout ceci me semble bien partit wink.gif et bien structuré !
Merci beaucoup !
*

K20
J'ai édité mon post wink.gif

Il y a juste 2 choses qui ne sont pas encore très clairs dans mon esprit huh.gif

Citation
le précompilateur aura la même utilité que le précompilateur de GCC, vérifier la syntaxe et effectuer certaines actions
Donc au final il sortira un fichier avec ce qu'on a tapé juste avant avec des modifs c'est ça ? Je ne connias pas le précompilateur de GCC ...

Citation
réponse ci-dessus
Il y a un truc que je ne comprend pas, quelles sont les différences entre le pré-compilateur et le compilateur ?

Citation
C'est une répétition que de dire que ce sera un char d'un octet, mais comme ca c'est archi-clair
Un bit c'est pas un char d'un octet blink.gif

Citation
Les trois seront disponibles dans le langage, mais dans le fichier compilé elles seront toutes réduites à une seule expression
D'accord, mais comment l'interpréteur fera-t-il la différence ? A moins qu'il n'y ai pas besoin de différence ^_^ (même si pour le do_while je ne vois pas comment tu vas gérer ça :mum: )

Voilà, en fait il me faut encore des précisions wink.gif
tyx
byte = un octet en anglais
bit = 1/8 d'octet en français

Comme ça plus de confusion
K20
Ha ok ... Ouai, la ca me parait beaucoup plus clair en effet biggrin.gif
Antoine_935
Citation (K20 @ lundi 27 mars 2006 à 23h27)
J'ai édité mon post wink.gif
merci

Il y a juste 2 choses qui ne sont pas encore très clairs dans mon esprit huh.gif

Citation
le précompilateur aura la même utilité que le précompilateur de GCC, vérifier la syntaxe et effectuer certaines actions
Donc au final il sortira un fichier avec ce qu'on a tapé juste avant avec des modifs c'est ça ? Je ne connias pas le précompilateur de GCC ...
Il fera des modification et stockera ca dans un fichier temporaire ou en mémoire, je verrai.

Citation
réponse ci-dessus
Il y a un truc que je ne comprend pas, quelles sont les différences entre le pré-compilateur et le compilateur ?
le précompilateur facilite la tâche du compilateur en supprimant les passages à la ligne et autres petits obstacles. Le compilateur lit ensuite le fichier simplifié et écrit un fichier intelligible par l'interpréteur

Citation
C'est une répétition que de dire que ce sera un char d'un octet, mais comme ca c'est archi-clair
Un bit c'est pas un char d'un octet blink.gif
réponse donnée par tyx

Citation
Les trois seront disponibles dans le langage, mais dans le fichier compilé elles seront toutes réduites à une seule expression
D'accord, mais comment l'interpréteur fera-t-il la différence ? A moins qu'il n'y ai pas besoin de différence ^_^ (même si pour le do_while je ne vois pas comment tu vas gérer ça :mum: )
Il n'y aura, de fait pas de différence wink.gif le compilateur ne saura même pas qu'il est dans une boucle.

Voilà, en fait il me faut encore des précisions wink.gif
*

K20
Ok, je cerne mieux ton langage wink.gif

Dernière chose, tu dis que le compilateur créra un fichier temporaire, mais s'il n'est que temporaire c'est quoi qui sera sur le serveur et qui sera lu par l'interpréteur ?
Antoine_935
non, c'est le précompilateur qui sortira un fichier temporaire, le compilateur lui, en sortira un "en dur"

EDIT: ooh, merveille des merveilles, j'entrevois enfin une manière efficace de stocker les variables !!!
RE-EDIT: je l'ai !!!
K20
Ok, j'ai tout compris wink.gif

Merci de m'avoir éclairé smile.gif

J'attend la suite avec impatience tongue.gif
Antoine_935
ban pour la suite immédiate, le projet est enregistré sur sourceforge
http://sf.net/projects/alligator-cl/
ET je bosse sur le conteneur de variables
K20
Ok, tu peux m'inscrire si tu veux, je suis toujours partant biggrin.gif
Mon pseudo : k2x (comme l'autre fois)
Fantome
Bon j'ai pas tous lut (je suis pas en état).

Je t'envois mon mail par MP.
Antoine_935
@fantome: c'est envoyé
@k20: c'est fait wink.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2012 Invision Power Services, Inc.