Apa itu independensi platform? Apakah lintas platform dan 'independensi platform' sama?

11

Apa sebenarnya yang dimaksud dengan independensi platform? Apa kriteria untuk menyebut platform bahasa independen? Apakah lintas platform dan 'independensi platform' sama?

(Ini mungkin pertanyaan untuk belajar sendiri, tetapi saya ingin mendengar dari para ahli dari Stack overflow. Ada banyak definisi dan pandangan mengenai hal itu di interenet dan beberapa dari mereka membingungkan)

Pelajar
sumber
Saya pikir istilah "platform indpendent" lebih cocok untuk diterapkan pada produk programm tertentu, bukan bahasa itu sendiri.
3
Saya pribadi melihat Java sebagai platform independen, karena JVM pada setiap platform harus mendukung set instruksi dan kode yang sama untuk setiap program Java (untuk nilai generik "apa saja"). Di sisi lain, C # akan dianggap lintas-platform karena berjalan pada Mono dan .NET, tetapi tidak pada tingkat yang sama.
1
@ Randolph Anda sepertinya lupa bahwa begitu banyak infrastruktur dotnet yang lelah dengan windows - mis. Semua hal ui. Anda tidak dapat membandingkan independensi platform Java terhadap dotnet + mono, bahkan tidak menutup. Ada begitu banyak bagian yang disebut bagian dari standar satu-satunya masalah adalah mereka hanya bekerja pada Windows. Jangan lupa pinvoke tersebar di semua tempat dan penggunaannya tidak akan portabel.
mP01
Bisakah Anda jelaskan perbedaan antara lintas platform dan independensi platform?
@ MP - Saya tidak lupa sama sekali. Bahkan, saya pikir saya cukup jelas ketika saya mengatakan "tidak pada tingkat yang sama", karena kenyataan bahwa sebagian besar UI terkait dengan Windows. Saya TIDAK membandingkan Java dengan .NET dan Mono, jika Anda membaca dengan seksama: Saya mengatakan bahwa Java adalah platform independen, dan .NET / Mono adalah cross-platform. Jika itu perbandingan, saya kira itu berarti apel dan pir juga harus setara. Maafkan saya jika saya tampil sebagai ranty, tapi saya tidak menghargai kata-kata yang dimasukkan ke dalam mulut saya.

Jawaban:

8

Tidak ada Platform-Independence dan Cross-platform tidak sama. mari kita lihat penjelasan berikut untuk memahami.


Perangkat lunak lintas platform


cross-platform, atau multi-platform, adalah atribut yang diberikan untuk perangkat lunak komputer atau metode dan konsep komputasi yang diimplementasikan dan saling beroperasi pada beberapa platform komputer

Ini dapat dibagi menjadi dua jenis.

  1. Satu membutuhkan bangunan individu atau kompilasi untuk setiap platform yang didukungnya,
  2. Dan yang lain dapat langsung dijalankan pada platform apa pun tanpa persiapan khusus, misalnya, perangkat lunak yang ditulis dalam bahasa yang diinterpretasikan atau bytecode portabel yang telah dikompilasi di mana penerjemah atau paket run-time adalah komponen umum atau standar dari semua platform.

Perangkat lunak multi-platform atau lintas-platform: perangkat lunak tersedia di lebih dari satu platform (sistem operasi). Ini bisa berarti dua hal -

  1. Perangkat lunak ini disediakan dengan berbagai build / aplikasi untuk platform yang berbeda [paket berbeda untuk windows, yang ini untuk linux].
  2. Perangkat lunak ini dapat dijalankan (dengan unduhan yang sama) pada banyak platform tetapi TIDAK semua.

Platform Mandiri


Perangkat lunak yang independen terhadap platform tidak bergantung pada fitur khusus dari platform tunggal mana pun, atau, jika itu benar, menangani fitur khusus tersebut sehingga dapat menangani berbagai platform.

Platform Independent software: Platform independent software dalam arti sempitnya -

  • Instal di mana saja dan jalankan di mana saja - tidak masalah di mana Anda berada. Meskipun Anda mungkin mendapatkan installer yang berbeda (untuk platform yang berbeda), ini hanya untuk kemudahan pengguna. Akan ada opsi bagi Anda untuk menginstal langsung dari kode sumber.




Diagregasi dari Berbagai Sumber

Shekhar_Pro
sumber
@ Sharekhar: Secara kebetulan saya juga mendapatkan sumber yang sama (Wikipedia DAN openalternatives.org/site/2008/08/… ) dari mana Anda mungkin mengambil barang-barang itu. Terima kasih banyak.
@CSharpLearner seperti yang saya sebutkan di bagian bawah posting saya
0

"Definisi usus" saya cocok dengan apa yang Shekhar katakan; multiplatform == build untuk banyak platform yang tidak kompatibel, platform independent == berfungsi terlepas dari platform apa pun.

Tentu saja jika platform == sistem operasi yang mudah dilihat, dalam hal ini skrip Python mungkin akan menjadi "platform independen" selama ada penerjemah Python pada OS yang ingin Anda jalankan.

Di satu sisi, platform skrip adalah Python. Bagaimanapun juga, platform adalah tumpukan standar perangkat lunak + perangkat keras yang mengabstraksi beberapa fungsi.

Tapi tidak yakin apa maksud saya.

ggambett
sumber
0

Untuk sedikit memperluas jawaban Shekhar_Pro ,

Platform Independent akan menjalankan platform apa pun. Pikirkan aplikasi Java atau Python tanpa hal-hal khusus platform apa saja yang dapat dijalankan pada Windows, Mac, dan Linux tanpa perlu mengkompilasi ulang atau menulis ulang.

Produk Cross-Platform adalah ketel ikan yang berbeda sama sekali. Di mana beberapa aspek dari produk lintas platform mungkin berbagi persyaratan umum dan bahkan kode sumber (misalnya, beberapa fungsi matematika diimplementasikan dalam C), setiap versi produk ditulis dan dikompilasi sepenuhnya untuk platform tertentu. Pikirkan Mozilla Firefox, misalnya, yang memiliki berbagai versi berjalan di Mac, Windows, Linux, BeOS, Android, dan sebagainya. Setiap versi serupa, dan bahkan mungkin memiliki struktur data yang kompatibel, tetapi setiap versi juga dikembangkan secara independen dan sering ditulis menggunakan bahasa dan API pemrograman yang sama sekali berbeda, penomoran versi yang berbeda, dan sebagainya.

S.Robins
sumber
-1

Independensi platform berarti, bahwa suatu program yang ditulis, diuji dan berfungsi pada satu platform atau sistem operasi akan bekerja tanpa modifikasi pada platform / os yang berbeda. Tentu saja jika disalin ke direktori yang berbeda maka beberapa file konfigurasi kecil mungkin perlu jalur diperbaiki tetapi selain itu hanya berfungsi.

mP01
sumber