Computational Thinking - Computer Science for Business Leaders 2016
Bahasa pemrograman tingkat komersial saat ini - - C ++ dan Java, khususnya - terlalu rumit dan tidak cukup cocok untuk lingkungan komputasi saat ini, insinyur Google yang terkenal, Rob Pike, berdebat dalam sebuah pembicaraan Kamis di O'Reilly Open Source Conference.
Pike membuat kasusnya terhadap "bahasa pemrograman industri" selama keynote-nya pada konferensi di Portland, Oregon.
"Saya pikir bahasa-bahasa ini terlalu sulit untuk digunakan, terlalu halus, terlalu rumit. Mereka terlalu verbose dan kehalusan, keruwetan dan kejujuran mereka tampak menjadi meningkat seiring waktu, "kata Pike. "Mereka oversold, dan digunakan terlalu luas." <959> Pike merinci kekurangan bahasa-bahasa seperti itu sebagai cara untuk menggambarkan tujuan yang dia dan insinyur Google lainnya miliki untuk bahasa pemrograman baru yang mereka kembangkan, yang disebut Go.
Sebagai ilustrasi kerumitan bahasa tersebut, Pike menunjukkan beberapa contoh kode C ++. Salah satu contoh adalah deklarasi variabel yang membentang hampir di seluruh garis layar.
"Bagaimana kita memiliki hal-hal seperti ini [bisa menjadi] cara standar komputasi yang diajarkan di sekolah dan digunakan dalam industri? " dia bertanya, secara retoris. Pemrograman semacam ini "sangat birokratis. Setiap langkah harus dibenarkan untuk compiler," katanya.
Sementara Pike mengakui bahwa dia agak jenaka, dia menegaskan bahwa pertanyaan seperti itu masih harus ditanyakan. C ++ muncul karena orang-orang frustrasi dengan bekerja dengan bahasa C tingkat rendah, dan Java muncul sebagai cara untuk menyederhanakan C ++. Seiring waktu, bagaimanapun, fitur-fitur baru ditambahkan ke kedua bahasa, membuat mereka semakin kompleks.
"Kebisingan datang dengan kecanggihan," katanya.
Pike juga menambahkan bahwa bahasa seperti itu dikembangkan sebelum munculnya pengolahan multicore dan jaringan yang tersebar luas, sehingga mereka tidak mudah mengakomodasi lingkungan baru ini.
Pike bukan satu-satunya karyawan Google yang mengungkapkan ketidakpuasan dengan bahasa tingkat komersial tradisional.
Pada konferensi tahunan USENIX bulan lalu, insinyur Gmail Adam de Boor mengejutkan audiens dengan mencatat bahwa layanan Gmail perusahaan ditulis seluruhnya dalam JavaScript, dan bahwa semua kodenya, sekitar 443.000 baris, ditulis dengan tangan.
Dia mencatat bahwa sementara Java lebih ekspresif, ia juga lebih verbose. "Pada titik ini bagi saya itu masalah pilihan bahasa yang Anda gunakan," kata de Boor.
JavaScript adalah salah satu dari sejumlah bahasa - yang lain termasuk Ruby dan Python - yang telah dikembangkan selama 10 tahun terakhir. tahun sebagai respons terhadap semakin kompleksnya C ++ dan Java. Tetapi ketika memiliki sintaks yang lebih sederhana, bahasa semacam itu juga memiliki kelemahannya, kata dia.
Bahasa-bahasa baru ini cenderung lebih lambat, tidak berskala juga, dan dapat menyimpan lebih banyak kesalahan, Pike menguraikannya.
Bahasa-bahasa cenderung ditafsirkan daripada dikompilasi, yang berarti program yang ditulis dalam bahasa seperti itu tidak dikompilasi sebelum berjalan, sehingga cenderung berjalan lebih lambat sebagai hasilnya. Mereka juga cenderung diketik secara dinamis, yang berarti pemrogram tidak perlu menentukan jenis data apa yang akan dimiliki variabelnya.
"Pengetikan dinamis belum tentu baik. Anda mendapatkan kesalahan statis pada waktu berjalan yang seharusnya Anda dapat tangkap pada waktu kompilasi, "katanya.
Dengan semua ini, Pike kemudian mendeskripsikan Go sebagai upaya untuk menggabungkan atribut terbaik dari kedua kumpulan bahasa.
" Go adalah upaya untuk menggabungkan keamanan dan kinerja bahasa yang diketik secara statis dengan kenyamanan dan kesenangan dari bahasa interpretatif yang diketik secara dinamis, "katanya, sebelum menambahkan," sejauh itu berhasil Anda harus menilai sendiri. "
Salah satu anggota audiens, Larry Augustin CEO dari penyedia perangkat lunak manajemen hubungan pelanggan SugarCRM, setuju dengan penilaian Pike bahwa C ++ dan Java menjadi terlalu rumit, meskipun ia mencatat bahwa ini biasanya terjadi dengan semua bahasa saat mereka tumbuh untuk memenuhi berbagai kasus penggunaan yang lebih luas.
"Alasan mengapa bahasa-bahasa ini tumbuh dalam kompleksitas adalah karena semakin banyak mereka digunakan, semakin banyak kesalahan dan ambiguitas yang kami temukan, dan upaya untuk menghapus ambiguitas dan kesalahan tersebut telah menciptakan sesuatu yang lebih kompleks," kata Augustin, yang memiliki latar belakang dalam rekayasa perangkat lunak dan desain bahasa pemrograman.
"Saya menghargai tujuannya," katanya tentang upaya Pike. "Pertanyaannya adalah dapatkah dia mencapai hasil targetnya? Atau apakah Go [menjadi lebih kompleks] karena semakin banyak orang yang menggunakannya," kata Augustin.
Joab Jackson mencakup perangkat lunak perusahaan dan teknologi umum untuk berita
The IDG News Service. Ikuti Joab di Twitter di @Joab_Jackson. Alamat e-mail Joab adalah [email protected]