Sans vouloir m'avancer pour les autres langages, dans un entretien Martin Odersky expliquait son choix pour Scala en disant ça permettait (entre autres) de rendre la déclaration de type optionnelle (lorsque celui-ci est inféré).
Ainsi si tu écris
valtoto:Int=1
ou
valtoto=1
c'est jamais ambigu. on comprend dans les deux cas que c'est la variable toto qui est déclarée et initialisée à 1. Si l'on n'avait pas ce val il serait ambigu dans le cas du type inféré
toto=1
Je déclare toto ou je l'assigne ?
De plus scala possède des val (immuable) et var (muable) donc ça permet de vérifier statiquement qu'une variable immuable n'est pas réassignée.
Ce qui serait acceptable dans un langage dynamique (ambiguïté entre assignation et déclaration) ne l'est pas pour une langage statiquement typé.
[^] # Re: Bienvenue dans le merveilleux monde d'Ada !
Posté par Lucas . En réponse au journal Ada, langage et ressources. Évalué à 2.
Sans vouloir m'avancer pour les autres langages, dans un entretien Martin Odersky expliquait son choix pour Scala en disant ça permettait (entre autres) de rendre la déclaration de type optionnelle (lorsque celui-ci est inféré).
Ainsi si tu écris
ou
c'est jamais ambigu. on comprend dans les deux cas que c'est la variable
totoqui est déclarée et initialisée à1. Si l'on n'avait pas cevalil serait ambigu dans le cas du type inféréJe déclare toto ou je l'assigne ?
De plus scala possède des
val(immuable) etvar(muable) donc ça permet de vérifier statiquement qu'une variable immuable n'est pas réassignée.Ce qui serait acceptable dans un langage dynamique (ambiguïté entre assignation et déclaration) ne l'est pas pour une langage statiquement typé.