Ngôn ngữ lập trình C# là gì?
C# (C sharp) là ngôn ngữ lập trình đơn giản, được đội ngũ kỹ sư của Microsoft phát triển vào năm 2000. C# là một ngôn ngữ lập trình hướng đối tượng, hiện đại và được xây dựng trên nền tảng của hai ngôn ngữ lập trình mạnh nhất là Java và C++.
Trong những ứng dụng Windows truyền thống, mã nguồn chương trình sẽ được biên dịch trực tiếp thành một mã thực thi của hệ điều hành. Trong ứng dụng sử dụng .NET Framework, mã nguồn chương trình sẽ được biên dịch thành một mã ngôn ngữ trung gian Microsoft intermediate language (MSIL). Sau đó, mã này được biên dịch bởi CLR (Common Language Runtime) để trở thành một mã thực thi của hệ điều hành.
Với sự hỗ trợ mạnh mẽ của .NET Framework, việc tạo một ứng dụng Windows Forms hay Windows Presentation Foundation (WPF), phát triển ứng dụng web, ứng dụng mobile, game… trở nên dễ dàng hơn.
Những đặc trưng của ngôn ngữ lập trình C sharp
Ngôn ngữ đơn giản
C# loại bỏ sự phức tạp và rối rắm của các ngôn ngữ khác như Java hay C++. Nó loại bỏ các macro, đa kế thừa, template và lớp cơ sở ảo (virtual base class).
C# đơn giản vì nó dựa trên nền tảng của C và C++. Nếu bạn đã làm quen với C, C++ hay thậm chí là Java. Bạn sẽ thấy C# khá giống về cú pháp, diện mạo, toán tử, biểu thức và các chức năng khác được lấy từ ngôn ngữ C và C++. Nhưng nó được cải tiến để làm cho ngôn ngữ C# đơn giản hơn.
Ngôn ngữ hiện đại
Các đặc tính như: thu gom bộ nhớ tự động, xử lý ngoại lệ, các kiểu dữ liệu mở rộng và bảo mật mã nguồn là các đặc tính được mong đợi nhất trong một ngôn ngữ hiện đại. Ngôn ngữ lập trình C sharp chứa tất cả các đặc tính trên.
Ngôn ngữ lập trình thuần hướng đối tượng
OOP (Object-oriented programming) – lập trình hướng đối tượng, là phương pháp lập trình có 4 tính chất. 4 tính chất đó là: tính đóng gói (encapsulation), tính trừu tượng (abstraction), tính kế thừa (inheritance) và tính đa hình (polymorphism). Ngôn ngữ lập trình C# hỗ trợ tất cả các đặc tính trên.
Ngôn ngữ ít từ khóa
C# là một ngôn ngữ sử dụng giới hạn các từ khóa. Phần lớn những từ khóa được dùng để mô tả thông tin. Chúng ta thường hay nghĩ rằng một ngôn ngữ lập trình có càng nhiều từ khóa thì sẽ càng mạnh. Điều này là không chính xác. Trong trường hợp ngôn ngữ lập trình C#, chúng ta thấy rằng ngôn ngữ này có thể được sử dụng để làm bất kỳ nhiệm vụ nào.
Những phiên bản C#
Phiên bản | Đặc tả ngôn ngữ | Ngày | phiên bản .NET | Visual Studio | ||
Ecma | ISO/IEC | Microsoft | ||||
Phiên bản C# 1.0 | 12/2020 | 4/2003 | 1/2002 | 1/2002 | .NET Framework 1.0 | Visual Studio .NET 2002 |
Phiên bản C# 1.1 C# 1.2 | 10/2003 | 4/2003 | .NET Framework 1.1 | Visual Studio .NET 2003 | ||
Phiên bản C# 2.0 | 6/2006 | 9/2006 | 9/2005 | 11/2005 | .NET Framework 2.0
.NET Framework 3.0 |
Visual Studio 2005 Visual Studio 2008 |
Phiên bản C# 3.0 | 8/2007 | 11/2007 | .NET Framework 2.0 (Except LINQ)[40]
.NET Framework 3.0 (Except LINQ)[40] .NET Framework 3.5 |
Visual Studio 2008 | ||
Phiên bản C# 4.0 | 4/2010 | 4/2010 | .NET Framework 4 | Visual Studio 2010 | ||
Phiên bản C# 5.0 | 12/2017 | 12/2018 | 6/2013 | 8/2012 | .NET Framework 4.5 | Visual Studio 2012 Visual Studio 2013 |
Phiên bản C# 6.0 | 7/2015 | .NET Framework 4.6
.NET Core 1.0 .NET Core 1.1 |
Visual Studio 2015 | |||
Phiên bản C# 7.0 | 3/2017 | .NET Framework 4.7 | Visual Studio 2017 version 15.0 | |||
Phiên bản C# 7.1 | 8/2017 | .NET Core 2.0 | Visual Studio 2017 version 15.3[41] | |||
Phiên bản C# 7.2 | 11/ 2017 | Visual Studio 2017 version 15.5[42] | ||||
Phiên bản C# 7.3 | 5/2018 | .NET Core 2.1
.NET Core 2.2 .NET Framework 4.8 |
Visual Studio 2017 version 15.7[42] | |||
Phiên bản C# 8 | 9/2019 | .NET Core 3.0 | Visual Studio 2019 version 16.3[42] |
Nền tảng .NET
.NET Framework
.NET Framework là thư viện class được sử dụng với ngôn ngữ .NET để thực thi việc thao tác chuỗi cho đến việc phát sinh ra các web động, phân tích reflection và XML. Framework được tổ chức thành những tập hợp namespace để nhóm các class có cùng những chức năng với nhau.
.NET Core
.NET Core là nền tảng phát triển đa mục đích, mã nguồn mở được duy trì bởi cộng đồng .NET trên GitHub và Microsoft. GitHub là một nền tảng chéo (hỗ trợ mac OS, Windows, Linux…) và được sử dụng để xây dựng những ứng dụng thiết bị, IoT và đám mây.
.NET 5.0
.NET 5.0 là một nền tảng mới nhất được kết hợp giữa những phiên bản .NET, tập trung vào đa nền tảng và hiệu suất. .NET kế thừa những tính năng tốt nhất của những nền tảng trước đó (.NET core, .NET Framework ,.NET Standard, Xamarin, Mono). Giúp tăng tốc độ phát triển tính năng mới và nâng cao hiệu suất.
Xem thêm: Tổng hợp kiến thức cần biết về lập trình .NET
Mục tiêu của sự phát triển C#
ECMA liệt kê những mục tiêu của việc thiết kế C# như:
C# được dự định là một ngôn ngữ lập trình hiện đại nhưng vẫn đơn giản, hướng đến nhiều mục đích sử dụng khác nhau. Đặc biệt là ngôn ngữ lập trình hướng đối tượng.
C# đáp ứng những nguyên tắc của ngành kỹ thuật phần mềm: kiểm tra giới hạn mảng, kiểm tra chặt chẽ kiểu dữ liệu và phát hiện những trường hợp sử dụng những biến chưa có dữ liệu.
C# sẽ được sử dụng để phát triển những thành phần của phần mềm theo xu hướng thích hợp trong triển khai môi trường phân tán.
Phát triển và thiết kế phù hợp với việc viết những ứng dụng cho hai hệ thống embedded system và hosted
Những lý do để học C#
C# là một trong các ngôn ngữ lập trình phổ biến nhất trong thế giới phát triển phần mềm hiện nay. Các ứng dụng web lớn như PaaS hay SaaS đều được lập trình với C#.
Vì vậy, các developer nên tận dụng tiềm năng và bắt đầu học ngôn ngữ lập trình này. Việc này giúp tăng thêm kỹ năng trong việc làm của bạn. Ngoài ra, đối với những người mới vào nghề, bạn nên theo đuổi nó để xây dựng nên sự nghiệp của mình.
Ưu điểm của ngôn ngữ C#
Là ngôn ngữ đơn giản
C# loại bỏ sự phức tạp của các ngôn ngữ như Java và C++ bao gồm macro, template, lớp cơ sở . C# tương tự về cú pháp, biểu thức, nhưng nó được cải tiến để trở nên đơn giản hơn.
Là ngôn ngữ hướng đối tượng
Phương pháp lập trình với 4 tính chất: tính trừu tượng, tính đóng gói, tính đa hình và tính kế thừa.
Thời gian develop nhanh chóng
Ưu thế lớn nhất của C# chính là khả năng tiết kiệm thời gian develop, vì nó được nhập tĩnh, dễ đọc và giảm thiểu thời gian debug; C# sở hữu một thư viện khổng lồ, cung cấp những chức năng cấp cao so với những ngôn ngữ khác như C++ hay Java. Ngoài ra, nó còn mang lại sự hiệu quả và đơn giản. Hỗ trợ những lập trình viên viết những đoạn code phức tạp. Ngoài ra, nó có một ngân hàng bộ nhớ mở rộng nên thời gian develop được giảm đáng kể.
Đường cong học tập thấp
Vì C# có đường cong học tập thấp nên các developer có thể dành ít thời gian hơn trong việc học C# so với các ngôn ngữ lập trình khác. Tính đơn giản và dễ sử dụng của nó cũng rất thuận lợi cho cả những người mới làm quen.
Có khả năng mở rộng cao
Khi phát triển phần mềm, người ta yêu cầu ngôn ngữ lập trình có thể mở rộng cũng như dễ dàng bảo trì, C# là một ngôn ngữ như thế. Các chương trình được nhất quán với nhau nhờ tính nghiêm ngặt của mã hóa tĩnh. Điều này giúp các developer dễ dàng thực hiện các điều chỉnh và bảo trì.
Nhận được sự hỗ trợ cộng đồng
Kể từ k Microsoft tạo ra C#, ta có thể thấy rõ việc C# nhận được sự hỗ trợ lớn từ cộng đồng như thế nào. Trong thế giới phát triển các phần mềm, việc có một cộng đồng là rất cần thiết. Đó là nơi các lập trình viên tìm kiếm trợ giúp cũng như những thông tin chi tiết. Ngôn ngữ lập trình không phải là dịch vụ hay nền tảng có đường dây trợ giúp chuyên dụng.
Tối ưu hóa hiệu suất C#
C# là ngôn ngữ lập trình hướng đối tượng. Đây cũng là một đặc điểm ít ngôn ngữ nào khác có. Lập trình hướng đối tượng (Object-Oriented Programming) mang đến tính linh hoạt và hiệu quả cao.
Hi vọng qua những thông tin được chia sẻ trong bài viết về C# là gì bên trên sẽ giúp ích cho bạn, đặc biệt là đối với các developer, không thể bỏ qua C# – một ngôn ngữ lập trình thông minh và tiện dụng.
Xem thêm:
- Tìm hiểu về ngôn ngữ lập trình C++
- Kiến thức cần biết về ngôn ngữ lập trình Python