O que é agnosticismo de linguagem e por que é assim chamado?

52

Quando algo é agnóstico em termos de linguagem? Por que é assim chamado?

    
por Louis Rhys 21.12.2010 / 04:52
fonte

4 respostas

54

Idioma agnóstico refere-se a aspectos de programação que são independentes de qualquer linguagem de programação específica. Pelo menos, é como eu ouvi isso nos últimos trinta anos.

A palavra "agnóstico" é derivada do grego antigo para "não sei". Então, algo que é "agnóstico de linguagem" não precisa saber sobre linguagens de computador; isso significa o mesmo que idioma independente . Coisas que seriam agnósticas em termos de linguagem incluem algoritmos, ou Agile, ou uma biblioteca de tempo de execução com ligações a vários idiomas.

Alguns recursos do Mac OS X não são agnósticos em termos de linguagem, porque são realmente projetados para serem usados no Objective C, só podem ser usados com dificuldade em C ou C ++, e nem sequer têm ligações para vários idiomas.

Também pode haver um subtexto para usar "agnóstico de idioma" em vez de outros termos.

Em inglês coloquial, alguém que diz que eles são "agnósticos" significa que eles não são nem religiosos nem ateus: eles "não sabem" sobre Deus. Isso geralmente é um código verbal para "Eu não gosto de falar sobre religião, então não tente me converter".

Então, às vezes, quando as pessoas falam que são "agnósticas em termos de linguagem", tentam ficar de fora dos argumentos sobre qual linguagem de computador é melhor.

    
por 21.12.2010 / 06:29
fonte
6

Paradigmas ou recursos que não são aplicados a apenas um idioma.

    
por 21.12.2010 / 05:23
fonte
6

Quando uma solução é chamada "agnóstico de idioma", você está literalmente dizendo que sua solução "não sabe sobre" idiomas, ou seja, é universal ou independente de especificidades de linguagem (paradigmas, idiomas, etc).

Por exemplo, padrões de design são agnósticos quanto à linguagem, porque a maneira como eles são descritos, a implementação específica não importa, desde que permaneça no todo ou em um subconjunto do padrão (por exemplo, alguns padrões de design podem ser implementados sem OOP).

A UML é independente de linguagem, o BPMN é agnóstico de linguagem, o ERM é independente de idioma. Um algoritmo no pseudo-código é agnóstico de linguagem ...

Qualquer coisa que seja programada mas não descrita em um idioma específico pode ser chamada de agnóstica de linguagem.

    
por 21.12.2010 / 07:28
fonte
2

Eu não ouvi o termo antes, no entanto, eu diria que isso significa aprender aspectos da programação que são independentes de qualquer linguagem de programação específica.

    
por 21.12.2010 / 05:15
fonte