un système de types est un ensemble de règles qui attribuent une propriété appelée type aux différentes constructions (telles que des variables, des expressions, des fonctions ou des modules) dont un programme informatique est composé.
Récemment, j'ai eu un problème de lisibilité de mon code. J'avais une fonction qui effectuait une opération et renvoyait une chaîne représentant l'ID de cette opération pour référence future (un peu comme OpenFile dans Windows renvoyant un descripteur). L'utilisateur utiliserait cet identifiant ultérieurement pour lancer l'opération et surveiller son achèvement. …
Existe-t-il des études sur l'efficacité des langages statiquement et dynamiquement typés? En particulier: Mesures de la productivité du programmeur Taux de défauts Comprend également les effets de l’utilisation ou non de tests unitaires. J'ai vu beaucoup de discussions sur les mérites de chaque côté, mais je me demande si quelqu'un …
Je réalise que certaines choses sont plus faciles / plus difficiles dans une langue que dans l'autre, mais je ne m'intéresse qu'aux fonctionnalités liées au type qui sont possibles dans l'une et impossibles / non pertinentes dans l'autre. Pour le rendre plus spécifique, ignorons les extensions de type Haskell car …
Considérez ceci comme une question "académique". Je me demandais de temps en temps d'éviter les NULL et c'est un exemple où je ne peux pas trouver de solution satisfaisante. Supposons que je stocke les mesures là où, à l'occasion, on sait que la mesure est impossible (ou manquante). Je voudrais …
Pourquoi est-ce correct et surtout attendu: abstract type Shape { abstract number Area(); } concrete type Triangle : Shape { concrete number Area() { //... } } ... alors que ce n'est pas correct et que personne ne se plaint: concrete type Name : string { } concrete type Index …
En supposant un langage avec une sécurité de type inhérente (par exemple, pas de JavaScript): Avec une méthode qui accepte a SuperType, nous savons que dans la plupart des cas, nous pourrions être tentés d'effectuer des tests de type pour choisir une action: public void DoSomethingTo(SuperType o) { if (o …
Eric Lippert a fait un point très intéressant dans sa discussion sur les raisons pour lesquelles C # utilise un type nullplutôt qu'un Maybe<T>type : La cohérence du système de types est importante. Pouvons-nous toujours savoir qu'une référence non Nullable n'est jamais considérée comme invalide? Qu'en est-il dans le constructeur …
Contexte Je conçois une langue, en tant que projet parallèle. J'ai un assembleur, un analyseur statique et une machine virtuelle en état de marche. Comme je peux déjà compiler et exécuter des programmes non triviaux en utilisant l'infrastructure que j'ai construite, j'ai pensé à faire une présentation à mon université. …
Un type de fond est une construction apparaissant principalement dans la théorie des types mathématiques. On l'appelle aussi le type vide. C'est un type qui n'a pas de valeur, mais qui est un sous-type de tous les types. Si le type de retour d'une fonction est le type du bas, …
Dans JavaScript: The Good Parts de Douglas Crockford, il mentionne dans son chapitre sur l'héritage, L’autre avantage de l’héritage classique est qu’il inclut la spécification d’un système de types. Cela libère généralement le programmeur de la nécessité d’écrire des opérations de transtypage explicites, ce qui est une très bonne chose, …
Comme la plupart d’entre nous le savent, PHP est peu typé . Pour ceux qui ne le font pas, PHP.net dit: PHP ne nécessite pas (ni ne prend en charge) la définition de type explicite dans la déclaration de variable; le type d'une variable est déterminé par le contexte dans …
Je me suis toujours demandé pourquoi Java ne faisait pas d'inférence de type étant donné que le langage est ce qu'il est et que sa machine virtuelle est très mature. Go's est un exemple de langage avec une excellente inférence et qui réduit le nombre de saisies. Existe-t-il une raison …
Quelles sont les techniques que je pourrais utiliser pour refactoriser de manière cohérente le code en supprimant la dépendance aux types existentiels? Celles-ci sont généralement utilisées pour disqualifier les constructions non désirées de votre type, ainsi que pour permettre une consommation avec un minimum de connaissances sur le type donné …
Cela a été abordé lors d'une discussion avec un ami et je me suis trouvé dans l'impossibilité de trouver de bons arguments. Quels avantages confère le typage faible?
Je lis le code beaucoup plus souvent que je l'écris, et je suppose que la plupart des programmeurs travaillant sur des logiciels industriels le font. Je suppose que l’avantage de l’inférence de type est moins de verbosité et moins de code écrit. Par contre, si vous lisez le code plus …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.