ti-enxame.com

Quais são as razões mais comuns para a falta de compatibilidade

Algumas empresas, como a Blizzard, fazem software que continua a funcionar bem em versões futuras do Windows e com versões mais recentes de suas outras dependências de software. Outras empresas (principalmente aquelas que não são empresas de software hardcore) às vezes escrevem softwares que se quebram com uma versão de um novo sistema operacional ou outra dependência de software. O que as empresas de software hardcore sabem que os outros não? Quais são as principais causas para problemas de compatibilidade?

6
EpsilonVector

O Blizzard Write Write que funciona bem com as futuras versões do Windows (StarCraft ainda joga em 7 por exemplo) ...

ou Microsoft escreveu "versões futuras" de software que é para trás?

Algo como wow não é exatamente "para a frente", já que ainda está em desenvolvimento ativo. Outros softwares, como Starcraft/Warcraft/Diablo foi escrito pelo tempo e acontece a trabalhar ainda porque o MS sai de sua maneira de permitir o software antigo em novos sistemas.

A Blizzard também tem a capacidade e a razão, para atualizar seus velhos jogos. Títulos muito populares que impulsionam seu software atual.

Alguns softwares usam peças hackish/não padrão que não funcionam bem. Configuração exclusiva, dependentes de insetos "velhos" para operar, drivers que não são portados para novos sistemas, etc.

17
WernerCD

Vários motivos:

  1. Eles escrevem para os padrões que continuam a ser apoiados no futuro sistema operacional
  2. Empresas do OS (por exemplo, MS) realmente colocar em uma boa quantidade de código para suportar software mais antigo
  3. Grandes casas de software populares tendem a ter relacionamentos formais ou informais com as empresas do sistema operacional, para que vejam coisas mais cedo.
9
Martijn Verburg

Aqui está minha experiência: há muitos anos, um produto que trabalhei começou a apoiar os plugins de terceiros. Nós enviaríamos uma solicitação para o plugin, que deveria responder. O primeiro parâmetro no plugin foi um número que identificou qual solicitação que estávamos fazendo. Nesse ponto, havia apenas m Solicitação. Ainda documentamos que você deve verificar este número e, se fosse um número que você não entendeu, não faça nada, mas devolva um código de erro com o significado "Eu não entendo esse pedido". Simples o suficiente. A primeira versão do nosso lado lidou com isso corretamente. Mesmo ao enviar o primeiro pedido (o único que poderíamos enviar) Nós verificamos se o plugin respondeu "Não entenda" e lidei com isso.

Em seguida, adicionamos o segundo pedido. Testado com plugins antigos esperando que eles responderiam "Eu não entendo esse pedido". Todos os plugins realizaram a ação para o primeiro pedido. Isso não é compatível :-( Esses plugins foram enviados para os clientes e falhariam com uma nova versão do aplicativo.

O que fizemos: colocar o software em um contexto onde o primeiro pedido poderia ser realizado sem danos. Enviou um pedido totalmente diferente. Se a resposta não foi "Não entenda", então sabíamos a partir disso, que o plugin foi escrito por idiotas e sem pedidos que não sejam os que desenvolvemos foram feitos pela primeira vez.

3
gnasher729

Eu acho que é só que escrever software compatível com encaminhamento requer mais esforço. Se o esforço (= custo) vale a pena a compatibilidade deve ser avaliado pela empresa de liberação.

Por exemplo, os esquemas de banco de dados podem mudar. Eles poderiam ser migrados automaticamente (para melhor experiência do usuário) ou ignorados (para menor esforço de desenvolvimento).

1
Joonas Pulakka

Alguns programadores lêem a documentação e gravar código que usam o sistema operacional da maneira como a documentação informa a eles. Outros programadores escrevem o código mais rápido e dependem de qualquer código que não funcione.

m bom exemplo será o código que não pode lidar com o Windows com um número de versão de dois dígitos; ele não falhará testando no Windows 8, mas quando usado no Windows 10 ...

Então você tem jogos que são escritos para ser o mais rápido possível, ignorando o sistema operacional não se importando se eles funcionarem em alguns anos ...

Faça um programador que se inclinou para o programa trabalhando no software Unix nos dias em que cada fornecedor tem sua própria versão da unidade, esse programador será muito usado para ler os padrões e apenas dependendo do que os padrões dizem. Como ter que enviar seu software em 6 versões diferentes do UNIX ensina você rapidamente para ter cuidado. Compare isso com um programador que aprendeu no VB, onde é comum apenas alterar o código até funcionar ... Mas coloque o "programador do tipo UNIX" na mesma tarefa que o "programador do tipo VB" e muitas vezes a pessoa que aprendeu VB produzirá um resultado que pode ser vendido muito mais rápido.

Ao entrevistar a equipe, as pessoas tendem a escolher como pessoas que pensam, então uma vez que uma empresa tem seus primeiros funcionários, a nova equipe tendem a pensar da mesma maneira.

0
Ian