Penulis | Pawel Dziubaka, Sebastian Karasiewicz
Penerjemah | Hongji
Editor yang bertanggung jawab | Yu Yan
Diproduksi | Kamp Basis Teknologi AI (ID: rgznai100)
Ada begitu banyak kode bagus di Internet, yang telah menjadi dasar untuk membangun berbagai infrastruktur. Platform yang Anda baca juga didedikasikan untuk membuat kode yang hebat. Meskipun pengguna biasa umumnya tidak memperhatikan hal ini, di sisi lain, pengembang yang baik selalu mencari cara yang lebih baik untuk membuat aplikasi mereka (dan kode mereka).
Dasar untuk menulis kode yang bagus tergantung pada keahlian pengembang dan bahasa pilihannya. Ini pasti mengarah pada konflik antara pengembang, dan konflik tidak hanya terkait dengan tingkat keahlian, tetapi terutama terkait dengan bahasa pilihan mereka (bahkan konflik epik dapat terjadi). Ini kemungkinan besar terjadi ketika Anda menggabungkan dua bahasa pemrograman yang hebat (seperti Golang (Go) dan Python).
Sekarang mari kita mundur selangkah, menghilangkan prasangka dan preferensi pribadi, mengevaluasi kedua bahasa ini murni dari sudut pandang kekuatan dan fungsi, dan dengan terampil menyamakan kedudukan. Sekarang, kami hanya memiliki dua pilihan bagus tersisa: Pergi vs Python. Pertanyaannya sekarang menjadi, bahasa pemrograman mana yang lebih cocok untuk Anda?
Cerita Python
Jika Anda bertanya kepada beberapa pengembang, Anda akan mendengar bahwa yang sebelum Python tidak layak untuk disebutkan, dan yang setelah Python tidak layak untuk disebutkan. Selama bertahun-tahun, karena ini adalah bahasa pemrograman yang sangat bagus, ia telah berhasil memenangkan banyak perhatian. Internet penuh dengan aplikasi keren yang dibuat dengan Python.
Dalam hal tahun pemrograman, Python dianggap sebagai veteran. Ini pertama kali dikonseptualisasikan pada tahun 1991. Seiring bertambahnya usia, mereka secara bertahap memiliki keuntungan tertentu. Ini memiliki berbagai macam pendukung, yang berarti stabil dan terdokumentasi dengan baik. Dalam kebanyakan kasus, Anda akan menemukan pustaka dari hampir semua hal dan hampir semua contoh kode yang dapat Anda pikirkan. Untuk pengembang dan perusahaan, ini berarti bahwa pilihan menggunakan Python akan membawa banyak pengalaman dan pengkodean.
Ada banyak proyek open source yang menggunakan Python sebagai dasarnya, jadi dalam banyak kasus, Anda tidak memulai dari awal. Ini terintegrasi dengan baik ke dalam aplikasi perusahaan dan dapat digunakan dalam bahasa mesin dan aplikasi AI. Namun memiliki kekurangan, di satu sisi, ini tidak ideal untuk tugas-tugas intensif memori dan agak lambat untuk eksekusi, di sisi lain, tidak cocok untuk pengembangan aplikasi seluler.
Berbicara tentang Golang (Go)
Google mengembangkan bahasa Go pada tahun 2009. Tujuan awal Go adalah untuk memecahkan masalah praktis. Tujuannya adalah untuk membuat bahasa yang menghilangkan semua beban dan hal-hal berlebihan yang ditemukan dalam bahasa seperti C ++, yang membawa peningkatan kinerja dan kecepatan. Selain itu, sebagian besar developer yang baru pertama kali menggunakan Go tidak akan menghargai hambatan sintaksis yang tinggi, karena elemen yang sudah dikenal dan kemudahan penggunaan di Go akan mengejutkan Anda.
Ini tidak berarti bahwa bahasanya sempurna dalam segala situasi. Meskipun telah meningkatkan kecepatan dan keanggunan ke tingkat yang baru, hal itu meninggalkan beberapa area untuk perbaikan. Pertama-tama, ia tidak memiliki pustaka ekstensi dan tidak mendukung pewarisan. Selain itu, tidak ada pustaka GUI atau dukungan pemrograman berorientasi objek. Yang harus dilakukan adalah membuat utas ringan (Goroutines), pustaka standar cerdas, keamanan bawaan yang kuat, dan mudah dikodekan dengan sintaks minimal.
Pengujian Kinerja
Kita dapat berbicara tanpa henti tentang keuntungan dan kerugian Golang atau Python, tetapi ketika kita mempertimbangkan penerapan dan penggunaan, kita semua berharap mereka memiliki kinerja yang sangat baik. Oleh karena itu, kami melakukan beberapa pengujian pada peralatan uji inti Intel®Core i79700KCPU @ 3.60GHz × 8. Kode tes dapat diperoleh dari https://github.com/sekarasiewicz/go-python-benchmark.
1. Pencarian biner
Kami membuat daftar bilangan bulat (dari 1 hingga 100000), dan kemudian menggunakan pencarian biner untuk menemukan angka 729 yang selalu sama. Hasilnya adalah:
2. Jenis gelembung
Sekali lagi, kami membuat daftar bilangan bulat (kali ini acak dengan 10.000 elemen) dan mengurutkannya menggunakan algoritme bubble sort.
3. Pembacaan file
Tes sederhana untuk membaca file teks "lorem ipsum".
4. Pemrosesan permintaan HTTP
Sangat mudah untuk menulis server HTTP, tetapi kami berusaha keras untuk membuat simulasi yang efektif dengan Python. Kami memeriksa berapa lama waktu yang dibutuhkan untuk menanggapi pesan sederhana "halo dunia!".
Pilih Golang atau Python?
Meskipun Python selalu menjadi favorit di komunitas dan menjadi tempat kedua dalam daftar bahasa pemrograman tercepat GitHub (dihitung dengan jumlah pull request + 17%) pada kuartal pertama tahun 2019, Golang tidak ketinggalan jauh. , Di tempat keempat (+ 8%) di belakang. Pilihan antara Golang dan Python menjadi lebih kabur. Bagaimanapun, ada beberapa hal yang perlu dipertimbangkan saat memilih mana yang tepat untuk Anda.
1. Skalabilitas : Golang dianggap skalabilitas saat dibuat. Ini memiliki konkurensi bawaan dan dapat menangani banyak tugas secara bersamaan. Python juga dapat menggunakan konkurensi, tetapi tidak built-in. Ini mencapai paralelisme melalui utas. Artinya jika Anda berhadapan dengan kumpulan data yang besar, maka Golang sepertinya menjadi pilihan yang lebih tepat.
2. Kinerja : Seperti yang kita semua tahu, Python bukanlah bahasa pemrograman yang ramah memori atau CPU, tetapi karena ia memiliki sejumlah besar pustaka, Python dapat secara efektif melakukan tugas pengembangan dasar. Golang memiliki fungsi bawaan, dan lebih cocok untuk arsitektur perangkat lunak layanan mikro.
3. Penerapan : Python sangat cocok untuk menulis kode untuk kecerdasan buatan, analisis data, pembelajaran mendalam, dan pengembangan web. Golang telah banyak digunakan dalam pemrograman sistem dan dicintai oleh pengembang komputasi awan dan aplikasi komputasi klaster.
4. Komunitas dan perpustakaan : Seperti yang disebutkan sebelumnya, usia Python telah memberikan keuntungan tertentu. Salah satunya adalah jumlah perpustakaan yang dimilikinya dan komunitas besar yang mendukungnya. Di sisi lain, Golang tidak memiliki perpustakaan besar dan dukungan komunitas yang disediakan oleh Python, tetapi bahasa tersebut masih berkembang. Kita seharusnya tidak mengusir Golang. Tingkat pertumbuhan dan penerapannya luar biasa, dan terus bertambah setiap hari.
5. Performa eksekusi : Jika hanya fokus pada kecepatan, maka Golang pasti akan menang.
Setelah mempertimbangkan semua faktor ini, kasus penggunaan Anda akan menjadi faktor penentu bahasa yang akan digunakan. Dalam kasus di mana Anda ingin membangun tim pengembangan untuk membuat layanan mikro, Golang akan menjadi pilihan yang lebih masuk akal, karena cepat, mudah untuk membuat kode, dan skalabel. Di sisi lain, Python lebih cocok untuk AI, ML dan analisis data.
Oleh karena itu, dalam perbandingan satu-ke-satu, Go akan menonjol dalam banyak kasus dan dianggap sebagai alternatif yang efektif untuk menggunakan Python. Pengembang harus memilih bahasa pemrograman, dengan mempertimbangkan sifat dan skala proyek pengembangan mereka dan keterampilan orang yang terlibat.
Kabar baiknya adalah tidak peduli bahasa apa yang Anda pilih, kedua bahasa terus berkembang. Meskipun Golang tampaknya menjadi pilihan yang jelas dalam banyak kasus, komunitas Python tidak akan berdiam diri tanpa mengambil tindakan apa pun. Kedua bahasa itu berkembang dan berkembang. Artinya, kami akan melihat lebih banyak fitur dan peningkatan di masa mendatang.
Tautan asli:
https://www.softkraft.co/golang-vs-python/
Artikel ini adalah terjemahan CSDN, harap sebutkan sumber cetak ulang.
- Platform Seluler Baidu Menutup Saluran Android; Apple Akan Mendorong iPhone SE 2; Microsoft Open Sources Scalar | Berita Utama Geek
- Pembelajaran mesin mendominasi daftar gaji tinggi, dan blockchain sudah mati? Interpretasi status insinyur perangkat lunak pada tahun 2020