Czym jest niezależność platformy? Czy platforma i niezależność platformy są takie same?

11

Co tak naprawdę oznacza niezależność platformy? Jakie jest kryterium niezależności platformy językowej? Czy platforma i niezależność platformy są takie same?

(To może być pytanie do samodzielnej nauki, ale chciałbym usłyszeć od ekspertów z przepełnienia stosu. Istnieje wiele definicji i poglądów na ten temat w sieci interenet, a niektóre z nich są mylące)

Uczeń
źródło
Myślę, że termin „niezależny od platformy” jest bardziej odpowiedni do zastosowania do konkretnego produktu programowego, a nie samego języka.
3
Osobiście postrzegam Javę jako niezależną od platformy, ponieważ JVM na każdej platformie musi obsługiwać ten sam zestaw instrukcji i kodu dla dowolnego programu Java (dla ogólnej wartości „any”). Z drugiej strony, C # będzie uważany za wieloplatformowy, ponieważ działa zarówno na Mono, jak i .NET, ale nie w tym samym stopniu.
1
@Randolph wydaje się, że zapominasz, że tak wiele infrastruktury dotnet jest zmęczone oknami - np. Wszystkie elementy interfejsu użytkownika. Nie można porównać niezależności platformy Java od dotnet + mono, nawet nie jest blisko. Jest tak wiele części zwanych częścią standardu, jedynym problemem jest to, że działają tylko w systemie Windows. Nie zapominajmy, że pinvoke jest rozrzucone po całym miejscu i jego użycie nie będzie przenośne.
mP01 24.01.11
Czy możesz wyjaśnić różnicę między niezależnością między platformami a niezależnością platform?
@mP - wcale tego nie zapomniałem. W rzeczywistości pomyślałem, że jestem całkiem jasny, kiedy powiedziałem „nie w tym samym stopniu”, ponieważ większość interfejsu użytkownika jest powiązana z systemem Windows. NIE porównywałem Javy z .NET i Mono, jeśli uważnie czytasz: Powiedziałem, że Java jest niezależna od platformy, a .NET / Mono jest wieloplatformowy. Jeśli to porównanie, myślę, że oznacza to, że jabłka i gruszki również powinny być równoważne. Wybacz mi, jeśli wydaje mi się, że to łaknienie, ale nie doceniam słów, które wkładam do ust.

Odpowiedzi:

8

Żadna niezależność platformy i platforma nie są takie same. spójrzmy na poniższe wyjaśnienia, aby zrozumieć.


Oprogramowanie wieloplatformowe


wieloplatformowy lub wieloplatformowy, to atrybut nadawany oprogramowaniu komputerowemu lub metodom i koncepcjom komputerowym, które są wdrażane i współpracują na wielu platformach komputerowych

Można go podzielić na dwa typy.

  1. Jeden wymaga indywidualnego budowania lub kompilacji dla każdej obsługiwanej platformy,
  2. Drugą można uruchomić bezpośrednio na dowolnej platformie bez specjalnego przygotowania, np. Oprogramowanie napisane w języku interpretowanym lub wstępnie skompilowany przenośny kod bajtowy, dla którego tłumacze lub pakiety wykonawcze są wspólnymi lub standardowymi komponentami wszystkich platform.

Oprogramowanie wieloplatformowe lub wieloplatformowe: oprogramowanie jest dostępne na więcej niż jednej platformie (systemie operacyjnym). Może to oznaczać dwie rzeczy -

  1. Oprogramowanie jest dostarczane z różnymi kompilacjami / aplikacjami dla różnych platform [różne pakiety dla systemu Windows, ten dla systemu Linux].
  2. Oprogramowanie można uruchomić (z tym samym pobieraniem) na wielu platformach, ale NIE na wszystkich.

Niezależny od platformy


Oprogramowanie niezależne od platformy nie opiera się na żadnych specjalnych funkcjach żadnej pojedynczej platformy, a jeśli tak, obsługuje te specjalne funkcje, dzięki czemu może obsługiwać wiele platform.

Oprogramowanie niezależne od platformy : Oprogramowanie niezależne od platformy w ścisłym tego słowa znaczeniu oznacza -

  • Zainstaluj w dowolnym miejscu i uruchom wszędzie - nie ważne gdzie jesteś. Chociaż możesz uzyskać różnych instalatorów (dla różnych platform), byłoby to dla wygody użytkowników. Istnieją opcje instalacji bezpośrednio z kodu źródłowego.




Zagregowane z różnych źródeł

Shekhar_Pro
źródło
@ Shekhar: Przypadkowo ja też trafiłem na te same źródła (Wikipedia ORAZ openalternatives.org/site/2008/08/… ), skąd mogłeś wziąć materiał. Dziękuję Ci bardzo.
@CSharpLearner, jak wspomniałem na dole mojego postu
0

Moja „definicja jelit” odpowiada temu, co powiedział Szekhar; multiplatform == buduje dla wielu niekompatybilnych platform, niezależna od platformy == działa niezależnie od platformy.

Oczywiście, jeśli platforma == system operacyjny jest łatwy do zobaczenia, w takim przypadku skrypt w języku Python prawdopodobnie byłby „niezależny od platformy”, o ile w systemie operacyjnym zamierzasz uruchomić interpreter języka Python.

W pewnym sensie platformą skryptu jest Python. Platformy to przecież standardowe stosy oprogramowania + sprzętu, które wyodrębniają niektóre funkcje.

Nie jestem jednak pewien, o co mi chodzi.

ggambett
źródło
0

Aby nieco rozwinąć odpowiedź Shekhar_Pro ,

Platform Independent wykona dowolną platformę. Pomyśl o aplikacjach Java lub Python bez specyficznych dla platformy rzeczy, które można wykonać w systemach Windows, Mac i Linux bez konieczności ponownej kompilacji lub przepisywania.

Produkty wieloplatformowe są całkowicie innym kotłem rybnym. Tam, gdzie niektóre aspekty produktu wieloplatformowego mogą mieć wspólne wymagania, a nawet kod źródłowy (na przykład niektóre funkcje matematyczne zaimplementowane w C), każda wersja produktu jest napisana i skompilowana w całości dla określonej platformy. Pomyśl na przykład o Mozilli Firefox, która ma różne wersje działające na komputerach Mac, Windows, Linux, BeOS, Android i tak dalej. Każda wersja jest podobna i może nawet mieć kompatybilne struktury danych, ale każda wersja jest również opracowywana niezależnie i często jest napisana przy użyciu całkowicie różnych języków programowania i interfejsów API, innej numeracji wersji i tak dalej.

S.Robins
źródło
-1

Niezależność od platformy oznacza, że ​​program napisany, przetestowany i działający na jednej platformie lub systemie operacyjnym będzie działał niezmodyfikowany na innej platformie / systemie operacyjnym. Oczywiście, jeśli zostanie skopiowany do innego katalogu, niektóre małe pliki konfiguracyjne mogą wymagać naprawy ścieżek, ale inne niż powinny po prostu działać.

MP01
źródło