Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah bahasa go adalah bahasa sistem?

Adakah bahasa go adalah bahasa sistem?

青灯夜游
青灯夜游asal
2023-03-17 19:16:152668semak imbas

Bahasa Go ialah bahasa sistem. Bahasa Go ialah bahasa peringkat sistem Ia direka untuk menyelesaikan masalah praktikal dalam proses pembangunan sistem berskala besar Ia menyokong konkurensi, seragam yang seragam, ringkas dan elegan, dan matlamat utamanya adalah untuk "mempunyai prestasi kelajuan bahasa dinamik seperti Python." dan Prestasi dan Keselamatan Bahasa Tersusun seperti C/C". Bahasa Go dioptimumkan khas untuk pengaturcaraan aplikasi sistem berbilang pemproses Program yang disusun menggunakan Go boleh sepantas kod C atau C++, lebih selamat dan menyokong proses selari.

Adakah bahasa go adalah bahasa sistem?

Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.

Apakah pengaturcaraan sistem? Mengapa Golang merupakan bahasa pengaturcaraan sistem?

Pengaturcaraan sistem ialah perisian penulisan untuk melanjutkan atau mempertingkatkan fungsi sistem pengendalian.

Contoh program sistem yang baik ialah pemacu tetikus dan papan kekunci, sistem pengurusan fail yang disertakan dengan sistem pengendalian.

Malah keseluruhan tetingkap atau sistem Mac.

Apl yang dimuat turun pada komputer dan telefon mudah alih, dan halaman blog sementara tidak diklasifikasikan sebagai pengaturcaraan sistem.

Apabila Google membangunkan bahasa Go, terdapat beberapa masalah yang diharapkan dapat diselesaikan:

  • Masa kompilasi tanpa mengorbankan terlalu banyak prestasi.

  • Masa pelaksanaan yang pantas berbanding bahasa yang ditafsirkan.

  • Perduaan statik, tidak perlu risau tentang kebergantungan sistem atau masa jalan khas.

  • Model konkurensi yang berfungsi, lebih mudah, lebih mudah untuk melakukan perkara dengan cara yang betul.

Semua sifat ini menjadikan Golang sebagai calon yang baik sebagai bahasa pengaturcaraan sistem.

Adakah bahasa go adalah bahasa sistem?

Bahasa Go ialah bahasa pengaturcaraan sumber terbuka kedua yang dikeluarkan oleh Google pada tahun 2009. Ia ialah bahasa peringkat sistem. Ia direka untuk menyelesaikan masalah praktikal dalam proses pembangunan sistem berskala besar Ia menyokong konkurensi, spesifikasi bersatu, kesederhanaan dan keanggunan, dan matlamat utamanya adalah untuk "mempunyai kedua-dua kelajuan pembangunan bahasa dinamik seperti Python dan kelajuan bahasa yang disusun seperti C/C." Prestasi dan Keselamatan".

Bahasa Go dioptimumkan khas untuk pengaturcaraan aplikasi sistem berbilang pemproses Program yang disusun menggunakan Go boleh sepantas kod C atau C++, lebih selamat dan menyokong proses selari.

Pengenalan latar belakang

Bahasa Go ialah bahasa pengaturcaraan serba baharu yang dilancarkan oleh Google yang boleh mengurangkan kerumitan kod tanpa kehilangan prestasi aplikasi. Rob Pike, ketua jurutera perisian di Google, berkata: Kami membangunkan Go kerana kesukaran pembangunan perisian sepanjang 10 tahun yang lalu telah mengecewakan.

Pada 10 Januari 2010, waktu Beijing, bahasa Go memenangi Anugerah Tahunan 2009 yang diumumkan oleh TIOBE. Anugerah ini diberikan kepada bahasa pengaturcaraan dengan pertumbuhan bahagian pasaran terbesar pada tahun 2009.

Rob Pike, seorang jurutera perisian kanan di Google, berkata, "Go membolehkan saya mengalami kecekapan pembangunan yang tidak pernah saya alami sebelum ini, seperti C++ atau C hari ini, Go ialah bahasa sistem. Beliau menjelaskan, "Anda boleh menggunakannya untuk pembangunan pesat, dan ia juga merupakan bahasa kompilasi sebenar. Sebab mengapa kami membuka sumbernya sekarang adalah kerana kami fikir ia sangat berguna dan berkuasa."

Pada tahun 2007 , Google mula membangunkan Go sebagai projek 20%, membenarkan pekerja menumpukan 20% masa mereka di luar kerja mereka sendiri untuk melabur dalam projek itu. Selain Parker, jurutera Google yang lain juga merupakan ahli projek itu.

Pike berkata bahawa kelajuan larian kod Go yang disusun adalah sangat hampir dengan bahasa C, dan kelajuan kompilasi sangat pantas, sama seperti menggunakan bahasa interaktif. Tiada satu pun bahasa pengaturcaraan sedia ada dioptimumkan khusus untuk pemproses berbilang teras. Go ialah bahasa yang ditulis oleh jurutera Google untuk jenis program ini. Ia tidak direka untuk pemula dalam pengaturcaraan, tetapi belajar menggunakannya juga tidak begitu sukar. Go menyokong berorientasikan objek dan mempunyai ciri seperti penutupan dan refleksi sebenar.

Dari segi keluk pembelajaran, Parker percaya bahawa Go adalah serupa dengan Java, dan pembangun Java sepatutnya dapat mempelajari Go dengan mudah. Sebab mengapa Go dikeluarkan sebagai projek sumber terbuka adalah untuk memberi peluang kepada komuniti sumber terbuka untuk mencipta alat yang lebih baik untuk bekerja dengan bahasa, seperti pemalam dalam Eclipse IDE.

Go tidak digunakan dalam mana-mana aplikasi web yang dikeluarkan secara terbuka oleh Google, tetapi Google telah membangunkan beberapa projek dalaman menggunakan bahasa tersebut. Parker berkata masih terlalu awal untuk menyatakan sama ada Go akan memberi kesan pada OS Chrome Google yang akan datang, tetapi Go sememangnya boleh digunakan dengan Native Client. Beliau berkata bahawa "Go membolehkan aplikasi berjalan dengan sempurna dalam penyemak imbas Sebagai contoh, menggunakan Go boleh melaksanakan Wave dengan lebih cekap, kedua-dua di bahagian hadapan dan bahagian belakang."

Go mempunyai dua penyusun pada masa yang sama, satu ialah Gccgo berdasarkan GCC, dan satu lagi ialah set penyusun (6g dan 8g) untuk komputer 64-bit x64 dan 32-bit x86 masing-masing. Google sedang membangunkan sokongannya untuk cip ARM dan peranti Android. Parker berkata, "Masalah dengan telefon Android ialah kami tidak pernah mempunyai coprocessor matematik."

Matlamat

Matlamat Go adalah untuk meningkatkan pengurusan kebergantungan seperti perpustakaan oleh bahasa pengaturcaraan sedia ada ini akan dipanggil berulang kali oleh aplikasi. Bahasa ini juga direka untuk menyelesaikan tugas berbilang pemproses kerana kewujudan model pengaturcaraan selari.

Google mula membangunkan Go sekitar tahun 2007 dan melaburkan pasukan pekerja sepenuh masa pada tahun 2008. Google pada asalnya mereka bentuk bahasa itu sebagai bahasa pengaturcaraan sistem yang boleh digunakan dalam pelayan rangkaian, sistem storan dan pangkalan data. Tetapi Google percaya bahawa bahasa itu berpotensi untuk digunakan di kawasan lain.

Ciri

Google menaruh harapan tinggi untuk Go. Reka bentuknya adalah untuk membolehkan perisian memanfaatkan sepenuhnya multitasking serentak pemproses berbilang teras dan untuk menyelesaikan masalah pengaturcaraan berorientasikan objek. Ia mempunyai ciri bahasa pengaturcaraan moden, seperti pengumpulan sampah, untuk membantu pengaturcara menangani masalah pengurusan ingatan yang remeh tetapi penting. Go juga sangat pantas, hampir sepantas program C atau C++, dan boleh mencipta program dengan cepat.

Tapak web Go telah dibina menggunakan Go, tetapi Google mempunyai cita-cita yang lebih besar. Perisian ini direka khusus untuk membina perisian pelayan (seperti Gmail Google). Google percaya bahawa Go juga boleh digunakan untuk kawasan lain, termasuk melaksanakan perisian dalam penyemak imbas dan menggantikan peranan JavaScript.

Go juga boleh menyelesaikan salah satu cabaran utama hari ini: pemproses berbilang teras. Program komputer biasa biasanya dilaksanakan secara berurutan, satu kerja pada satu masa, tetapi pemproses berbilang teras lebih sesuai untuk memproses banyak kerja secara selari. Pike berkata: Kami percaya kami mempunyai sokongan yang mencukupi untuk menambah baik aspek ini.

Walaupun Google mempunyai cita-cita besar untuk Go, syarikat itu juga memahami bahawa rancangan ini tidak dapat menggantikan sepenuhnya teknologi sedia ada. Pike berkata: Saya tidak fikir kita boleh menggantikan apa-apa. Kami hanya mencipta watak lain di alam ini.

Pembelajaran yang disyorkan: Tutorial Golang

Atas ialah kandungan terperinci Adakah bahasa go adalah bahasa sistem?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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