Lompat ke konten
dokumentasi.id
Commit a27b09d
v2
Star11 rb

3

Bahasa Pemrograman

## Programming Languages adalah bagian pertama di daftar isi README.md sekaligus bagian terbesar di berkas itu: 43 subbagian ### dan 101 butir tautan, membentang dari baris 14 sampai baris 244 (README.md:14-18). Daftar isi hanya menautkannya satu kali lewat - [Programming Languages](#programming-languages), sehingga seluruh subbagian duduk di bawah satu jangkar (README.md:5-12). Bagian ini berakhir tepat sebelum ## Development Environment pada baris 246 (README.md:242-250).

Karena 43 subbagian terlalu banyak untuk satu halaman, isinya dipecah ke tiga halaman kelompok: Bahasa Sistem dan Enterprise, Bahasa Web dan Skrip Dinamis, dan Bahasa Fungsional dan Format Data. Halaman ini hanya memetakan taksonomi dan batasnya; daftar tautan per bahasa ada di halaman kelompok masing-masing.

Taksonomi tiga kelompok

graph TD
  ROOT["Programming Languages · README.md baris 14"] --> SYS["Bahasa Sistem dan Enterprise · 15 bagian, 44 entri"]
  ROOT --> WEB["Bahasa Web dan Skrip Dinamis · 10 bagian, 29 entri"]
  ROOT --> FUN["Bahasa Fungsional dan Format Data · 18 bagian, 28 entri"]
  SYS --> SYS1["C++ · 8 entri"]
  SYS --> SYS2["Swift · 6 entri"]
  SYS --> SYS3["Java · 4 entri"]
  WEB --> WEB1["JavaScript · 10 entri"]
  WEB --> WEB2["TypeScript · 3 entri"]
  WEB --> WEB3["Python · 3 entri"]
  FUN --> FUN1["Scala · 4 entri"]
  FUN --> FUN2["Markdown · 3 entri"]
  FUN --> FUN3["JSON · 1 entri"]
  style ROOT fill:#f59e0b,color:#000
  style SYS fill:#2d7d46,color:#fff
  style WEB fill:#2d7d46,color:#fff
  style FUN fill:#2d7d46,color:#fff
%% fig: Pemecahan satu bagian jadi tiga halaman kelompok
%% desc: Bagian Programming Languages dipecah menjadi tiga kelompok; setiap kelompok membawa jumlah bagian dan entri terbanyaknya.
Fig. 1: Pemecahan satu bagian jadi tiga halaman kelompokBagian Programming Languages dipecah menjadi tiga kelompok; setiap kelompok membawa jumlah bagian dan entri terbanyaknya.
HalamanSubbagian ###Jumlah bagianJumlah entriBagian terbesar
Bahasa Sistem dan EnterpriseAda, C, C#, C++, .NET, D, Delphi, Fortran, Go, Java, Objective-C, Pascal, Rust, Swift, Visual Basic1544C++ (8)
Bahasa Web dan Skrip DinamisDart, Groovy, JavaScript, Kotlin, Lua, Perl, PHP, Python, Ruby, TypeScript1029JavaScript (10)
Bahasa Fungsional dan Format DataBrainfuck, Clojure, Common Lisp, Elixir, Elm, Emacs Lisp, Erlang, F#, Haskell, JSON, Julia, Markdown, Nim, R, Racket, Scala, Solidity, XML1828Scala (4)

Pembagian di atas mengikuti bentuk bahasa, bukan urutan baris. Subbagian dari satu kelompok tersebar di seluruh rentang baris 14-244: ### Ada dibuka paling awal (README.md:14-18), ### JavaScript berada di tengah (README.md:116-127), dan ### XML menutup bagian ini (README.md:242-250). Tiga subbagian terbesar adalah ### JavaScript dengan sepuluh butir, ### C++ dengan delapan butir (README.md:36-45), dan ### Swift dengan enam butir. Sisanya berkisar satu sampai empat butir.

Bentuk satu entri

Setiap subbagian memakai pola ### <Nama Bahasa> lalu satu sampai sepuluh baris butir berbentuk - [Judul](url) - Deskripsi. (contributing.md:22-26).

BentukContohRujukan
butir lengkap dengan deskripsi- [Google C++ Style Guide](url) - C++ coding standards and best practices.README.md:36-45
butir tanpa deskripsi- [Style Guide](url)README.md:53-54
heading padat isi### JavaScript dengan sepuluh butirREADME.md:116-127

Deskripsi setelah tanda - bersifat opsional: contributing.md membolehkan judul yang sudah cukup menjelaskan berdiri tanpa deskripsi (contributing.md:22-26). Empat butir pada bagian ini memakai bentuk itu, yaitu Style Guide dan Google Common Lisp Style Guide (README.md:53-54), Java Programming Style Guide (README.md:111-114), serta Rust Style Guide (README.md:207-208). Aturan penambahan tautan baru dan proses pull request-nya dibahas di Panduan Kontribusi dan Kode Etik, sedangkan pemeriksaan otomatisnya dijalankan awesomeLint.report() pada Pipeline Lint dan CI.

Aturan menyebut tautan dan kategori diurutkan menurut abjad (contributing.md:22-26), tetapi bagian ini belum sepenuhnya patuh: ### Emacs Lisp muncul setelah ### Elm (README.md:72-79), dan ### .NET muncul setelah ### Markdown (README.md:145-155). Jadi urutan abjad adalah target, bukan kenyataan yang bisa diandalkan saat mencari subbagian.

Batas bagian dan heading yang berulang

graph LR
  PL["Programming Languages · baris 14-244"] -->|memuat| ENV["Development Environment · Shell, Git, PowerShell"]
  PL -->|memuat| PLATF["Platforms · Android, Apache, API, Arduino"]
  PLATF -->|memuat| J2["Java · JavaEE Specification · baris 306"]
  PL -->|memuat| FW["Frameworks · tanpa heading ###"]
  style PL fill:#f59e0b,color:#000
  style ENV fill:#2d7d46,color:#fff
  style PLATF fill:#336791,color:#fff
  style J2 fill:#dc2626,color:#fff
  style FW fill:#8b5cf6,color:#fff
%% fig: Batas bagian dan heading Java yang berulang
%% desc: Shell, Git, dan PowerShell tinggal di Development Environment, sedangkan heading Java muncul lagi di bawah Platforms.
Fig. 2: Batas bagian dan heading Java yang berulangShell, Git, dan PowerShell tinggal di Development Environment, sedangkan heading Java muncul lagi di bawah Platforms.

Tiga subbagian yang terdengar seperti bahasa justru berada di luar bagian ini: ### Shell (baris 248), ### Git (baris 252), dan ### PowerShell (baris 257) diletakkan di bawah ## Development Environment (README.md:242-250). Sebaliknya ### Android, ### Apache, ### API, dan ### Arduino berada di bawah ## Platforms (README.md:261-280). Nama subbagian karena itu tidak cukup menjadi penanda kelompok; heading ## di atasnya yang menentukan.

⚠️ Judul ### Java dipakai dua kali: baris 109 untuk bahasa di bagian ini (README.md:111-114) dan baris 306 untuk JavaEE Specification di bawah ## Platforms (README.md:306-308). Jangkar #java hanya menunjuk kemunculan pertama, sehingga tautan menuju konvensi JavaEE harus dirujuk dengan nama lain.

Bentuk bagian lain di berkas ini berbeda: ## Frameworks tidak punya subbagian ### sama sekali dan langsung berisi empat butir (README.md:349-355). Perbandingan seluruh heading tingkat atas ada di Struktur Repository.