6
votes

Qu'est-ce qu'une "valeur" dans le contexte de la programmation?

Pouvez-vous suggérer une définition précise pour une «valeur» dans le contexte de la programmation sans référence à des techniques de codage spécifiques ou de langues ou d'architectures particulières?

[Texte de la question précédente, pour référence de discussion: " quelle est la valeur dans la programmation? Comment définir ce mot précisément? "]


27 commentaires

Veuillez donner un certain contexte, c'est-à-dire un exemple de la valeur que vous essayez de définir dans le contexte d'un programme.


@Lazarus: tout contexte de programmation. Par exemple, la première page de Google: "Cela dit donc à votre programme qu'un champ nommé" Gear "existe, contient des données numériques et a une valeur initiale de" 1 ". Le type de données de la variable détermine les valeurs qu'il peut contenir, plus le opérations pouvant être effectuées dessus. " télécharger.oracle.com/docs/cd/ E17409_01 / Javase / Tutoriel / Java / ...


J'aimerais pouvoir désactiver cette question. J'ai d'abord pensé que vous n'étiez pas trop claire du contexte, mais je pense que c'est une chose assez raisonnable à demander, vu que l'article Wikipedia lui-même semble assez mélangé sur le sujet.


La valeur est différente de la variable est différente de l'objet est différente de toute une foule d'utilisations possibles pour le mot «valeur». Ce que je cherchais était un morceau de code où vous pourriez clairement très fort ce que vous avez appelé «valeur», puis nous pouvons le définir précisément pour vous. J'ai besoin de comprendre ce que vous signifie par valeur avant que je puisse vous dire ce que i de la valeur à être.


@Lazarus: Vous dites que le sens de ce mot dépend du code?


Où puis-je mettre mes propres pensées sur la réponse? Je erre la valeur atomique est quelque chose qui peut être montré mais sans signification s'ils sont cassés en parties. La valeur complexe est une valeur atomique quelque peu interconnectée.


@Vag, non, je dis que la signification dépend du contexte. "Quelle est la valeur" est trop vague. Voulez-vous dire quelle est la valeur? Parlons-nous d'un entier, de flotteur, de char, de chaîne, une valeur de bool? Voulez-vous dire une variable? Voulez-vous dire la valeur du code dans la programmation? Je suis juste à la recherche d'une question précise et je pensais que le code pourrait aider à concentrer vos pensées et donc votre question.


@Lazarus: Mais je veux dire juste ça. Notion de Valeur dans le contexte de la programmation. Il est impossible d'énumérer toutes les instances possibles: entier, flotteur, char, chaîne, bool, ...


Mais alors est-ce vraiment liée à la programmation? La question de lui-même est très intéressante, mais elle au-delà de la programmation, si je vous comprends correctement ...


Eh bien, il s'agit de la définition d'un terme que les programmeurs utilisent constamment pour décrire le fonctionnement des programmes.


@Lazarus: Si vous créez une base de connaissances sur la terminologie de programmation, vous encodez dans l'entrée pour le terme la valeur ?


@MACMADE: C'est une question importante, mais sur un niveau plus philosophique, pas au niveau des pratiques de programmation. Mais si les programmeurs comprendront des termes qu'ils utilisent tous les jours de plus précisément, leurs communications deviendront plus efficaces et pensées moins d'erreurs sujettes aux erreurs.


Je pense que lorsque le programmeur utilise le terme "valeur", ils le feront dans un contexte spécifique, principalement le code qu'ils adressent. Cela va ensuite effondrer cette discussion dans une architecture, c'est-à-dire un calcul binaire et la définition est ensuite disponible pour nous. Je pense que vous êtes correct que, en général, les termes informatiques théoriques sont trop nébuleux pour définir au-delà d'une généralisation. Vous ne pouvez pas avoir une définition spécifique dans un contexte général.


Fermé! Wow, les gars, c'est l'antiintellectualisme demeurant ici! Vous ne savez pas quelle valeur est et refuse de savoir!


@Vag: Voter pour rouvrir, mais s'il vous plaît regarder votre ton.


Oui, je pense que c'est regrettable que c'était fermé. Cependant, je pense que vous devriez peut-être essayer de le poser de manière beaucoup plus spécifique et sans l'erreur grammaticale évidente. Les gens pourraient être plus réceptifs. Cependant, je supporte réellement ma réponse :)


@Vag: Vous pouvez faire un bien meilleur travail de votre question. Si vous le faites, je parierai que vous obtiendrez une meilleure réception ici. Vous n'avez pas mis beaucoup d'effort dedans.


@Vag, nous ne refusons pas de savoir du tout ... s'il vous plaît dites-nous ce que c'est et nous écouterons ... Je suis sûr que nous allons écouter.


@Lazarus: Attends, je vais compiler toutes les réponses, poser des questions supplémentaires, compiler leurs réponses, puis je vais vous le dire!


Je peux peut-être suggérer un reformulation: "Pouvez-vous suggérer une définition précise pour une" valeur "dans le contexte de la programmation sans référence à des techniques de codage spécifiques ou de langues ou d'architectures particulières?"


@Gien: Je sais que cela peut être construit et cela doit être construit. Mais cela prend du temps et de plusieurs discussions. WIR Müssen Wissen. Wire Werden Wissen.


J'ai mis à jour la question avec la reformulation bien libellée de Gian. Gian, j'espère que ça va avec toi. Vag, tant la valeur d'une réponse réside dans la question.


Excellent. J'espère que nous pourrons nous rendre à une sorte de consensus significatif sur celui-ci!


Je ne vois aucune différence entre la vieille et la nouvelle formulation.


@Vag: Je comprends. Il y a beaucoup de différence, cependant, à un orateur natif. Le texte de Gian est plus étroitement ciblé et précis, et je pense que je pense que des réponses plus ciblées. En particulier, une lecture de la question initiale est identique au sens "Pourquoi devrais-je programmer?"


@Michael Patrotta: Aha. Maintenant, je commence à comprendre.


"En particulier, une lecture de la question est identique au sens" Pourquoi devrais-je programmer? "Merci! J'ai manqué cela entièrement.


6 Réponses :


0
votes

Avez-vous vérifié le Article à Wikipedia?

En informatique, une valeur est une séquence de bits interprétées selon certains types de données. Il est possible que la même séquence de bits ait différentes valeurs, en fonction du type utilisé pour interpréter sa signification. Par exemple, la valeur pourrait être une valeur de point entière ou flottante, ou une chaîne.


18 commentaires

L'explication de Wikipedia est incorrecte: "En informatique, une valeur est une séquence de bits interprétée selon certains types de données". Si je construis un ordinateur sans morceaux, il s'agit toujours de la valeur manipulée.


Je sais que vous venez de cibler Wikipedia, mais la "séquence de bits" semble trop spécifique sur la représentation des valeurs, ne pensez-vous pas? Je veux dire, bien sûr, toute autre représentation que nous avons choisie peut être isomorphe avec des "bits", mais je ne pense vraiment pas que ce soit une chose significative à coder dans la définition.


Errrrrr ... un ordinateur sans bits ... Peut-être que vous devriez commencer par lire l'article Wikipedia sur les ordinateurs ...: S


Vous savez, je suis avec vous sur celui-là. Il serait plus précis si l'article distinguait plus clairement entre les informations (la valeur) et la représentation interne (les bits.)


MacMade, je ne te suive pas. Il existe de nombreux ordinateurs sans bits: en.wikipedia.org/wiki/ternary_computer


@Gien: Je suis parfaitement accepté avec vous.


Bien sûr, mais même avec des traits au lieu de bits, cela ne fera pas une grande différence imho ...


@mquander, combien d'ordinateurs fonctionnels sont en fonctionnement qui n'utilisent pas de bits? L'informatique ternaire est intéressante mais j'aurais pensé que l'informatique quantique et les qubits auraient été un argument plus pertinent contre l'informatique binaire, mais bien sûr, le concept de «valeur» devient encore plus nébuleux! ;)


Je ne pense pas que ce soit pertinent - point d'étant évidemment un concept fondamental comme "la valeur" ne peut pas être défini en termes de mise en œuvre des détails comme des "bits dans des registres".


@Macmade, je suis un informaticien théorique. Le concept de "bits" est inconfortablement bas pour moi lorsque vous parlez de quelque chose comme tout englobant et général comme "valeur". Je peux parler de beaucoup de choses qui ne seraient pas sensibles à coder en tant que bits. Dans certains contextes, je peux parler d'une séquence infinie de choses comme une valeur, et je ne voudrais pas vraiment vous asseoir et attendre pendant que vous déconnectez un peu codant pour cela.


@MQuander, en calcul de l'informatique, je pense que cela peut absolument être défini en termes de bits dans des registres. Ce n'est que si vous limitez votre pensée aux langues de haut niveau, cela peut-il être décrit comme autre chose. Lorsque vous êtes en panne au métal en langage de montage, vous êtes seulement trop conscient de la manière dont une valeur est représentée.


@Lazarus, si vous acceptez cette définition, l'ordinateur ternaire mquander lié ci-dessus doit être un contre-exemple à votre définition.


@Gien, veuillez poster la définition théorique informatique pour "une valeur" comme une réponse, je suppose que ce serait le plus proche de ce que Vag cherche.


Je crois que Turing a parlé de "valeurs" dans sa machine. La grande majorité des machines de Turing, je suis entré en contact avec au fil des ans, citons des croquis sur des pannes de tableaux et des modèles électriques du cerveau de quelqu'un, c'est-à-dire ne contenant aucun morceaux. Bien que je suppose que je suppose en fonction de votre point de vue, mon cerveau pourrait être un ordinateur analogique. Là encore, certaines personnes ont également revendiqué qu'il n'y a pas de valeur dans mon cerveau. :-)


Oui, mais ce que Turing a dit à propos de Turing Machines est presque hors de propos aujourd'hui :)


@Gien, alors vous vous êtes rattrapé dans les termes. En informatique binaire (éventuellement la science informatique acceptée la plus courante), nous parlons en termes de bit, dans l'informatique ternaire, nous utiliserions des traits interchangeables, dans le calcul quantique, nous utiliserions des qubits. Indépendamment du mot utilisé la phrase reste la même "une valeur est représentée comme une collection de bits / traces / Qubits dans un registre ou un magasin de mémoire (électronique, mécanique, magentique, etc.)." Y a-t-il une meilleure définition dans votre domaine? S'il vous plaît partagez-le car cela devient idiot :)


Je ne suis pas d'accord sur le fait que «l'informatique binaire» est du tout informatique, bien que je n'ai certainement jamais entendu parler du terme. La plupart des informaticiennes peuvent être effectuées sans référence aux ordinateurs, et le reste est généralement effectué en référence aux machines abstraitées au-dessus du niveau de bits. Je ne peux pas penser à beaucoup "informatique" qui se soucie vraiment de la manière dont les choses sont représentées une fois mise en œuvre.


@Gien, vous ferez un excellent architecte informatique;)



0
votes

4
votes

Ici, je vais prendre un coup: une valeur est une pièce d'informations stockées (au sens théorique des informations) pouvant être manipulée par l'ordinateur.

(Je ne dirai pas qu'une valeur a signification; un nombre aléatoire dans un registre peut n'avoir aucune signification, mais c'est toujours une valeur.)


20 commentaires

Sûr; Un nombre aléatoire contient beaucoup d'informations, mais pourrait n'avoir aucun sens à personne.


Je suis enlevée cela parce que je pense que c'est le plus proche que nous puissions obtenir, si nous interprétons des "informations" dans le sens de "une séquence ordonnée de symboles". Si nous prenons cette définition, c'est isomorphique avec la définition que j'ai donnée en fonction de la bande de Turing.


Sur la réflexion, je suis mal à l'aise avec "qui peut être manipulé par l'ordinateur". Qui fait référence aux valeurs de première classe uniquement. Des valeurs de première classe, nous pouvons avoir des valeurs plus élevées que nous pouvons raisonner, mais qui ne peuvent pas être manipulées par l'ordinateur sans les encoder dans une représentation de première classe.


Je vois que ceci est une véritable différence substantielle entre nos définitions. Par exemple, vous diriez que toute fonction est une valeur, car vous pouvez évidemment le représenter uniquement comme une série de bits. Je préférerais utiliser "la valeur" pour signifier uniquement des choses plus simples et plus "atomiques" qui sont réellement manipulées directement par l'ordinateur. Peut-être que votre définition est meilleure, mais la mienne correspond à ce qui est dans ma tête quand j'entends "valeur".


@MQuander, je penserais qu'un nombre aléatoire ne code que 1 pièce d'information. C'est la valeur, comment vous interprétez ce numéro à vous de décider et il y a là les vagues Wells Up. La valeur doit avoir un sens à l'ordinateur, n'est-ce pas? Si cela ne signifie rien à l'appareil (et j'étends «Signification» un peu, car l'ordinateur est généralement accepté comme non sensible), comment peut-il le manipuler?


@Gien, mais la question est très spécifiquement sur la valeur en termes de programmation et que je suppose (une très mauvaise chose que je sache) que c'est également en termes de programmation d'un ordinateur.


«Une information (dans le sens de l'information-théorique) pouvant être manipulée par ordinateur» soit une version améliorée de votre définition?


@MQuander, il y a beaucoup de langages de programmation permettant de manipuler des fonctions comme des valeurs de première classe (par exemple Haskell, ML, Scala, etc.). Nous devons également envisager des langues basées sur d'autres parties du cube Lambda, où les types sont des valeurs et peuvent être calculées, ou des types peuvent dépendre des valeurs. Il semble que la définition basée sur le calcul est inutilement restrictive.


Tout est fou de la fin, des mots, des lettres et des chiffres ne sont que des abstractions symboliques après tout. Damn Heisenberg!


@Gien: ma compréhension intuitive de la valeur implique la citoyenneté de première classe. Pouvez-vous donner un exemple de certains objets de classe non de première classe qui sont évidemment des valeurs?


Toute sorte de calcul sur les types semble adapter cette définition.


De plus, dans le contexte de quelque chose comme c, un tableau semble être une valeur dans le sens évident, mais ne peut être manipulée comme une entité de première classe.


Donnez-moi un essai seul: 1. Sans mentionner un langage de programmation P avec une notion de sémantique s notion «valeur» n'a pas de sens. 2. S'il existe une réduction de la sémantique RS qui est équivalente à S, les valeurs sont ces termes de RS qui se réduit à eux-mêmes. 3. S'il existe une sémantique "impérative", c'est (c'est-à-dire une sémantique avec un seul stockage mentionné en elle) équivalent à S. ALORS valeurs sont exactement des éléments stockés dans le stockage de l'établissement. 4. S'il n'y a pas de telles sémantiques définissables comme dans (2) ou (3), alors dans le contexte de la "valeur" de P n'a pas de sens.


ISO C: "Valeur: = Signification précise du contenu d'un objet lorsqu'il est interprété comme ayant un type spécifique". Open-Std.org/jtc1/sc22/wg14/ www / docs / n1256.pdf


Je ne suis pas sûr que je conviens que les valeurs doivent être sous une forme normale par rapport à une sémantique de réduction. Qu'en est-il de l'évaluation paresseuse? Il semble que l'on puisse éventuellement manipuler des valeurs toujours réductibles. Je suis d'accord avec le point 3. Pourriez-vous rendre la définition plus complète pour couvrir une sorte de sémantique dénotationnelle? Peut-être que les valeurs sont les termes terrestres atomiques?


@Gien: "Pourriez-vous rendre la définition plus complète pour couvrir une sorte de sémantique dénotationnelle?" Non, mes antécédents de CS ne suffisent pas pour cela. Ceci est votre tour!


À propos de l'évaluation paresseuse: la relation de réduction peut être définie comme une réduction bêta de la tête uniquement. Et c'est tout.


Existe-t-il fort besoin d'étui de sémantique dénotationnel? Pour tout DNS, il est possible de définir une sémantique opérationnelle équivalente, alors ma définition couvre-la de cette façon.


Non, pas de besoin fort. Cela pourrait simplement en faire un peu plus convaincant. En tant que question d'intérêt, pourquoi est-il nécessaire de parler de sémantique spécifique? J'utilise le terme "interprétation" dans ma définition, qui est bien compris en ce qui concerne toute sémantique.


@Gien: "Pourquoi est-il nécessaire de parler de sémantique spécifique?" Il existe de nombreuses situations où les interprétations se produisent, mais aucune valeur n'est définissable, car manque de calculs dans le contexte. Ainsi, basculer sur des «interprétations» sera trop générale. J'utilise la sémantique juste pour épingler le contexte informatique. Aussi (comme dans le cas où HASKELL), il peut être montré que quelle est la valeur et ce qui ne fonctionne pas en fonction du calcul et du langage de programmation mentionné dans le contexte actuel.



5
votes

Basé sur les commentaires en cours sur les "bits" étant une définition inacceptable, je pense que celui-ci est un peu mieux (bien que possible, toujours imparfait):

Une valeur est quelque chose de représentable sur un morceau de bande de machine éventuellement infinie.

Edit: Je rafore cela un peu plus.

une valeur est membre de l'ensemble des interprétations possibles de toute séquence éventuellement infinie de symboles.

Cela équivaut à la définition antérieure basée sur la bande de machines Turing, mais il est en fait de mieux.


41 commentaires

Vous pourriez aussi bien dire que la valeur est une valeur qui peut être mappée sur un entier. C'est la même déclaration et plus claire. (édité légèrement, "Entier" au lieu de nombre)


Mais ensuite, la définition de "valeur" devient éventuelle sur la définition de "entier", et je n'ai pas envie d'ouvrir cette boîte de vers. Cependant, il semble que cela puisse être utilisé pour formuler une définition acceptable alternative-mais équivalente.


Pourquoi un entier? Une machine complète Turing peut sûrement représenter d'autres formes numériques. Après tout, un entier n'est qu'une représentation commode d'un numéro de point flottant avec un exposant de 0.


Je pense que le point de départ est que toute séquence de symboles éventuellement infinie est suffisante. Une fois que vous avez cela, ils s'effondrent tous dans la même définition.


Oui, mais toutes les autres formes numériques que cela peuvent représenter peut être mappée en un à un en entiers. Par exemple, il ne peut pas représenter directement un numéro irrationnel, à moins que vous ne puissiez définir ce nombre irrationnel en fonction de quelque chose d'autre. (Mais cela peut représenter des nombres rationnels, car ils mappent des entiers.)


Pourquoi "éventuellement infini", pas seulement "pièce de ruban adhésif"?


@mquander, mais aucun des humains ne peut ni. Nous utilisons des symboles pour représenter des nombres irrationnels comme vous le feriez dans un programme.


Juste pour être très précis que nous ne nous contraindrons pas aux choses finis. Les choses infinies peuvent être des valeurs, même si nous ne pouvons pas facilement calculer les utiliser.


Oui, cela pourrait, comme vous l'avez souligné correctement plus tôt, est en réalité le cas dans la plupart des applications réelles. Le code et les données sont manipulés et représentés de la même manière au niveau le plus bas, nous utilisons simplement des abstractions de niveau supérieur pour les séparer. Nous pouvons déplacer un pointeur sur un morceau de mémoire aléatoire et de la déréence. Le résultat est une valeur, qu'il s'agisse de signaler le code ou des données. (petite édition, ajout de la dernière phrase).


Assez juste :) Cela a été amusant!


"Une valeur est membre de l'ensemble des interprétations possibles de toute séquence de symboles éventuellement infinie." C'est trop général. Et, y a-t-il des objets laissés du tout qui ne sont pas des valeurs?


Sûr. Une vache n'est pas une valeur, mais si vous alignez un champ rempli de vaches et lisez-les comme une notation unaire, c'est une valeur représentée par les vaches. Semble assez raisonnable pour moi.


Prenez, par exemple, Haskell. Dans HASKELLL, les types ne sont pas des valeurs. Il est possible de mener des calculs sur eux, mais ces calculs programmés dans NO HASKELL, mais dans une langue intégrée dans le système de type de Haskell. Du point de vue de cette langue, les types de Haskell sont des valeurs. Ses calculs sont effectués dans la compilation de la compilation tandis que Haskell - en runtime. Donc, il est incorrect de parler de valeurs sans mentionner certaines sémantiques de langage de programmation dans le contexte. J'ai essayé ma propre définition dans les commentaires à la réponse de Moussain.


Enfin, j'ai compris que vous avez répondu. Il y a beaucoup de mentale derrière elle. Mais je suppose que la définition correcte se trouve quelque part entre les nôtres.


Je suis content qu'il y ait une méthode dans ma folie: P aussi, je pense que vous m'avez persuadé Re: la nature de première classe des valeurs.


@ Gian: Considérez qu'un programme informatique avait écrit un autre programme à l'aide de générateur de nombres aléatoires basé sur la radio et que le programme se termine et calcule une certaine valeur. Il n'y a aucune interprétation faite, mais il y a de la valeur. Juste un programme non interprété qui calcule des données non interprétées.


J'utilisais "interprétation" dans le strict sens sémantique, qui pourrait mieux être décrit comme "universe des significations possibles". Ce n'est pas la signification que l'on comprise par un humain, nécessairement, plutôt l'ensemble infini de toutes choses que la séquence pourrait signifie. Je soutiens qu'une valeur est un seul élément tiré de cet ensemble.


@Gien: alors, une notion a est une valeur car elle peut être interprétée de certaines séquences de symboles.


Oui, cela semble être l'effet. Pouvez-vous penser à un contre-exemple évident où cela n'aurait pas de sens?


@Gien: Si quelque chose est une valeur, la signification du mot "valeur" est égale au sens de la signification de mot "notion", mais ces notions sont distinctes dans mon vocabulaire. Tout cela dans le contexte de la programmation, bien sûr. Par exemple, l'ordinateur lui-même n'est pas une valeur tout en ne parlant de langage de programmation qui a un type de compteur d'ordinateur natif.


@Gien: Puis-je demander est une valeur de quelque chose quand aucune langue de programmation mentionnée du tout? Je suppose que non.


Pas tout à fait, car il doit être dérivé d'une éventuelle interprétation d'une séquence de symboles. Il semble que "notion" n'a pas cette exigence. Il peut capturer une incertitude ou un non-déterminisme. Il semble que notre restriction soit représentée par des séquences de symboles exclut la représentation directe de ces choses, plutôt que nous serions obligés de le quantifier d'une manière ou d'une autre ou de coder ces concepts à l'aide de valeurs qui correspondent à notre définition.


Oui, je pense que quelque chose peut être une valeur par ma définition sans référence à un langage de programmation. Vous devez probablement parler de Certains type de définition formelle ou semi-formelle, sinon l'ensemble des interprétations possibles devient quelque chose de très proche dans Powerset de tout dans l'univers.


@Gien: Il peut capturer une incertitude ou un non-déterminisme ». D'accord, j'avais tort de la" valeur "=" notion ".


@ Gian: Il me semble que nous capturons deux notions légèrement distinctes: «Valeur en langage de programmation» et «valeur potentielle». Mais dans le contexte de la programmation, pas dans son contexte de logique, ni de mathématiques, ou de systèmes formels, vous semble-t-il que ma notion est plus naturelle?


@Gian: Laissez définir une logique avec une langue formelle composée d'une phrase unique abc , qui a une règle d'inférence unique abc | - abc et unique axiom | - ABC . Sont des interprétations possibles de ces sujets logiques à votre définition? Si oui, alors toute déclaration est de valeur, car Singleton Séquence de symboles ABC peut être interprété comme absolument toute déclaration.


Eh bien, c'est une séquence de symboles, nous pourrions donc choisir de l'interpréter comme une formule logique (qui est une valeur), ou nous pourrions le traiter comme un codage d'un numéro de base-n (qui est une valeur), ou en tant que chaîne (qui est une valeur) ou de quelque autre manière.


@Gien: D'accord. Mais je ne comprends toujours pas comment puis-je préciser "en C," pour "déclaration" n'est pas une valeur "en utilisant votre" valeur potentielle ". Il est trop général et indépendant; Selon cela, la déclaration 'for' est toujours une valeur.


@Vag, ce n'est pas une valeur parce que nous l'excluons de l'ensemble des interprétations possibles par sa définition. Si nous avons décidé de penser à cela comme une chaîne ou autre chose, alors c'est évidemment une valeur. Tout texte de programme peut être interprété comme valeur, mais si nous disons explicitement que ce n'est pas le cas, cette interprétation n'est pas dans l'ensemble des interprétations possibles.


@Gien: est défini sur tous les nombres réels une valeur? Sont des chiffres naturels incutables (par exemple des castors occupés)? (Dans le contexte de la programmation, bien sûr, pas de prouver le théorème assisté par ordinateur). Ils ne sont jamais manipulés par ordinateur mais peuvent être codés.


@Gian: Votre définition peut-elle être simplifiée à "x is value iff x peut être codée"?


Pour le contexte de la programmation, je pense que nous devons nous limiter à nous limiter à l'ensemble des interprétations possibles finis . Quant au deuxième commentaire, je pense que cela doit être une séquence de symboles. Sinon, toute question dans l'univers est un codage de lui-même.


C'était une très bonne question, au fait, et cela a été très intéressant. Il est regrettable que beaucoup de gens semblaient manquer que leur utilisation intuitive du terme "valeur" désigne la complexité du concept qu'il représente en réalité.


@Gian: Il s'agit d'un exemple d'erreur généralisée: utiliser des significations qui ne sont pas totales mais des images de couple de cas particuliers. L'un des symptômes de ce qui est "définitions" comme "x est quelque chose ressemble à Y ou à Z".


@Gian: Les personnes mathématiques sont moins soumises à ce bogue: Mathoverflow.net/Questtions/30381/Définition-function < / a>


@Vag - Qu'est-ce que la Réponse de Mathoverflow à votre définition de valeur dans le contexte des mathématiques?


@Gian: n'est-elle pas interprété l'attribution du sens?


@Lazarus, oui, dans le sens le plus lâche. La définition que nous avons construite n'est pas subissant d'attribuer des significations aux choses pour qu'ils soient des valeurs, mais cela s'appuie simplement sur l'inclusion dans l'ensemble de toutes ces interprétations possibles.


@ Gian: Je dirais que c'est une affectation du sens dans le sens le plus étroit, mais nous nous disputons la sémantique de la langue anglaise. Je vois la largeur de votre définition, mais je ne pense pas pouvoir dépasser le mot "valeur" et l'assignation de valeur comme donnant quelque chose de valeur et donc de sens et / ou de contexte. C'est probablement mon âge :)


Il est vrai que nous comptons sur la capacité de céder un sens pour faire fonctionner la définition, mais au lieu d'insister sur le fait qu'une séquence de symboles ait une signification, nous inciterons simplement qu'il peut devenir une valeur si l'ensemble des significations que nous pourrions lui donner n'est pas vide. Je pense que nous sommes essentiellement d'accord avec l'autre ici :)


@Gien: Je pense que nous sommes! Cette clarification que «valeur» n'est applicable que si l'ensemble des significations n'est pas vide a du sens pour moi. C'était l'inférence qu'il y a de la valeur avec un ensemble vide de significations qui me faisait mal. Votre définition est définitivement meilleure en tant que résumé de valeur, la mienne peut-être trop enracinée dans l'acte de programmation de +1 à vous;)



6
votes

Je viens de jeter un coup d'œil à des "types et langages de programmation" de Pierce - il glisse une définition raisonnablement précise de "valeur" dans un contexte de programmation dans le texte:

[...] Définit un sous-ensemble de termes, appelé valeurs , qui sont des résultats définitifs possibles de l'évaluation

Cela semble être une définition assez bien rangée - c'est-à-dire que, nous prenons l'ensemble de tous les termes possibles et ceux qui peuvent éventuellement être laissés après que toute évaluation ait eu lieu sont des valeurs.


2 commentaires

Notez qu'il coïncide parfaitement avec ma définition précédemment proposée. Une question reste si la sémantique de la langue est donnée sans notion d'évaluation? Il peut s'agir d'un langage de montage, par exemple. Ma définition fonctionne bien avec ce cas.


Pre-State / post-State semble-t-il une analyse analogue raisonnable dans les langues de niveau supérieur?



3
votes

En bref, une valeur est une signification attribuée à une variable (l'objet contenant la valeur)

Par exemple Type = Boolean; Nom = Aide; variable = un emplacement de stockage; valeur = ce qui est stocké à cet endroit;

Répartition supplémentaire:

x = 2; où X est une variable tandis que 2 est la valeur stockée dans x.


1 commentaires

Cela signifie-t-il que la valeur du nom est une aide?