Tutorial C# di internet dibuat pada berbagai tahun, dan itu menimbulkan masalah nyata: kode dari tutorial 2013 memakai gaya yang berbeda jauh dengan tutorial 2024. Tanpa memahami sejarah dan evolusi C#, kita kesulitan menilai apakah sebuah materi sudah usang atau masih relevan. Chapter ini merangkum titik-titik penting perjalanan C# sehingga kita dapat membaca kode lama maupun baru dengan peta yang jelas.
Titik Awal: C# 1.0 pada 2002 #
Microsoft merilis C# pertama kali pada tahun 2002 bersama .NET Framework 1.0, dengan Anders Hejlsberg sebagai desainer utamanya. Tujuan awalnya adalah menyediakan bahasa modern untuk pengembangan aplikasi di Windows: berorientasi object, memakai garbage collection, dan lebih bersih daripada C++ untuk kebutuhan bisnis.
Sejak saat itu, C# berkembang bertahap. Setiap versi besar menambahkan fitur yang meniru kebutuhan industri — generics pada C# 2.0, LINQ pada C# 3.0, dan async/await pada C# 5.0, yang sampai hari ini menjadi dasar pemrograman asinkron di .NET.
Ritme Rilis Tahunan Sejak 2017 #
Titik balik terjadi pada C# 7.0 tahun 2017. Microsoft mengubah ritme rilis dari “versi besar setiap beberapa tahun” menjadi versi baru setiap tahun, mengikuti ritme rilis .NET. Konsekuensinya, setiap fitur datang dalam potongan kecil yang mudah dipelajari, bukan lonjakan besar yang sulit diikuti.
Sorotan Fitur Per Versi #
Tabel berikut merangkum fitur kunci era tahunan — materi yang akan kita temui di kode C# modern:
| Versi | Fitur utama | Manfaat praktis |
|---|---|---|
| C# 8 | default interface members, nullable reference types | Interface dapat punya implementasi bawaan; compiler membantu mencegah error null |
| C# 9 | records, top-level statements | Data class yang ringkas; program kecil tanpa boilerplate class Main |
| C# 10 | global usings, file-scoped namespaces | File lebih pendek karena deklarasi berulang cukup sekali di project |
| C# 11 | raw string literals, required members | String multi-baris tanpa escape; property wajib diisi saat object dibuat |
| C# 12 | primary constructors, collection expressions | Constructor class lebih ringkas; pembuatan list dan array lebih singkat |
| C# 13 | versi stabil saat ini, bersama .NET 9 | Rilis November 2024; melanjutkan penyempurnaan dari C# 12 |
Apa Artinya bagi Kita #
Dua kesimpulan praktis dari evolusi ini:
- Kode lama tetap berjalan. Compiler modern dapat mengompilasi kode C# versi lama, sehingga pengetahuan dasar yang kita pelajari tetap relevan untuk membaca project tahun berapa pun.
- Fitur baru bertahap. Kita tidak perlu menghafal semua fitur sekaligus; course ini memakai gaya penulisan modern namun tetap memperkenalkan fitur sesuai kebutuhan bab.
Setelah mengetahui bagaimana C# berkembang, pertanyaan berikutnya adalah platform yang menaunginya. Kita akan membedah hubungan C# dengan .NET pada Chapter C# dan .NET.