O que é independência de plataforma? A plataforma cruzada e a 'independência da plataforma' são iguais?

11

O que realmente significa independência de plataforma? Qual é o critério para chamar uma plataforma de linguagem independente? A plataforma cruzada e a 'independência da plataforma' são iguais?

(Esta pode ser uma pergunta para auto-estudo, mas eu gostaria de ouvir de especialistas do Stack overflow. Existem muitas definições e pontos de vista sobre isso na interenet e algumas delas são confusas)

Aprendiz
fonte
Penso que o termo "plataforma independente" é mais adequado para aplicar a produtos de programas específicos, não à linguagem em si.
3
Pessoalmente, vejo Java como independente de plataforma, porque a JVM em cada plataforma precisa oferecer suporte ao mesmo conjunto de instruções e código para qualquer programa Java (para um valor genérico de "any"). Por outro lado, o C # seria considerado multiplataforma, pois é executado no Mono e no .NET, mas não no mesmo grau.
1
@ Randolph, você parece esquecer que grande parte da infraestrutura dotnet está cansada do Windows - por exemplo, todas as coisas da interface do usuário. Você não pode comparar a independência da plataforma do Java com o dotnet + mono, pois nem chega perto. Existem tantas partes chamadas parte do padrão que o único problema é que elas só funcionam no Windows. Não vamos esquecer que o pinvoke está espalhado por todo o lugar e o uso dele não será portátil.
mP01 24/01
Você poderia explicar a diferença entre independência de plataforma e plataforma cruzada?
@mP - Eu não esqueci nada disso. Na verdade, eu pensei que estava bastante claro quando disse "não no mesmo grau", devido ao fato de que a maior parte da interface do usuário está ligada ao Windows. NÃO estava comparando Java com .NET e Mono, se você ler com atenção: eu disse que Java é independente de plataforma e .NET / Mono é multiplataforma. Se for uma comparação, acho que significa que maçãs e peras devem ser equivalentes também. Perdoe-me se estou parecendo uma pessoa íntegra, mas não gosto de palavras sendo colocadas na minha boca.

Respostas:

8

Nenhuma independência de plataforma e plataforma cruzada não são iguais. vamos dar uma olhada nas seguintes explicações para entender.


Software multiplataforma


multiplataforma, ou multiplataforma, é um atributo conferido ao software de computador ou aos métodos e conceitos de computação que são implementados e interoperam em várias plataformas de computador

Pode ser dividido em dois tipos.

  1. Um requer construção ou compilação individual para cada plataforma suportada,
  2. E o outro pode ser executado diretamente em qualquer plataforma sem preparação especial, por exemplo, software escrito em linguagem interpretada ou bytecode portátil pré-compilado para o qual os intérpretes ou pacotes de tempo de execução são componentes comuns ou padrão de todas as plataformas.

Um software multiplataforma ou multiplataforma: o software está disponível em mais de uma plataforma (sistemas operacionais). Isso pode significar duas coisas -

  1. O software é fornecido com diferentes compilações / aplicativos para diferentes plataformas [pacotes diferentes para Windows, este para Linux].
  2. O software pode ser executado (com o mesmo download) em várias plataformas, mas NÃO em todas.

Plataforma independente


O software independente de plataforma não depende de nenhum recurso especial de uma única plataforma ou, se houver, lida com esses recursos especiais para poder lidar com várias plataformas.

Software independente de plataforma : software independente de plataforma em seu sentido estrito significa -

  • Instale em qualquer lugar e execute em qualquer lugar - não importa onde você esteja. Embora você possa obter instaladores diferentes (para plataformas diferentes), isso seria apenas para facilitar os usuários. Haveria opções para você instalar diretamente do código fonte.




Agregados de diferentes fontes

Shekhar_Pro
fonte
@Shekhar: Coincidentemente, eu também bati nas mesmas fontes (Wikipedia AND openalternatives.org/site/2008/08/… ) de onde você pode ter tirado o material. Muito obrigado.
@CSharpLearner como mencionei na parte inferior do meu post
0

Minha "definição intestinal" corresponde ao que Shekhar disse; multiplataforma == cria para muitas plataformas incompatíveis, independente de plataforma == funciona independentemente da plataforma.

É claro que se plataforma == sistema operacional fácil de ver, nesse caso, um script Python provavelmente seria "independente de plataforma", desde que haja um intérprete Python no SO que você pretende executá-lo.

De certa forma, a plataforma do script é Python. As plataformas são, afinal, pilhas padrão de software + hardware que abstraem algumas funcionalidades.

Não tenho certeza qual é o meu ponto.

ggambett
fonte
0

Para expandir um pouco a resposta de Shekhar_Pro ,

Independente da plataforma executará qualquer plataforma. Pense em aplicativos Java ou Python sem nenhum material específico da plataforma que possa ser executado no Windows, Mac e Linux sem necessariamente recompilar ou reescrever.

Os produtos de plataforma cruzada são uma chaleira diferente de peixe. Onde alguns aspectos de um produto de plataforma cruzada podem compartilhar requisitos comuns e até mesmo o código fonte (por exemplo, algumas funções matemáticas implementadas em C), cada versão do produto é gravada e compilada inteiramente para uma plataforma específica. Pense no Mozilla Firefox, por exemplo, que possui versões diferentes em execução no Mac, Windows, Linux, BeOS, Android e assim por diante. Cada versão é semelhante e pode até ter estruturas de dados compatíveis, mas cada versão também é desenvolvida de forma independente e geralmente é escrita usando linguagens de programação e APIs completamente diferentes, numeração de versão diferente e assim por diante.

S.Robins
fonte
-1

Independência de plataforma significa que um programa escrito, testado e funcional em uma plataforma ou sistema operacional funcionará sem modificações em uma plataforma / sistema operacional diferente. Naturalmente, se ele é copiado para um diretório diferente, alguns arquivos de configuração pequenos podem precisar de caminhos corrigidos, mas outros devem funcionar.

mP01
fonte