1. GO
Sumber gambar : houseofbots.com
Bahasa pemrograman Go dikembangkan oleh Google untuk memenuhi kebutuhan dunia yang ditentukan oleh prosesor multi-core, sistem jaringan, cluster komputer, dan aplikasi web.
Ini dirancang untuk menjadi cepat untuk menulis, dengan semua fitur modern seperti konkurensi dan pengumpulan sampah terintegrasi. Desain Go juga bertujuan untuk membuat pengelolaan dependensi lebih mudah, dan untuk memungkinkan aplikasi meningkatkan skala dengan lebih mudah.
Jumlah dan produk array - pemrograman GO
package main
import â??fmtâ??
func main() {
sum, prod := 0, 1
for _, x := range []int{1,2,5} {
sum += x
prod *= x
}
fmt.Println(sum, prod)
}
Alasan untuk Belajar:
Sangat mudah untuk menulis aplikasi Go dan menginstalnya karena mereka dikompilasi ke satu executable daripada membutuhkan dependensi untuk diinstal bersama mereka.
Aplikasi Go dapat memanfaatkan prosesor multi-core modern tanpa terlalu banyak bermain-main, membuatnya cocok untuk membuat aplikasi web untuk digunakan oleh sejumlah besar pengguna secara bersamaan. Ini dikembangkan oleh Google, jadi ada banyak dukungan dan pengembangan aktif.
Dan itu dapat berjalan di Windows, Linux, Mac dan bahkan pada perangkat kecil seperti Raspberry Pi.
2. Clojure
Sumber gambar : houseofbots.com
Clojure (lahir pada 2007) adalah salah satu dari beberapa bahasa yang dibangun pada bagian virtualisasi Java, JVM, membuatnya kompatibel dengan kode Java dan lingkungan runtime Java.
Clojure mengkompilasi ke Java dan ada implementasi versi lain, ClojureScript, yang mengkompilasi ke JavaScript.
Clojure tidak terlihat seperti Java atau JavaScript. Tidak ada kurung kurawal (((((tetapi di tempat mereka banyak kurung))))))). Anda cenderung membaca pernyataan dari kanan ke kiri daripada dari kiri ke kanan, sehingga untuk menambahkan 2 dan 3 Anda menulis (+ 2 3), dan Anda menggunakan rekursi sebagai ganti loop.
Clojure adalah bahasa Lisp (pemrosesan daftar) yang berarti bahwa itu memperlakukan data dan kode itu sendiri sebagai daftar tertaut dan cenderung membuat banyak penggunaan makro.
Fragmen kode ini menghitung jumlah dan produk dari array bilangan bulat:
Clojure - jumlah dan produk array
(defn sum [vals] (reduce + vals))
(defn produk [vals] (reduce * vals))
Alasan Untuk Belajar:
Jika Anda ingin bermain-main dengan pemrograman fungsional (FP) tetapi tidak ingin pergi jauh-jauh. pemrograman fungsional membuat sebagian besar kemampuan prosesor multi-core modern untuk mendukung concurrency, tetapi bahasa FP murni seperti Haskell terlalu banyak lompatan bagi sebagian orang.
Clojure adalah bahasa tujuan umum, seperti Jawa, yang kompatibel dengan bahasa tersebut. Tidak seperti Java, sintaksinya sederhana, konsisten, dan ringkas. Plus, Anda dapat berinteraksi langsung dengan program yang sedang berjalan untuk melihat apa fungsi yang dilakukan terpisah daripada harus mengkompilasi ulang dan menjalankannya setelah setiap perubahan.
3. Rust
Sumber gambar : houseofbots.com
Rust terpilih sebagai Bahasa yang Paling Dicintai di survei pengembang StackOverflow 2016 dan bisa menjadi jawaban untuk pencarian Anda. Ini dikembangkan oleh Mozilla sebagai alternatif untuk C ++ dan menikmati dukungan dari Samsung. Ini dirancang untuk memiliki kemampuan yang sama dalam hal manajemen memori dan kinerja sebagai C ++ tetapi dengan lebih banyak pemeriksaan pada waktu kompilasi untuk menghindari bug mahal yang disebabkan oleh pointer menggantung, buffer overflows dan sejenisnya. Ini akan membuat pemeliharaan kode jauh lebih mudah dalam proyek jangka panjang kolaboratif.
Perusahaan jaringan terdesentralisasi, Maidsafe, menghabiskan enam bulan mengurangi seluruh basis kode dari 500.000 garis C ++ menjadi 30.000 garis Rust yang ringkas, meningkatkan stabilitas pada saat yang bersamaan.
Jumlah dan produk array di Rust
#![feature(iter_arith)]
fn main() {
let arr: [i32; 9] = [1i32, 2, 3, 4, 5, 6, 7, 8, 9];
let sum = arr.iter().fold(0i32, |a, &b| a + b);
let product = arr.iter().fold(1i32, |a, &b| a * b);
println!(â??the sum is {} and the product is {}â??, sum, product);
}
Alasan Untuk Belajar:
Jika Anda seorang pengembang sistem yang menulis perangkat lunak tingkat rendah yang dimaksudkan untuk memiliki umur yang panjang, dan Anda menginginkan sesuatu yang lebih aman dan lebih modern daripada C / C ++. Rust didukung dengan baik untuk bahasa baru dan semakin banyak pengembang dan perpustakaan.
4. Julia
Sumber gambar : houseofbots.com
Bahasa ini dirancang untuk memungkinkan para ilmuwan data dan matematikawan melakukan segalanya dalam satu bahasa daripada harus menggunakan dua atau lebih.
Sebagai contoh, mereka biasanya menggunakan Matlab untuk mengkode aljabar linier, R untuk mengurai statistik, C untuk beralih fungsi dengan cepat dan bahasa tujuan umum seperti Python untuk merekatkan semuanya bersama-sama, yang semuanya berjuang untuk meningkatkan tingkat data besar.
Julia dimaksudkan untuk menawarkan kemudahan penggunaan dan produktivitas Python dengan kecakapan matematis Matlab dan kinerja C sehingga Anda dapat melakukan semuanya dalam satu. Ini mendukung komputasi terdistribusi paralel dan dapat digunakan secara interaktif dengan notebook sains data seperti Jupyter. Ini juga mendukung macro seperti Lisp.
Jumlah dan produk array di Julia:
julia> sum([4,6,8])
18
julia> +((1:10)â?¦)
55
julia +([1,2,3]â?¦)
6
julia> prod([4,6,8])
192
Alasan Belajar :
Anda seorang analis atau ilmuwan data yang bekerja dengan kumpulan data besar. Anda tahu Python sudah dan sintaks Julia mirip, jadi tidak ada banyak kurva belajar.
Perpustakaan menawarkan pembelajaran mesin yang sama dan kemampuan matematika untuk Python, dan beberapa yang ekstra juga, dan dapat memanggil fungsi Python dan Fortran dan C perpustakaan jika diperlukan. Plus itu memiliki manajer paket bawaan untuk menginstal fungsionalitas tambahan dan perpustakaan eksternal.
5. Swift
Sumber gambar : houseofbots.com
Swift adalah bahasa pemrograman serba guna yang dibuat oleh Apple sebagai alternatif modern untuk Objective-C. Ini dirancang agar cepat untuk pemrograman sistem, aman dalam hal pengecekan kesalahan, dan mudah digunakan. Itu dibuat open source dan tersedia di bawah Lisensi Apache 2.0 untuk platform Apple dan Linux pada akhir tahun lalu.
Jumlah dan produk array di Swift
let a = [1, 2, 3, 4, 5]
println(a.reduce(0, +)) // prints 15
println(a.reduce(1, *)) // prints 120
println(reduce(a, 0, +)) // prints 15
println(reduce(a, 1, *)) // prints 120
Alasan Belajar
Anda adalah pengembang iOS dan ingin pindah dari Objective-C. Sebagai bahasa tujuan umum yang lebih modern, Anda pada akhirnya harus dapat melakukan banyak hal di Swift, lebih cepat dan dengan lebih sedikit kesalahan.
6. Kotlin
Sumber gambar : houseofbots.com
Kotlin adalah bahasa pemrograman yang diketik secara statis yang berjalan pada mesin virtual Java dan juga dapat dikompilasi ke kode sumber JavaScript atau menggunakan infrastruktur kompiler LLVM. Pengembangan utamanya adalah dari tim programmer JetBrains yang berbasis di Saint Petersburg, Rusia. Meskipun sintaksisnya tidak kompatibel dengan Java, Kotlin dirancang untuk beroperasi dengan kode Java dan bergantung pada kode Java dari Perpustakaan Kelas Java yang ada, seperti kerangka koleksi. Kotlin menggunakan inferensi tipe agresif untuk menentukan tipe nilai dan ekspresi yang tipenya tidak dinyatakan.
Ini mengurangi verbositas bahasa relatif terhadap Java, yang menuntut spesifikasi tipe yang seringkali sepenuhnya berlebihan. Sekarang sedang banyak digunakan untuk pengembangan aplikasi android.
Alasan Belajar:
Anda adalah pengembang Android dan ingin pindah dari Jawa. Sebagai bahasa tujuan umum yang lebih modern, Anda pada akhirnya harus dapat melakukan sebagian besar hal di Kotlin, lebih cepat dan dengan lebih sedikit kesalahan.
Sumber : houseofbots.com
0 comments: