Mengapa R? Pro dan kontra dari bahasa R.

Bahasa pemrograman R adalah alat penting untuk pengembangan dalam ruang analisis numerik dan pembelajaran mesin. Dengan mesin menjadi lebih penting sebagai penghasil data, popularitas bahasa hanya dapat diharapkan untuk tumbuh. Tetapi R memiliki pro dan kontra yang harus diketahui oleh pengembang.

Dengan minat pada bahasa yang berkembang, seperti yang ditunjukkan pada indeks popularitas bahasa seperti TIobe, PyPL, dan Redmonk, R pertama kali muncul pada 1990-an dan telah berfungsi sebagai implementasi bahasa pemrograman statistik S. Catatan Roger Peng, seorang veteran pemrograman R 18 tahun yang mengajar R baik di universitas maupun di platform online Coursera, "R adalah bahasa paling populer yang digunakan di bidang statistik."

"Saya suka [R] karena sangat mudah untuk memprogram dari tingkat ilmu komputer yang lebih," kata Peng. Dan R menjadi lebih cepat dari waktu ke waktu dan berfungsi sebagai bahasa perekat untuk menyatukan kumpulan data, alat, atau paket perangkat lunak yang berbeda, kata Peng.

"R adalah cara terbaik untuk membuat analisis yang dapat direproduksi dan berkualitas tinggi. Ia memiliki semua fleksibilitas dan kekuatan yang saya cari saat menangani data," kata Matt Adams, ilmuwan data di Code School, yang menawarkan pendidikan pemrograman online. "Sebagian besar program yang saya tulis di R sebenarnya hanyalah kumpulan skrip yang diatur ke dalam proyek."

Ekosistem paket yang kuat dan manfaat bagan R

Keunggulan R termasuk ekosistem paketnya. "Luasnya ekosistem paket jelas merupakan salah satu kualitas terkuat R - jika ada teknik statistik, kemungkinan besar sudah ada paket R untuk itu," kata Adams.

"Ada banyak fungsi bawaan yang dibuat untuk ahli statistik," kata Peng. R dapat dikembangkan dan menawarkan fungsionalitas yang kaya bagi pengembang untuk membangun alat dan metode mereka sendiri untuk menganalisis data, katanya. "Seiring berjalannya waktu, semakin banyak orang yang tertarik dari bidang lain," termasuk biosains dan bahkan humaniora.

"Orang bisa memperpanjangnya tanpa harus meminta izin." Memang, Peng mengingat istilah penggunaan R sebagai bantuan besar beberapa tahun yang lalu. "Pada saat pertama kali keluar, keuntungan terbesarnya adalah perangkat lunak bebas. Kode sumber dan segala sesuatu tentangnya tersedia untuk dilihat."

Semua grafik dan kemampuan charting R, kata Adams, "tak tertandingi." Paket dplyr dan ggplot2 masing-masing untuk manipulasi dan plot data, "benar-benar telah meningkatkan kualitas hidup saya," katanya.

Untuk pembelajaran mesin, keunggulan R sebagian besar terkait dengan ikatan kuat R dengan akademisi, kata Adams. "Setiap penelitian baru di lapangan mungkin memiliki paket R yang menyertainya sejak awal. Jadi dalam hal ini, R tetap menjadi yang terdepan," katanya. "Paket tanda sisipan juga menawarkan cara yang cukup bagus untuk melakukan pembelajaran mesin di R melalui API yang relatif terpadu." Peng juga mencatat bahwa banyak algoritme pembelajaran mesin populer diterapkan di R.

Kekurangan R dalam keamanan dan manajemen memori

Untuk semua manfaatnya, R memiliki kekurangan. "Manajemen memori, kecepatan, dan efisiensi mungkin merupakan tantangan terbesar yang dihadapi R," kata Adams. "Langkah telah - dan masih - dibuat untuk membuat kemajuan di bidang itu. Selain itu, orang yang datang ke R dari bahasa lain mungkin juga menganggap R aneh."

Prinsip dasar R berasal dari bahasa pemrograman yang dibangun pada 1960-an, kata Peng. "Dalam hal ini, ini semacam teknologi lama dengan cara awalnya dirancang." Rancangan bahasa terkadang dapat menimbulkan masalah dalam bekerja dengan kumpulan data yang sangat besar, katanya. Data harus disimpan dalam memori fisik. Tetapi karena komputer mendapatkan lebih banyak memori, ini menjadi lebih sedikit masalah, catat Peng.

Kemampuan seperti keamanan tidak dibangun ke dalam bahasa R, kata Peng. Selain itu, R tidak dapat disematkan di browser Web, kata Peng. "Anda tidak dapat menggunakannya untuk aplikasi seperti Web atau Internet." Pada dasarnya tidak mungkin menggunakan R sebagai server back-end untuk melakukan perhitungan karena kurangnya keamanan melalui Web, katanya. Masalah keamanan, bagaimanapun, telah dikurangi dengan perkembangan seperti penggunaan wadah virtual pada platform cloud Amazon Web Services, kata Peng.

Untuk waktu yang lama, tidak ada banyak interaktivitas dalam bahasa tersebut, katanya. Bahasa seperti JavaScript masih harus masuk dan mengisi celah ini, kata Peng. Meskipun analisis dapat dilakukan di R, penyajian hasil mungkin dilakukan dalam bahasa yang berbeda seperti JavaScript, katanya.

R tidak hanya untuk programmer tingkat lanjut

Tetap saja, Adams dan Peng sama-sama melihat R sebagai bahasa yang dapat diakses. "Saya tidak berasal dari latar belakang ilmu komputer dan tidak pernah bercita-cita menjadi seorang programmer. Pengetahuan tentang dasar-dasar pemrograman sangat membantu saat menambahkan R ke kotak peralatan Anda, tetapi saya tidak mengatakan itu diperlukan untuk memulai," kata Adams.

"Saya bahkan tidak akan mengatakan R untuk programmer. Ini paling cocok untuk orang yang memiliki masalah berorientasi data yang mereka coba selesaikan, terlepas dari bakat pemrograman mereka," katanya.