Bahasa Pemrograman

Carbon

Jalur literasi desain bahasa Carbon: status proyek yang jujur, praktik Carbon Explorer, pilar desain, perbandingan dengan C++, Rust, dan Swift, hingga proyek porting kecil.

Jalur ini membahas Carbon sebagai bahasa penerus C++ yang masih eksperimental, dari status proyek yang jujur, sintaksis inti yang dapat dijalankan di Carbon Explorer, hingga pilar desain interop dan keamanan memori. Setiap program dijalankan melalui Carbon Explorer (trunk) di compiler-explorer.com, sehingga tidak diperlukan instalasi apa pun, cukup peramban web. Kefasihan dasar C++ membantu karena setiap perbandingan dan setiap rencana migrasi dalam jalur ini berangkat dari ekosistem C++. Penuntasan seluruh modul menghasilkan kemampuan membaca dokumen desain Carbon secara kritis, menjalankan dan mengevaluasi kode Explorer, serta menilai kapan proyek ini layak diikuti.

Mengenal Carbon 3 pelajaran

Modul pembuka: apa itu Carbon, status proyek yang harus dibaca secara jujur, dan alat untuk mencobanya hari ini.

  1. Apa itu Carbon?Carbon sebagai bahasa penerus C++ eksperimental dari Google beserta tujuan utamanya.
  2. Status yang JujurMembaca pernyataan status Carbon apa adanya, yaitu eksperimental dan belum siap dipakai.
  3. Alur Kerja ExplorerMenjalankan program Carbon pertama melalui Carbon Explorer di Compiler Explorer.
Kontak Pertama 3 pelajaran

Modul kontak pertama dengan bahasa: package, library, pemisahan antarmuka dan implementasi, serta fungsi Main.

  1. Package dan LibraryModel unit kompilasi Carbon yang dibentuk oleh package, library, dan import.
  2. Berkas api dan implPemisahan antarmuka dan implementasi library melalui berkas api dan impl.
  3. fn dan Hello WorldMenulis fungsi Main dengan fn dan menyapa dunia lewat Print di Explorer.
Tur Sintaksis Inti 5 pelajaran

Modul tur sintaksis inti yang dapat dijalankan di Explorer: binding, tipe, parameter, alur kendali, dan kelas.

  1. Binding let dan varBinding immutable secara bawaan dengan let dan mutasi sebagai opsi dengan var.
  2. Tipe Skalar BawaanTipe skalar inti Carbon beserta batasan yang didukung interpreter Explorer.
  3. Mode ParameterParameter let eksplisit untuk pembacaan dan var untuk mutasi di dalam fungsi.
  4. Alur KendaliPercabangan if, perulangan while dan for-in, serta break dan continue.
  5. Kelas dan MetodeMendefinisikan kelas dengan field, metode, parameter self, dan enkapsulasi.

Modul pilar desain pertama: interop C++ dua arah sebagai syarat mutlak dan strategi keamanan pointer bertahap.

  1. Pilar InteropInterop C++ dua arah sebagai syarat mutlak desain Carbon dan alasannya.
  2. Interop Hari Ini versus DesainMemisahkan yang dapat didemonstrasikan Explorer hari ini dari yang baru berupa desain.
  3. Checked PointerKeamanan pointer melalui migrasi checked pointer sebagaimana dipublikasikan dokumen desain.
  4. Peta Jalan Keamanan BertahapStrategi keamanan memori dua langkah Carbon dan pembaruan diskusi keamanan memori.

Modul pilar desain kedua: interface dan generics terperiksa, semantik package, serta tooling dan tata kelola RFC.

  1. Interface dan ImplConstraint bernama melalui interface dan impl yang diperiksa pada batas pemanggilan.
  2. Generics Bertemu TemplateChecked generics Carbon didesain berdampingan dengan template C++.
  3. Semantik PackageBagian api dan impl, penamaan package, serta maksud versioning yang direncanakan.
  4. Tooling dan Tata KelolaPerencanaan carbon format dan carbon update serta proses keputusan melalui RFC.
Perbandingan 4 pelajaran

Modul perbandingan: makna bahasa penerus dan posisi Carbon terhadap C++, Rust, serta Swift.

  1. Makna Bahasa PenerusDefinisi bahasa penerus: jalur migrasi, peminjaman ekosistem, dan batasannya.
  2. Carbon versus C++Migrasi berbantuan tooling dari C++ ke Carbon dan apa yang terbawa dari C++.
  3. Carbon versus RustMembandingkan checked pointer Carbon dengan borrow checker Rust secara adil.
  4. Carbon versus SwiftMempelajari preseden transisi Objective-C ke Swift untuk menilai rencana Carbon.

Modul mengikuti perkembangan proyek: anatomi repositori, membaca peta jalan, dan cara terlibat.

  1. Anatomi RepositoriStruktur repositori carbon-lang: dokumen desain, proposal, dan tempat keputusan dibuat.
  2. Membaca Peta JalanMenafsirkan target rilis 0.1, 0.2, dan 1.0 beserta ekspektasi yang pernah meleset.
  3. Cara TerlibatNorma kontribusi, saluran komunitas, dan cara mengikuti diskusi desain.
Pengerjaan Proyek 3 pelajaran

Modul pengerjaan proyek: memilih program C++ kecil, memportingnya ke Carbon, dan mendokumentasikan kesenjangan.

  1. Pemilihan ProyekMemilih program C++ kecil dengan rentang porting yang realistis untuk Explorer.
  2. Porting itu SendiriMenerjemahkan program C++ terpilih ke Carbon dan menjalankannya di Explorer.
  3. Laporan KesenjanganMendokumentasikan yang tidak dapat diungkapkan Carbon sebagai bahan literasi desain.