Qu'est-ce que l'agnosticisme linguistique et pourquoi l'appelle-t-on ainsi?


55

Quand quelque chose est-il agnostique? Pourquoi est-ce appelé ainsi?


7
Je pense que cela devrait vraiment s'appeler polythéisme linguistique, car on est convaincu qu'il existe plus d'une voie pour faire quelque chose.
chrisaycock

1
@muntoo, le pseudo-code est lui-même un langage.
SK-logic le

1
@ SK-logic OK, alors; que diriez- vous : ce que vous écrivez dans le pseudo-code est une langue agnostique ?
Mateen Ulhaq le

1
@ chrisaycock Vous voulez dire polyglotisme ?
dukeofgaming

1
Ce devrait vraiment être une langue œcuménique. Ce n'est pas comme si vous ne saviez pas s'il existe ou non des langages informatiques!
Rob K

Réponses:


58

Agnostique du langage fait référence à des aspects de la programmation indépendants de tout langage de programmation spécifique. Du moins, c'est comme ça que je l'entends depuis trente ans.

Le mot "agnostique" est dérivé du grec ancien pour "ne sait pas". Donc, quelque chose qui est "agnostique de langue" n'a pas besoin de connaître les langages informatiques; cela signifie la même chose que indépendant du langage . Les choses qui seraient indépendantes de la langue incluent les algorithmes, ou Agile, ou une bibliothèque d'exécution avec des liaisons vers de nombreuses langues.

Certaines fonctionnalités de Mac OS X ne sont pas indépendantes de la langue , car elles sont réellement conçues pour être utilisées avec Objective C, ne peuvent être utilisées qu'avec difficulté en C ou C ++ et n'ont même pas de liaisons pour de nombreuses langues.

Il peut aussi y avoir un sous-texte à utiliser "langage agnostique" plutôt que d'autres termes.

En anglais familier, quelqu'un qui se dit "agnostique" veut dire qu'il n'est ni religieux ni athée: il "ne sait pas" à propos de Dieu. C'est généralement du code verbal pour "Je n'aime pas parler de religion, alors n'essayez pas de me convertir."

Ainsi, parfois, lorsque les gens parlent d’être «agnostiques en langues», ils essaient de rester en dehors des discussions sur le meilleur langage informatique.


5
BTW, agnostique vient de "une" (pas) + "gnose" (connaissance). D'autres termes comme "athée" et "atypique".
Bob Murphy

2
Oui, j'ai toujours pris cela comme une référence au fait que les guerres de la langue sont des guerres de religion: les techniques / conseils / concepts linguistiques indépendants évitent la guerre sainte.
Carson63000

Hors sujet: gnostique / agnostique fait référence à la connaissance. Athéiste / théiste se réfère à la croyance ou à l'affirmation de l'existence. Donc, techniquement, vous pouvez avoir un croyant religieux agnostique ou un athée agnostique. Mais l'explication était très claire. Vous pouvez également parler d'un système agnostique de base de données
Borjab le

@ Borjab Je suis un croyant agnostique en Vim. Mais j'utilise Emacs pour des raisons pratiques.
Brandin

Agnostique du langage fait référence à des aspects de la programmation indépendants de tout langage de programmation spécifique. Quand vous dites que cela signifie - t-il ou signifie - t-il tout ? La cardinalité est critique. Par exemple, si une instruction s'applique aux langues de la programmation orientée objet et n'est pas limitée à une langue spécifique de la programmation orientée objet, mais ne s'applique pas aux langues fonctionnelles, la langue de la déclaration est-elle agnostique?
jaco0646

7

Lorsqu'une solution s'appelle "langage-agnostique", vous dites littéralement que votre solution "ne connaît pas" les langues, c'est-à-dire qu'elle est universelle ou indépendante des spécificités de la langue (paradigmes, idiomes de langage, etc.).

Par exemple, les modèles de conception sont indépendants de la langue, car leur description de l'implémentation spécifique importe peu, tant qu'elle colle à l'ensemble ou à un sous-ensemble du modèle (v.gr. certains modèles de conception peuvent être implémentés sans POO) .

UML est agnostique à la langue, BPMN est agnostique à la langue, ERM est agnostique à la langue. Un algorithme en pseudo-code est indépendant du langage ...

Tout ce qui est censé être programmé mais non décrit dans un langage spécifique peut être appelé agnostique.


2
Agnostique signifie "ne sait pas à propos de", pas "ne croit pas en". Différence subtile mais importante!
JacquesB

BPMN n’est certainement pas indépendant de la langue, car il modélise les processus. Il existe des langages de programmation dans lesquels vous définissez simplement la condition préalable et le résultat souhaité et le processus se déroule implicitement, par exemple Prolog. Même Haskell et BPMN ne vont pas très bien ensemble, en raison de la stratégie d'évaluation paresseuse de Haskell qui empêche les choses de se produire selon un ordre de choses défini de manière impérative.
back2dos

6

Paradigmes ou caractéristiques qui ne s'appliquent pas à une seule langue.


2

Je n'ai pas entendu le terme auparavant, cependant, je suppose que cela signifie apprendre des aspects de la programmation indépendants de tout langage de programmation spécifique.


1
pourquoi est-ce appelé ainsi?
Louis Rhys

1
C'est à peu près la façon dont je l'ai entendu utilisé ces trente dernières années.
Bob Murphy

1
Je supprime cette réponse pour l'afficher en tant que réponse.
Bob Murphy

@bob: d'accord. mais où est la réponse?
Louis Rhys

@Louis Rhys: Désolé, il m'a fallu quelques minutes pour l'écrire correctement. C'est levé
Bob Murphy
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.