Porting: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
need all vertification
Baris 11:
 
Pengembang perangkat lunak sering mengklaim bahwa perangkat lunak yang mereka tulis itu ''[[Portabilitas perangkat lunak|portabel]]'', Artinya, diperlukan sedikit upaya untuk menyesuaikannya dengan lingkungan baru. Jumlah upaya yang benar-benar diperlukan bergantung pada beberapa faktor, termasuk sejauh mana lingkungan asli (''platform sumber'') berbeda dari lingkungan baru (''platform target''), pengalaman penulis asli dalam mengetahui konstruksi [[bahasa pemrograman]] dan panggilan perpustakaan pihak ketiga mana yang tidak mungkin portabel, dan jumlah upaya yang diinvestasikan oleh penulis asli hanya dengan menggunakan konstruksi portabel (konstruksi khusus platform sering kali memberikan solusi yang lebih murah).
 
== Sejarah ==
Jumlah CPU dan sistem operasi yang digunakan pada desktop saat ini jauh lebih kecil daripada sebelumnya. Dominasi [[Instruction set architecture|arsitektur]] [[x86]] berarti bahwa sebagian besar perangkat lunak desktop tidak pernah di-porting ke CPU yang berbeda. Di pasar yang sama, pilihan sistem operasi telah dikurangi menjadi tiga: [[Microsoft Windows]], [[macOS]], dan [[Linux]]. Namun, dalam [[Sistem terbenam|sistem tertanam]] dan pasar seluler, [[Portabilitas perangkat lunak|portabilitas]] tetap menjadi masalah yang signifikan, dengan [[ARM architecture|ARM]] menjadi alternatif yang banyak digunakan.
 
Standar internasional, seperti yang ditetapkan oleh [[International Organization for Standardization|ISO]], sangat memfasilitasi porting dengan menentukan detail lingkungan komputasi dengan cara yang membantu mengurangi perbedaan antara berbagai [[Platform komputasi|platform]] yang sesuai standar. Menulis perangkat lunak yang tetap dalam batas-batas yang ditentukan oleh standar ini merupakan upaya praktis meskipun tidak sepele. Porting program semacam itu antara dua platform yang sesuai standar (seperti [[POSIX|POSIX.1]]) hanya masalah memuat kode sumber dan [[Compiler|mengompilasinya kembali]] di platform baru. Namun, praktisi sering menemukan bahwa berbagai koreksi kecil diperlukan, karena perbedaan platform yang tidak kentara. Sebagian besar standar mengalami "area abu-abu" di mana perbedaan interpretasi standar menyebabkan variasi kecil dari platform ke platform.
 
== Catatan ==