Wikifunctions:Ikhtisar

From Wikifunctions
This page is a translated version of the page Wikifunctions:About and the translation is 100% complete.
Tujuan pertama Wikifunctions adalah untuk mendukung proyek-proyek Wikimedia, tetapi proyek ini akan mendukung tujuan yang lebih daripada itu, sebagaimana dengan Wikidata. Ini adalah deskripsi Wikifunctions di luar Wikipedia.
Pernyataan misi
Sebuah proyek Wikimedia agar semua orang bisa bekerja sama membuat dan memelihara sebuah pustaka fungsi kode untuk mendukung proyek-proyek Wikimedia dan hal-hal lainnya, yang bisa dipanggil oleh siapa saja dan digunakan kembali dalam bahasa alami ataupun bahasa pemrograman.

Wikifunctions adalah sebuah repositori kode terbuka yang semua orang bisa gunakan dan berkontribusi.

Wikigunctions terdiri dari fungsi. Suatu fungsi dapat memiliki deskripsi dalam banyak bahasa dengan daftar parameter, kasus uji, daftar implementasi dalam berbagai bahasa pemrograman, dan metadata lebih lanjut, semuanya dalam berbagai bahasa (yang didukung oleh Wikimedia). Implementasinya dapat digunakan kembali dalam proyek perangkat lunak lain (aplikasi atau skrip pribadi), dipanggil dan dijalankan secara online (cukup di browser, di lingkungan cloud, atau di notebook Jupyter[1] atau PAWS[2]), disusun untuk mencapai fungsionalitas yang lebih kompleks, ditandatangani , dianalisis, atau divalidasi, dan banyak lagi.

Wikifunctions adalah proyek yang sama jiwanya dengan Wikipedia, Wikidata, Wiktionary, dan lainnya, serta membolehkan kontributor dari seluruh penjuru dunia untuk membuat dan memelihara sebuah pustaka fungsi, yang dapat digunakan oleh siapa saja untuk kegunaan apa saja. Setiap fungsi dapat didukung dengan beberapa implementasi dalam bahasa pemrograman yang berbeda-beda, kasus uji, kondisi pra- dan pasca-, dokumentasi, metadata dalam bentuk perkiraan dan kompleksitas waktu jalannya untuk impelementasi yang berbeda, dll. Pengguna dapat memanggil sebuah fungsi secara langsung dari situs web, atau dari kode atau aplikasi mereka sendiri, dari antarmuka baris perintah, atau dari aplikasi lokal. Fungsi tersebut bisa dieksekusi secara lokal di peramban, di awan, atau secara lokal dan ditanamkan di dalam aplikasi pengguna.

Wikifunctions dimaksudkan untuk membuat sebuah katalog fungsi yang didefinisikan dengan baik dan dapat digunakan kembali secara luas dan juga sebuah lingkungan di mana fungsi-fungsi bisa dengan cepat digabungkan dan dieksekusi. Wikifunctions bertujuan mempermudah kehidupan para pengembang, yang bisa mengandalkan repositori ini sebagaimana sebuah pustaka eksternal, dan bagi pengguna akhir yang dapat memanggil fungsi seperlunya, dengan cara yang sekarang hanya tersedia dalam cakupan yang tidak rata melalui situs web tertentu yang sering kali ditulis dalam bentuk situs web 1990-an dengan aplet Java.

Semua fungsi bersifat murni, agar memungkinkan eksekusi kotak pasir yang aman. Juga, setiap implementasi bisa dianotasi dengan metadata dan ditandatangani secara kriptografis. Pengguna akhir bisa memilih dan mengaudit implementasi fungsi mana yang digunakan, bergantung pada sumber daya perangkat keras yang tersedia dan pengaturan jaringan kepercayaan.

Wikifunctions akan memungkinkan akses mudah ke basis pengetahuan yang besar seperti Wikidata, serta ke berkas masukan dan keluaran biner. Juga dimungkinkan untuk mengunggah sebuah gambar sebagai berkas masukan dan mengembalikan hasil analisis seperti apa yang ditampilkan di gambar, atau berapa banyak waktu berbeda yang dimiliki gambar – atau biner lainnya, sebagai contoh, dalam format yang berbeda. Ini akan disediakan kepada aliran kerja di Wikimedia Commons.

$W melanjutkan tradisi memindahkan lebih banyak komputasi, yang biasanya dilakukan di baris perintah atau dengan aplikasi oleh pengguna komputer yang lebih pandai, ke Web dan mendemokratisasi akses ke fungsionalitas yang sebelumnya tidak tersedia. Pada saat yang sama, ini akan menaikkan produktivitas pengembang di semua tempat karena mereka bisa menggunakan sebuah pustaka kode yang besar bukannya mengandalkan menyalin dan menempel jawaban dari StackOverflow.

Tidak seperti di Wikipedia, kontributor akan lebih banyak menghabiskan waktu membuat implementasi baru untuk sebuah fungsi bukannya memperbarui fungsi yang ada. Impelementasi bisa diuji secara otomatis terhadap uji coba yang diberikan, terhadap satu sama lain, dan dianalisis lebih lanjut.

Implementasi dapat ditulis dalam sejumlah bahasa pemrograman yang berbeda, tetapi mereka akan dapat memanggil fungsi yang diterapkan dalam bahasa pemrogram lain. Mesin eksekusi dapat bekerja dengan lancar (meskipun tidak selalu dengan kinerja tertinggi) dalam berbagai bahasa. Meskipun dalam kebanyakan kasus ada peningkatan kinerja yang besar dalam menulis fungsi dalam bahasa pemrograman tunggal, tidak ada persyaratan untuk melakukannya. Dalam banyak kasus, kecepatan pengembangan dan waktu pengembang akan lebih berharga daripada siklus komputer tambahan yang dihabiskan dalam mesin eksekusi.

Referensi

  1. m:WikiCite 2017/Jupyter notebooks on Wikimedia sites
  2. PAWS