Bahasa Go bukanlah bahasa peringkat rendah. Bahasa asas juga dipanggil bahasa peringkat rendah, yang merujuk kepada bahasa dengan kecekapan pelaksanaan yang rendah, kecekapan pelaksanaan yang tinggi, kebolehkawalan perkakasan yang kuat, kod sasaran yang kecil, kebolehselenggaraan yang lemah dan mudah alih yang lemah. Bahasa go ialah bahasa pengaturcaraan peringkat tinggi Ia direka untuk menyelesaikan masalah praktikal dalam proses pembangunan sistem besar Ia menyokong konkurensi, spesifikasi bersatu, kesederhanaan, keanggunan dan prestasi yang berkuasa.
Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.
Bahasa peringkat rendah, juga dipanggil bahasa peringkat rendah, merujuk kepada bahasa dengan kecekapan pelaksanaan yang rendah, kecekapan pelaksanaan yang tinggi, kebolehkawalan perkakasan yang kuat, kod sasaran yang kecil, kebolehselenggaraan yang lemah dan mudah alih yang lemah.
Bahasa go bukan bahasa peringkat rendah. Bahasa Go ialah bahasa pengaturcaraan peringkat tinggi sumber terbuka oleh Google pada tahun 2009. Ia direka untuk menyelesaikan masalah praktikal dalam proses pembangunan sistem berskala besar dan menyokong piawaian serentak dan bersatu dan elegan, dengan prestasi hebat, ia dipuji oleh ramai penginjil bahasa Go sebagai "bahasa C dalam era pengkomputeran awan". Bahasa Go, sebagai bahasa peringkat tinggi seperti C, sambil menurunkan ambang pengaturcaraan penuding C, juga menambah beberapa perangkap pengaturcaraan yang berpotensi Malahan veteran yang mahir dalam menggunakan bahasa Go secara tidak sengaja akan menginjaknya. lubang. Jadi perlu ambil perhatian.
Mari kita bincangkan tentang sejarah perkembangan bahasa Go dan ciri-ciri bahasa Go.
Nama Go
Saya mendapat inspirasi semasa dalam perjalanan pulang: * Berikan. ini Bahasa pengaturcaraan dinamakan "go", yang pendek dan mudah untuk ditulis. * Kelas alat boleh dinamakan: goc, gol, goa. * Alat penyahpepijatan interaktif juga boleh dinamakan terus "pergi". * Akhiran fail bahasa ialah .go, dsb.
Seperti banyak syarikat hebat yang dilahirkan di garaj, nama bahasa Go juga berkaitan dengan kereta. Di atas adalah asal usul nama bahasa Go. Saya secara peribadi sangat menyukai nama Go Ia kelihatan seperti idea rawak, tetapi ia sangat tepat. Ia mempunyai darah tulen Google dan merangkumi ciri-ciri bahasa yang mudah dan elegan. Dan kata kunci untuk membuka coroutine dalam Go ialah pergi.
20% daripada masa jurutera Google
Sejak itu, Robert, Rob dan Ken mula menjalankan penyelidikan dan pembangunan dalam Google sehingga 2009, apabila Go dibuka secara rasmi sumber Hari ini, pasukan projek Go menganggap 10 November 2009, hari apabila bahasa itu secara rasmi sumber terbuka, sebagai hari lahir rasminya. Kod sumber pada mulanya dihoskan pada
Tiga pengasas paling penting bahasa Go disebut dalam e-mel:
Rob Pike: Beliau adalah ahli pasukan pembangunan Unix di Bell Labs, peneraju utama dalam pembangunan sistem pengendalian Plan9, dan peneraju utama dalam pembangunan sistem pengendalian Inferno.
ken tomption: Pemenang Anugerah Turing, pengarang bahasa B, pendahulu bahasa C, salah seorang pencipta Unix dan pengarang utama sistem pengendalian Pelan 9. UTF-8 dibangunkan bersama.
Robert: Membangunkan kod untuk enjin JavaScript V8 Google dan Chubby.
Go language lineage
Pembangunan bahasa pengaturcaraan serupa dengan evolusi spesies. Setiap bahasa pengaturcaraan menggunakan bahasa pendahulunya yang terbaik dan kemudian berinovasi dan menambah baiknya. Angka berikut menunjukkan kelebihan Go yang diwarisi daripada pendahulunya yang berdiri di atas bahu gergasi ini dan memainkan peranan yang semakin penting dalam era awan.
Ciri yang diwarisi oleh bahasa Go daripada pendahulunya:
Bahasa C: Bahasa Go kadangkala Diterangkan sebagai "bahasa seperti C", atau "bahasa C untuk abad ke-21". Go mewarisi sintaks ungkapan yang serupa, struktur aliran kawalan, jenis data asas, pemindahan nilai parameter panggilan, penunjuk dan banyak idea lain daripada bahasa C , serta versi terkumpul yang sentiasa diminati oleh bahasa C dalam Kecekapan operasi kod mesin dan penyesuaian lancar kepada sistem pengendalian sedia ada .
Pascal: Tetapi terdapat nenek moyang lain dalam salasilah keluarga bahasa Go. Satu cabang yang berpengaruh berasal dari bahasa Pascal yang direka oleh Niklaus Wirth. Kemudian bahasa Modula-2 mengilhamkan konsep pakej. Kemudian bahasa Oberon meninggalkan perbezaan antara fail antara muka modul dan fail pelaksanaan modul. Bahasa Oberon-2) generasi kedua secara langsung mempengaruhi sintaks import dan pengisytiharan pakej, serta sintaks pengisytiharan kaedah yang disediakan oleh ciri berorientasikan objek bahasa Oberon.
CSP: Satu lagi nenek moyang bahasa Go, ia membawa ciri penting bahasa Go yang membezakannya daripada bahasa lain Ia diilhamkan oleh karya yang kurang dikenali diterbitkan oleh Tony Hoare dari Bell Labs pada tahun 1978. Kesusasteraan asas mengenai penyelidikan konkurensi yang diketahui oleh dunia luar adalah berkomunikasi proses berurutan (disingkatkan sebagai CSP). Dalam CSP, program ialah satu set proses berjalan selari tanpa keadaan dikongsi Mereka menggunakan talian paip untuk penyegerakan komunikasi dan kawalan. Walau bagaimanapun, CSP Tony Hoare hanyalah bahasa penerangan yang digunakan untuk menerangkan konsep asas konkurensi, dan bukan bahasa pengaturcaraan tujuan umum yang boleh menulis atur cara boleh laku. Bahasa Go menggunakan paip untuk berkomunikasi dalam coroutine.
Aplikasi Heavyweight
Berikut ialah beberapa aplikasi heavyweight bagi bahasa Go:
Kelebihan Go
Suara Pengaturcara: Saya boleh membuat prototaip, menguji dan membuat prototaip sistem pengeluaran dalam beberapa hari jika dunia sebenar memerlukannya , dan boleh mengendalikan 5 kali lebih banyak permintaan sesaat daripada yang asal, dengan overhed CPU dan memori yang sangat sedikit. Saya rasa hanya bahasa Go boleh melakukannya.
Bahasa Go mempunyai kelebihan berikut:
Keluaran binari berasingan: Penyusunan projek Go akan menjana fail boleh laku statik. Fail ini boleh dijalankan secara bebas tanpa sebarang kebergantungan lain. Pendekatan ini amat sesuai untuk persekitaran kontena asli awan.
Kompilasi silang: Susun binari pada mana-mana sistem pengendalian yang dijalankan pada platform lain. Sebagai contoh, pada sistem Mac, fail binari boleh disusun yang boleh dijalankan pada Linux dan Windows.
Pengumpulan sampah: Bahasa Go menyokong pengumpulan sampah. Sebagai perbandingan, C, Rust, dll. memerlukan pembangun untuk mengawal diri mereka sendiri.
Prestasi pelaksanaan: Go sangat pantas. Prestasi hampir dengan C. Jauh lebih tinggi daripada Java, Python dan Node.
Kecekapan pembangunan: Bahasa Go mempunyai kedua-dua prestasi berjalan bahasa statik dan kecekapan pembangunan bahasa dinamik.
Kesederhanaan dan kecekapan: Falsafah reka bentuk bahasa Go merangkumi kesederhanaan dan kecekapan. Contoh balas yang tipikal ialah bahasa Jawa yang kompleks dan kembung.
Konkurensi: Tahap bahasa menyokong konkurensi, memudahkan pembangunan serentak melalui coroutine dan saluran serta meningkatkan prestasi serentak.
Pustaka standard yang kaya: Pustaka standard Go meliputi teks, IO, rangkaian, penyulitan, perkhidmatan web, RPC jauh, enjin templat dan fungsi lain.
Boleh memanggil bahasa C: Anda boleh memanggil fungsi bahasa C untuk terus mengoptimumkan prestasi dan menggunakan semula ekosistem besar bahasa C.
Masa kompilasi yang pantas: Go menyusun dengan sangat pantas. Anda boleh merujuk kepada dua sistem penjanaan blog statik, Hexo (Pembangunan Node) dan Hugo (Pembangunan Go).
Jenis kejuruteraan: Tujuan reka bentuk bahasa Go adalah untuk menjadi bahasa kejuruteraan untuk menyelesaikan masalah kejuruteraan sebenar. Bahasa Go mentakrifkan spesifikasi pembangunan dan menyediakan pelbagai alatan. Menggunakan bahasa Go, anda boleh menulis program yang mudah dibaca dan difahami serta mudah diuji, diselenggara dan dikembangkan.
Go Kekurangan
Kekurangan rangka kerja heavyweight. Seperti Ruby's Rails, Python's Django, dan Java's Spring.
Pengendalian ralat: Tiada sistem pengecualian. Pegawai Go sedang membetulkan isu ini.
Pengurusan pakej perisian: Sudah sekian lama, Go tidak mempunyai sistem pengurusan pakej secara rasmi. Sehingga baru-baru ini, Go versi 1.13 secara rasmi memperkenalkan Modul Go sebagai alat pengurusan pergantungan rasmi.
bukan model pengaturcaraan berorientasikan objek standard: ini juga merupakan inovasi bahasa Go. Jika anda seorang penyokong OOP yang mantap, anda mungkin berasa sedikit tidak selesa
Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Video Pengaturcaraan! !
Atas ialah kandungan terperinci Adakah bahasa go bahasa peringkat rendah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn