Pourquoi le type Option Scala n'est-il pas appelé Peut-être, tout comme dans Haskell? [fermé]


13

Pourquoi le type Option Scala n'est-il pas appelé Peut-être, tout comme dans Haskell?

Peut-être que cela a beaucoup plus de "sens sémantique" pour moi, mais peut-être qu'Option a un comportement différent que je ne connais pas.

Y a-t-il une raison particulière pour laquelle Option dans Scala ne s'appelait peut-être pas?

Réponses:


23

Scala est également inspiré par Ocaml, qui utilise Option .

Les options sont un type standard Ocaml qui peut être None(non défini) ou Some xoù x peut être n'importe quelle valeur. Les options sont largement utilisées dans Ocaml pour représenter des valeurs non définies (un peu comme NULL en C, mais d'une manière sûre pour le type et la mémoire) ...

Je pense que le nom choisi est une question de goût.


8
F # aussi. La page sur Wikipedia est en.wikipedia.org/wiki/Option_type . Semble être un nom plus standard queMaybe
KChaloux

2
Ocaml tire le nom de SML. En un coup d'œil dans les langages de programmation The Next 700 de Landin, je n'ai pas remarqué de type d'option, donc SML pourrait être à l'origine du nom.
Peter Taylor

1
Un argument en faveur de Optionc'est que c'est une optionalvaleur (soit vous l'obtenez, soit vous ne l'avez pas). Maybeimplique un certain degré d'incertitude de la part du programmeur. Peut-être qu'il y a une valeur? Je ne sais pas .. Dois-je obtenir une valeur? Le libellé optional valueme semble plus intentionnel.
Jochem Kuijpers

6

Une meilleure question ici serait de savoir pourquoi le type d'option de Haskell est appelé Maybe. Le type d'option de ML est probablement le grand-père de tous les types d'option, et c'est ce qu'on appelle option.

En tout cas, c'est une question terminologique, donc ça ne va pas avoir de réponse de principe. Les gens qui ont choisi le nom à Haskell l'ont aimé mieux, c'est tout.


2
Qu'est-ce qui vous a amené à répéter des informations dans une nouvelle réponse déjà bien couverte par la réponse acceptée et ses commentaires sous-jacents?
Robert Harvey

4
@RobertHarvey ML ayant créé le précédent est une nouvelle information, le vrai problème est que la réponse est même de conjecturer cela.
djechlin

D'ACCORD. Avez-vous une référence, ou quelque chose de plus qu'une simple opinion? Parce que les opinions sont mieux représentées sous forme de commentaires, pas de réponses. Surtout votre deuxième paragraphe.
Robert Harvey

2
Def. Option: L'acte de choisir; choix. Def. Peut-être; peut-être; Une incertitude; Une réponse incertaine. Pour moi, c'est assez à dire Peut-être est le bien meilleur nom d'un point de vue purement linguistique. "Option" implique qu'il y a (plusieurs) choix, tandis que le nom monadique "Peut-être" est beaucoup plus pertinent: une chose ou rien. Mais oui, ML (et donc Option) est venu en premier, donc cela peut être la raison du mauvais habbit de dénomination (Et voir le commentaire de Peter Taylor à la bonne réponse ci-dessus - il fait référence à ML).
fnl

@fnl Voir mon commentaire sur l'autre réponse; Je pense qu'il y a un argument raisonnable pour faire de cette optionabréviation optional. Dans ce cas, les (multiples) choix sont réduits à seulement deux: soit ils sont là, soit ils ne le sont pas.
Jochem Kuijpers
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.