Programmer avec le langage Linotte
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Programmer avec le langage LinotteConnexion

Besoin d'un conseil sur la programmation en Linotte ?

Le Deal du moment : -35%
-35% sur la machine à café Expresso ...
Voir le deal
359.99 €

descriptionBrainstorming : un nouveau langage ? EmptyBrainstorming : un nouveau langage ?

more_horiz
Voici quelques idées que j'ai en stock.
Je les jette ici pour m'en souvenir mais je ne devrais pas les implémenter un jour, en tout cas, aujourd'hui, je ne le pense pas !
J'en avais déjà parlé je crois dans le wiki... je souhaite faire un autre langage, peut-être pas plus simple, mais plus concis : une syntaxe plus courte, en anglais mais avec les principes du langage Linotte.
- Ce langage aurait un vocabulaire proche des langages Basic (print, input, etc...)
- L’atelier serait en anglais (SimplyBasic Workshop)
- La documentation en français et en anglais.

Voici quelques exemples :

Code:

boucle FOR :

Démonstration :

n as number
b as number is 1
do :

"Boucle FOR simple :
" !
for(n) 1 to 20, display n
"Boucle FOR avec un pas simple" !
for(n) 1 to 20 step n + 2 , display n
"Boucle FOR avec un pas variable" !
for(n) 1 to 20 step n + b , {
print n
b is b + 1
}

Code:

Les doublures :

Début :

do :

call affichage with "Nicolas" , 1976
call affichage with "Bruno" , 1977
quit

Affichage :

*nom as string
*an as number
message as string empty
do :

message is nom + " est né en " + an
print message
return

Code:

Nombre Fibonacci en recursif :

("Spécification :
Linotte 0.
6.
0")

Principal :

n as number
do :

"Entrez un nombre :
" !
n ?
call Fibo with n
n !
quit

Fibo :

*n as number
§traitement as number is n - 1
§traitement2 as number is n - 2
Actions :

if n <
2, return
call Fibo traitement
call Fibo traitement2
n is traitement + traitement2
return

Code:

Traitements en parallèle :

("Spécification 0.
6.
1")

démonstration :

do :

run traitement
print "On attend 3 secondes"
wait 3000
print "Fin des 3 secondes"
quit

traitement :

do :

wait 1000
print ".
.
.
.
moi, je ne veux pas attendre !"
return

Code:

Présentation :

Information as graffiti, x is 200, y is 300, text is "Quel est ton nom ?", transparence is 100, color is "blanc"
Message as graffiti, x is 20, y is 20, color is "rouge"
Réponse as scribe, x is 220, y is 320, color is "noir", text is "", size is 4, maxsize is 20

Affichage :

Mur as display, color is "gris"
Nom as string empty
do :

clean (display)
display (mur)
display (information)
display (réponse)
wakup (réponse)
wait
clean (réponse)
clean (information)
Transparence @ information is 0
nom is "Bonjour, " + texte @ réponse + ".
"
Texte @ message is nom
display (message)
Texte @ information is "Félitation, tu viens de lire .
.
.
"
for 20 à 250, {
moveto message,joker,joker
wait 5
}
display (information)
Color @ mur is "noir"
Couleur @ message is "bleu"
play ("sons/bouchon.
wav")
for 0 to 100, call (effet)
wait (2000)
Transparence @ information is 0
Texte @ information is ".
.
.
un livre en langage Linotte !"
for 0 to 100, call (effet)
wait (2000)
Transparence @ information is 0
Texte @ information is ".
.
.
C'est simple à comprendre ?"
for 0 to 100, call (effet)
waint(2000)
Transparence @ information is 0
Texte @ information is "Alors, à toi de jouer maintenant !"
for 0 to 100, call (effet)
system("internet http:
//langagelinotte.
free.
fr/punbb/")
quit

Effet :

do :

Transparence@information is joker
wait (15 )
return

Code:

Capitale de la France :


question :

capitale as string empty
do :

while capitale != "Paris", {
print "Quelle est la capitale de la France ?"
input capitale
}
display "Bravo, tu es trop fort !"
play "Do"
quit

Code:

Syracuse :

Main :

durée as number empty
e as number
do :

input e
while e != 1, {
durée is durée + 1
if e mod 2 = 0, e is e / 2
else, e is e * 3 + 1
}
print durée
quit

descriptionBrainstorming : un nouveau langage ? EmptyBrainstorming : un nouveau langage ?

more_horiz
NAN !

Je n'y connais pas grand chose donc mon avis n'a pas grande crédibilité et peu s'avérer complètement à coté de la plaque mais voilà ce que ça m'inspire :

WTFFFFFFFFF

Pourquoi faire un autre langage basé sur linotte ? T'as qu'a traduire linotte en anglais, intégrer de nouvelles syntaxes, de nouveaux paradigmes, de nouvelles méthodes etc...

Autant faire de Linotte une grande poubelle contenant toutes tes idées quitte à en bafouer l'identité étant donné que de toute façon que ton langage n'en est encore qu'a ses débuts et peut évoluer de la façon que tu désire sans pour autant respecter les principes que tu t'étais fixé.

Osef, fait de Linotte ce que tu veux on te suivra tant que la façon de programmer qu'on aime dans linotte n'est pas supprimée...

Pour moi Linotte c'est the big project, fait le grossir un max, qu'il dépasse amplement la conception que l'on en a actuellement.

Bon par contre peut-être que tes idées ne sont pas compatibles, mais en tout cas n'ai pas peur de muter Linotte si c'est bien fait on s'y retrouvera toujours et on y prendra ce que l'on veut.

Bon c'est sur que si la mutation se passe mal ça peut devenir bordélique notamment au niveau des tutos mais je suis sur que tu peux y arriver x)

Voilà mon humble avis... (nan je déconne j'ai jamais été humble)

descriptionBrainstorming : un nouveau langage ? EmptyBrainstorming : un nouveau langage ?

more_horiz
Comme je l'ai dit dans le premier post, c'est juste des idées que je jette et qui peuvent aussi aider Linotte a évoluer.
D'habitude, je garde ça dans mes papiers mais là, j'avais envie de les partager !

Cette réflexion vient du fait que j'avais dit qu'il y aura une simplification de la syntaxe de Linotte dans la version 1.3 mais je me demande si c'est vraiment une bonne idée. N'est-ce pas s'éloigner de la philosophie même du langage ? Est-ce que je ne vais pas rendre le langage trop compliqué avec ces nouvelles syntaxes ?

Il est important de tenir une ligne dans la gestion d'un projet sinon, comme tu le dis, tu peux devenir "bordélique".

L'avantage du forum, c'est de jeter le idée et les laisser murir tranquillement avec le temps !.

descriptionBrainstorming : un nouveau langage ? EmptyBrainstorming : un nouveau langage ?

more_horiz
Bonjour,

Je ne comprends pas bien le sujet de ce post, s’agît –t-il d’offrir une nouvelle syntaxe à linotte ou bien de développer un tout autre langage indépendant du projet linotte ?

Un autre langage, je ne dis pas non, pourquoi pas !?

Dans ce second cas, le but de ce nouveau langage serait-t-il, seulement, d’être plus concis (ce n’est pas frappant à première vue) et l'utilisation de mots-clés typé basic ?

Le langage source restera toujours java ? :/

descriptionBrainstorming : un nouveau langage ? EmptyBrainstorming : un nouveau langage ?

more_horiz
Ce post est juste là pour poser des idées que j'ai en tête.... rien de concret !
C'est pour en discuter et voir s'il y a des choses que je pourrais intégrer dans Linotte ou non....

Ma priorité reste Linotte !

descriptionBrainstorming : un nouveau langage ? EmptyBrainstorming : un nouveau langage ?

more_horiz
Intégre TOUT dans Linotte osef de la philosophie du langage x)

descriptionBrainstorming : un nouveau langage ? EmptyBrainstorming : un nouveau langage ?

more_horiz
mmmm.... moi, pas comprendre !

descriptionBrainstorming : un nouveau langage ? EmptyBrainstorming : un nouveau langage ?

more_horiz
L'idée est je pense : tant que les programmes déjà écrits continuent de fonctionner, ça ne pose pas de problèmes d'ajouter de nouvelles possibilités à linotte.

A moins que ces nouvelles fonctionnalités ne ralentissent trop l'exécution ou ne créent des bugs.

descriptionBrainstorming : un nouveau langage ? EmptyBrainstorming : un nouveau langage ?

more_horiz
Ouaip c'est ça, au final comme j'ai dit plus haut, personnellement l'identité propre du langage ou sa "philosophie" je n'y accorde que peu d'importance. Ce que je souhaite en temps que programmeur débutant c'est un langage facile à apprendre mais aussi qui offre le plus de possibilités et de façons de programmer possibles. Au final, l'idéal serait que Linotte comporte un tuto en deux partie : "Linotte pour débutant" (syntaxe actuelle, en français) et "Linotte pour professionnel" (syntaxe simplifiée, en anglais ???) (en gros).

On apprendrai pas linotte pour ensuite passer au Java ou C++, mais bien pour rester sur le Linotte toute sa vie.
L'autre avantage serait qu'un programmateur de Java ou de C++ puisse avoir envie d'apprendre le linotte dit professionnel.

Quand on choisi d'apprendre un langage de programmation, on mise sur l'avenir.

descriptionBrainstorming : un nouveau langage ? EmptyBrainstorming : un nouveau langage ?

more_horiz
Oui, mais moi, en tant que concepteur d'un langage de programmation, garder une ligne d'identité ou "philosophie" est important !
Par contre, je ne suis pas d'accord quand tu dis que l'on n'apprend pas Linotte pour passer ensuite au Java ou C++. Chaque langage a ses spécificités et correspond à un besoin au moment où on choisit d'utiliser tel ou tel langage.
Moi, j'ai commencé par le Basic car sur ma première machine, il n'y avait que ça ! (mon cpc6128)
Puis, par l'assembleur, puis, par du C, etc... etc.... pour des raisons d'opportunités, curiosités, intellectuelles.

[quote=dadodudou]L'idée est je pense : tant que les programmes déjà écrits continuent de fonctionner, ça ne pose pas de problèmes d'ajouter de nouvelles possibilités à linotte.

A moins que ces nouvelles fonctionnalités ne ralentissent trop l'exécution ou ne créent des bugs.[/quote]
ça peut ralentir le temps d'exécution.... même si j'essaye de faire en sorte que non !

descriptionBrainstorming : un nouveau langage ? EmptyBrainstorming : un nouveau langage ?

more_horiz
bah pas grave si j'ai dis des bêtises je m'y attendais ^^

"Je n'y connais pas grand chose donc mon avis n'a pas grande crédibilité et peu s'avérer complètement à coté de la plaque "


100 MESSAGES !

descriptionBrainstorming : un nouveau langage ? EmptyRe: Brainstorming : un nouveau langage ?

more_horiz
privacy_tip Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
power_settings_newSe connecter pour répondre