0

C# là gì? Tại sao lập trình viên nên học ngôn ngữ này?

Mở đầu

  • Qua bài viết: Ngôn ngữ lập trình? Nên bắt đầu học ngôn ngữ nào? chúng ta đã có một cái nhìn tổng quan về ngôn ngữ lập trình và vài trò ứng dụng.
  • Trong bài viết này, chúng ta sẽ tập trung tìm hiểu về một ngôn ngữ lập trình được sử dụng vô cùng phổ biến hiện nay đó chính là ngôn ngữ C#.

Lịch sử hình thành

  • Năm 2000, Microsoft công bố dự án .NET Framework và giới thiệu C# là ngôn ngữ lập trình chính của nền tảng này.
  • Sau hai năm phát triển, vào tháng 2 năm 2002, Microsoft chính thức phát hành C# 1.0 cùng với .NET Framework 1.0
  • Ban đầu C# được thiết kế để chạy trên hệ điều hành Window. Càng về sau C#.NET flatform phát triển ngày càng mạnh mẽ, bắt đầu hỗ trợ đa nền tảng và dần trở thành ngôn ngữ vô cùng thông dụng như hiện nay!

C# là gì?

  • C# (C-Sharp)là một ngôn ngữ lập trình hướng đối tượng và chạy trong khuôn khổ nền tảng .NET.

.NET Platform là gì?

  • .Net Flatform là một nền tảng mã nguồn mở hỗ trợ các ngôn ngữ như: C#, F# VB.NET dùng để phát triển phần mềm chạy trên đa nền tảng.

Các phiên bản chính

.NET Framework (2002 - 2019)

  • Net Framework được ra mắt vào năm 2002, giúp hỗ trợ phát triển và chạy các phần mềm trên hệ điều hành Windows.

.NET Core (2016 - 2019)

  • NET Core được ra mắt lần đầu vào năm 2016 với phiên bản NET Core 1.0, cải tiến mạnh mẽ đột phá với việc hỗ trợ chạy được các phần mềm trên đa nền tảng: Windows, Linux, MacOs.

.NET (2020 - hiện tại)

  • .NET được ra mắt lần đầu vào năm 2020 với phiên bản NET 5
  • .NET là phiên bản nâng cấp của NET Core và được kế thừa từ NET Framework hỗ trợ chạy phần mềm trên đa nền tảng.

Thành phần chính của .NET Platform

  • Các thành phần chính của .NET Platform bao gồm:

1) .NET runtime (CLR)

  • .NET runtime là một môi trường thực thi dùng để quản lý và chạy các ứng dụng .NET
  • Giúp quản lý bộ nhớ, thực thi mã nguồn và cung cấp các hệ thống dịch vụ.
  • Hỗ trợ mã nguồn của ngôn ngữ như: C#, F#, VB.NET chạy được trên đa nền tảng.

Trong .NET Core.NET 5+, phiên bản CLR được gọi là CoreCLR (nhẹ hơn và tối ưu hơn so với CLR của .NET Framework)

Một số thành phần chính trong .NET runtime:

Thành phần Mô tả chức năng
MSIL (Microsoft Intermediate Language) Khi bạn biên dịch mã C#, VB.NET hoặc F#, trình biên dịch chuyển nó thành Intermediate Language (IL)
JIT Compiler Khi chương trình chạy, IL được Just-In-Time (JIT) Compiler biên dịch thành mã máy thực thi.
Garbage Collector (GC) Quản lý bộ nhớ tự động, loại bỏ các đối tượng không còn được sử dụng để tránh rò rỉ bộ nhớ.
Common Type System (CTS) Định nghĩa kiểu dữ liệu chuẩn mà tất cả ngôn ngữ .NET đều tuân theo (int, float, string, object,...).
Common Language Specification (CLS) Định nghĩa tập hợp các quy tắc mà một ngôn ngữ .NET phải tuân theo để đảm bảo khả năng tương thích giữa các ngôn ngữ (C#, VB.NET, F#).
Exception Handling Hỗ trợ xử lý ngoại lệ thông qua try-catch-finally

Luồng thực thi của mã nguồn trong CLR

  1. Viết mã bằng ngôn ngữ .NET (C#, VB.NET, F#).
  2. Biên dịch mã thành Intermediate Language (IL) bằng trình biên dịch của .NET (C# Compiler, VB.NET Compiler, F# Compiler).
  3. Assembly Loader tải assembly (tệp .dll hoặc .exe) vào bộ nhớ khi chương trình chạy.
  4. JIT Compiler biên dịch IL thành mã máy.
  5. CLR thực thi mã, quản lý bộ nhớ và xử lý ngoại lệ.

2) Framework Class Library (FCL)

  • FCL (Framework Class Library) là tập hợp các thư viện lập trình mạnh mẽ được tích hợp sẵn, cung cấp các API và lớp hỗ trợ cho nhiều tính năng như:
  1. Quản lý bộ nhớ, xử lý ngoại lệ
  2. Làm việc với tệp tin, thư mục (I/O)
  3. Lập trình mạng (Networking)
  4. Truy cập dữ liệu (ADO.NET)
  5. Lập trình giao diện (WinForms, WPF, ASP.NET)
  • FCL bao gồm Base Class Library (BCL), là tập hợp các lớp cơ bản như System, System.Collections, System.IO,...

Trong .NET Core, thư viện này là CoreFX (hiện tại gọi là .NET Libraries)

3) .NET CLI (Command-Line Interface)

  • Công cụ dòng lệnh (dotnet)để quản lý và build ứng dụng.
# sh
dotnet new console -o MyApp  # Tạo ứng dụng Console
dotnet build                 # Biên dịch ứng dụng
dotnet run                   # Chạy ứng dụng
dotnet publish               # Đóng gói ứng dụng để triển khai

4) .NET Application Frameworks

  • Là các công nghệ ứng dụng, giúp lập trình viên xây dựng các ứng dụng cho các mục đích khác nhau:

1. Ứng Dụng Desktop

  • Windows Forms (WinForms) – UI kéo-thả truyền thống, dễ phát triển.
  • Windows Presentation Foundation (WPF) – UI hiện đại với XAML, hỗ trợ MVVM.
  • MAUI (Multi-platform App UI) – Phát triển ứng dụng đa nền tảng (Windows, macOS, Android, iOS).
  • Avalonia UI – UI đa nền tảng, thay thế WPF cho Linux/macOS.

2. Ứng Dụng Web

  • ASP.NET Core MVC – Mô hình MVC, phát triển web API và web app mạnh mẽ.
  • ASP.NET Core Razor Pages – Web nhẹ, dễ tổ chức code.
  • ASP.NET Core Blazor – Xây dựng UI web bằng C# thay vì JavaScript.
  • ASP.NET Core Web API – Xây dựng RESTful APIs cho backend.
  • Uno Platform – Viết code một lần, chạy trên web, desktop, mobile.

3. Ứng Dụng Mobile & Đa Nền Tảng

  • .NET MAUI – Framework hiện đại cho ứng dụng đa nền tảng.
  • Xamarin (deprecated, thay bằng MAUI) – Tiền thân của MAUI.
  • Ứng Dụng Nền (Background Services, Cloud, Microservices)
  • Worker Services (Service Worker) – Xây dựng dịch vụ chạy nền trên Windows/Linux.
  • ASP.NET Core gRPC – Giao tiếp giữa các dịch vụ hiệu suất cao.
  • Azure Functions – Serverless computing, chạy trên cloud.

Các IDE dùng để phát triển

Công Cụ Mô Tả Hệ Điều Hành Ghi Chú
Visual Studio IDE chính thức của Microsoft, mạnh mẽ, hỗ trợ đầy đủ .NET Windows, macOS (VS for Mac) Dùng cho tất cả các loại ứng dụng .NET
Visual Studio Code (VS Code) Editor nhẹ, hỗ trợ mở rộng với C# Extension Windows, Linux, macOS Phù hợp cho phát triển .NET Core, Blazor, ASP.NET
Rider (JetBrains) IDE chuyên sâu cho .NET, hiệu suất cao Windows, Linux, macOS Hỗ trợ mạnh refactoring, debugging
MonoDevelop IDE dành cho Mono/.NET trên Linux & macOS Linux, macOS Ít phổ biến hơn sau khi .NET Core ra đời

Kết luận

  • C# là một trong những ngôn ngữ lập trình mạnh mẽ và phổ biến nhất hiện nay.
  • Với cú pháp dễ học, hiệu suất cao và khả năng ứng dụng rộng rãi, C# là một lựa chọn tuyệt vời cho lập trình viên ở mọi cấp độ!

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí