Itsy Bitsy a écrit :
Des ; au bout des lignes
Des {}
Des ==, &&, ..., pour les bégayeurs de la programmation
...
Ça devait vraiment ressembler à ça l'évolution de la programmation ?
Ce n'est pas de l'évolution, ce sont les différences qui apparaissent depuis toujours entre les langage en fonction de leur "niveau" (Le niveau du langage, pas du programmeur).
Ces choses aussi atroces semble t'elles, sont puissantes.
Les {} je trouve que c'est au choix, plus lisible, plus court, plus rapide à taper... Au pire ça permet plein de style d'écriture, plus qu'en PB.
Ainsi en PB cette petite condition peut s'écrire en gros de 2 manières:
Code : Tout sélectionner
version "longue":
If x=y
a=b
EndIf
version "courte":
If x=y : a=b : EndIf
En C (ou autres) tu vas trouver plein de conventions
Code : Tout sélectionner
le plus basique:
If (x==y)
{
a=b;
}
certains utiliseront:
If (x==y) {
a=b;
}
d'autres préfèrent:
If (x==y)
{ a=b;
}
mais on peut aussi l'écrire en mode ultra compact sans {} grâce à ;
if (x==y) a=b;
Bon là c'est pas forcément parlant, mais sur des boucles par exemple:
Code : Tout sélectionner
While a=b
...
...
For u=0 To 10
For i=0 To 10
...
Next
Next
...
Wend
Les {} permettent de gratter pas mal de caractères et avec la coloration syntaxique c'est très lisible
Code : Tout sélectionner
While (a==b)
{
...
...
For (u=0; u<=10; u++)
{
For (i=0; i<=10; i++)
{
...
}
}
...
}
Plus simplement, le problème d'un basic, c'est que pour chaque instruction "d'ouverture", il faut une instruction de "fermeture". Pour un If, il faut un End If, pour un For, il faut un Next, pour un While, il faut un Wend, pour un Do, il faut un Loop, Pour un Repeat, il faut un Until, ETC, ETC, ETC... Dans un langage à crochets, pour un {, il faut un }, et c'est marre.
Mais là où il n'y pas photo, les "==" au lieu des "=" pour les comparaisons. C'est EXTREMEMENT puissant, et permet de faire de choses. Alors pour une opération courante type "a=b", ça ne présente pas d'intérêt, en revanche, si tu veux tester conditionnellement le résultat d'une fonction en un coup, en C il suffirait de taper:
Là le C comprend qu'il faut qu'il retourne (=) le résultat de OpenWindow() dans win, puis qu'il le compare (==) à 0
En PB il faudra obligatoirement 2 lignes de code
Sur tout un projet, une fois la gymnastique acquise, c'est du bonheur.
Mais au risque de me répéter, le basic est fait pour être simple. Les seules petites choses que je trouve un peu incohérentes à PB, c'est que certaines instructions comme For, If... ne nécessitent pas de (), alors que c'est le cas de la quasi totalité des autres instructions.