Pergunta

Eu tropecei nessa lista de idiomas de 'programação' e descobri que idiomas populares como o Python não são padronizados? Por que isso, e o que significa 'padronizado'?

Foi útil?

Solução

"Padronizado" significa que o idioma possui um padrão formal e aprovado, geralmente escrito por ISO ou ANSI ou ECMA. Muitos idiomas modernos de código aberto, como Python, Perl e Ruby, não são formalmente padronizados por um corpo externo e, em vez disso, têm um de fato Padrão: Qualquer que seja a implementação original de trabalho.

Os benefícios de padronizar um idioma são a) Você sabe que o idioma não mudará aleatoriamente em você, b) Se você quiser escrever seu próprio compilador/intérprete para o idioma, você tem um documento muito claro que informa que comportamento tudo deve Em vez de ter que testar esse comportamento na implementação original. Por esse motivo, os idiomas padronizados mudam lentamente e geralmente têm várias implementações importantes.

Um idioma realmente não precisa ser padronizado para ser útil. A maioria dos idiomas não padronizados não fará apenas alterações aleatórias para trás, sem motivo (e, se o fizerem, levam dez anos para decidir como*tossir*perl6*tosse*), e idiomas não padronizados podem adicionar novos recursos experimentais muito mais rápidos (e mais portuamente) do que os idiomas padronizados.

Alguns idiomas padronizados:

Idiomas não padronizados:

  • Perl
  • Pitão
  • Php
  • Objective-C

Uma lista completa está em Wikipedia.

Outras dicas

Existem "padrões" e "padrões".

A maioria das pessoas significa principalmente que um padrão é aprovado por uma organização de redação de padrões: ISO, ECMA, EIA, etc. Os advogados chamam esses padrões de Jure. Há a força da lei.

Além disso, existem "padrões de fato".

Algumas pessoas, também corrompem a palavra, adicionando "padrão da indústria" ou "nome do vendedor Padrão ". Isso é apenas um ruído de marketing sem sentido.

Um padrão de fato é algo padronizado na prática (porque todo mundo faz e concorda que está fazendo dessa maneira), mas é não apoiado por alguma organização de padrões.

O Python possui um padrão de fato, não um padrão de Jure.

Os meios padronizados existem uma especificação para o idioma (um "padrão"). Java, por exemplo, tem uma especificação. O Perl 5 não é (o código -fonte é o "padrão"), mas o Perl 6 irá.

Ver Existe uma especificação da linguagem Python?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top