Search…

C# - Vì Sao Lại Chọn C Sharp

25/08/20204 min read
Ngôn ngữ lập trình C# được xây dựng bởi Microsoft có thiết kế mạnh mẽ có thể giúp cho lập trình viên có thể đạt được tốc độ phát triển lẫn tính hiệu quả.

Vì sao lại chọn C#?

C# là một ngôn ngữ lập trình được xây dựng để loại bỏ nhược điểm của những ngôn ngữ tiền nhiệm, cũng như phục vụ cho hệ sinh thái Windows cho các lập trình viên hiện thực ý tưởng dễ dàng hơn.

C# đã mất hơn 18 năm để hoàn thiện và vẫn đang tiếp tục phát triển, ngôn ngữ lập trình giúp cho các lập trình viên có thể dễ dàng biến ý tưởng thành hiện thực trên hệ sinh thái Windows vào những năm gần đây, lớn nhất là lần cập nhật để C# có thể đa nền tảng (Android/ iOS/ Linux).

Bài viết giới thiệu cho bạn đọc một kiến thức khái quát về ngôn ngữ lập trình C#, các công cụ hỗ trợ kèm theo, những tính năng và cơ hội mà ngôn ngữ mang lại.

Vậy Microsoft đã làm gì với C#?

Làm cho nó dễ học

Đây là một trong những ngôn ngữ có thể dùng ít thời gian để nắm rõ các cú pháp, những tính năng và frameworks. C# là "bản thể" biến tấu của C/C++.

  • Lượt bỏ các cú pháp phức tạp.
  • Lập trình viên không cần phải quan tâm việc quản lý vùng nhớ một cách thủ công.
  • Cấu trúc code ngắn gọn hơn.

Đừng hiểu lầm là "không làm được" mà là "không cần thiết" trong nhiều trường hợp. Code có cấu trúc ngắn gọn và dễ kiến trúc hơn sẽ giảm thiểu thời gian xây dựng ứng dụng.

Linh hoạt

C# ngày càng "dấn thân" vào các lĩnh vực và hệ sinh thái khác nhau. Ngay lúc này với C# đã có thể xây dựng rất nhiều ứng dụng ở rất nhiều nền tảng:

  • Ứng dụng cho iOS và Android - sử dụng Xamarin
  • Full stacks Website từ Backend đến Frontend - .NET
  • Server microservices - .NET
  • Xây dựng game 2D/3D đa nền tảng - Unity/Godot/MonoGame/CryEngine
  • Ứng dụng nền Desktop cho hệ điều hành Windows - Windows Form Applications/WPF/UWP
  • Ứng dụng Desktop cho Windows/Mac/Linux nhưng chung source code - GTK#
  • Ứng trí tuệ nhân tạo (Machine Learning) - ML.NET
  • Hệ thống đám mây (Cloud Services) - Azure
  • Lập trình nhúng (IoT) - .NET Core IoT/UWP

Và tất cả các ứng dụng trên đều thông qua .NET Framework. Có thể hiểu .NET là một chuẩn code để cho các ứng dụng trên hoạt động tốt nhất, trước đây điều này chỉ có thể áp dựng với Windows. Cho đến khi .NET Core ra đời giúp cho lập trình viên không bị giới hạn môi trường làm việc, xây dựng ứng dụng trên các hệ điều hành phổ biến như Linux/MacOS/Windows.

Thống trị

Lập trình viên chỉ cần biết ngôn ngữ lập trình C#, nắm rõ .NET đã dễ dàng hiện thực các ý tưởng phần mềm - "Code một lần, chạy mọi nơi".

Thế nhưng không gì là hoàn hảo, kể cả ngôn ngữ C# cũng có giới hạn khi phải thông qua .NET Framework, một thư viện khá lớn được build kèm với sản phẩm. Đây là cầu nối để ứng dụng có thể chạy đa nền tảng hoặc chí ít là linh hoạt hơn. Có thể thấy C# cần "cầu nối" cũng tương tự với Java cần JVM.

C/C++ chắc chắn vẫn sẽ tối ưu hơn về tốc độ và linh động hơn trong quản lý bộ nhớ, nhưng sẽ chậm hơn trong quá trình phát triển.

Tùy theo yêu cầu thị trường và nhu cầu của mỗi dự án mà chọn lựa phù hợp để việc phát triển dự án dễ dàng hơn.

Tài liệu

Tài liệu (documentation) về ngôn ngữ C# là một trong những sản phẩm hoàn thiện nhất, nhìn vào các mục chính trên trang chủ của ngôn ngữ có thể lập tức biết được kiến thức tổng quan cần thiết và đi từng bước như thế nào.

C# Doc outline
 Nội dung tổng quan C#

Ranh giới cũ và mới

Không cần quan tâm về quản lý vùng nhớ một cách thủ công nữa, theo một góc nhìn phát triển có thể nói đây là điều tốt vì GC (Garbage Collector) đôi lúc sẽ không "đãng trí" như con người hoặc trong các trường hợp "xóa thì crash, không xóa thì leak" như ngôn ngữ C/C++.

C# vẫn bắt khai báo kích thước mảng khi sử dụng string[] cars = new string[4] nhưng đồng thời vẫn có thể sử dụng foreach để lặp qua danh sách (list) hoặc mảng thay vì sử dụng vòng lặp for. Đương nhiên có thể sử dụng list để tránh việc khai báo kích thước cứng cho mảng, có thể thấy C# vẫn giữ lại một phần tinh tuý của đàn anh đi trước.

Lời kết

Ngôn ngữ lập trình cũng chỉ là công cụ, nền tảng lập trình mới là tất cả, tư duy lập trình sẽ giúp phát huy hết khả năng để sử dụng những công cụ này.

IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024