Sunday, August 19, 2018

Lịch sử phát triển của ngôn ngữ lập trình C#


Giới thiệu

C# (đọc là "C thăng" hay "C sharp") là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java.

C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC.

Các phiên bản của C#


Phiên bản
Ngày phát hành
.NET Framework
Visual Studio
C# 1.0
Tháng 1 năm 2002
.NET Framework 1.0
Visual Studio .NET 2002

C# 1.1
C# 1.2
Tháng 4 năm 2003
.NET Framework 1.1
Visual Studio .NET 2003

C# 2.0
Tháng 11 năm 2005
.NET Framework 2.0
Visual Studio 2005

C# 3.0
Tháng 11 năm 2007
.NET Framework 2.0
.NET Framework 3.0
.NET Framework 3.5
Visual Studio 2008
Visual Studio 2010

C# 4.0
Tháng 4 năm 2010
.NET Framework 4
Visual Studio 2010

C# 5.0
Tháng 8 năm 2012
.NET Framework 4.5
Visual Studio 2012
Visual Studio 2013

C# 6.0
Tháng 7 năm 2015
.NET Framework 4.6
Visual Studio 2015

C# 7.0
Tháng 3 năm 2017
.NET Framework 4.6.2
Visual Studio 2017

Các tính năng mới trong từng phiên bản

C# 2.0

  • Generics
  • Partial types
  • Hàm Anonymous
  • Iterators
  • Các kiểu Nullable
  • Khả năng tiếp cận getter/setter riêng biệt
  • Phương pháp nhóm chuyển đổi (delegate)
  • Co- và Contra-variance cho các delegates (delegate)
  • Các lớp static
  • Delegate inference

C# 3.0

  • LINQ
  • Cải tiến trong việc khởi tạo đối tượng: Customer c = new Customer(); c.Name="James"; có thể viết là Customer c = new Customer { Name="James" };
  • Các biểu thức lambda: listOfFoo.Where(delegate(Foo x) { return x.size>10;}) trở thành listOfFoo.Where(x => x.size>10);
  • Mặc định gõ các biến cục bộ, ví dụ var x = "hello"; có thể hoán đổi với string x = "hello";
  • Các property được tự động hiện thực hóa
  • Các kiểu anonymous
  • Các hàm extension
  • Cây biểu thức
  • Các hàm dạng partial

C# 4.0

  • Dynamic binding
  • Đối số được đặt tên và tùy chọn
  • Co- và contravariance dạng generic
  • Các kiểu interop nhúng ("NoPIA")

C# 5.0

  • Các hàm asynchronous
  • Tìm thông tin thành phần gọi hàm

C# 6.0

  • Compiler-as-a-service (Roslyn)
  • Nhập các thành viên kiểu static vào không gian tên.
  • Exception filters
  • Await trong các khối catch/finally
  • Tự động cài đặt property
  • Các thành viên trong thân biểu thức
  • Toán tử kiểm tra null
  • Chuỗi nội suy
  • Toán tử nameof

C# 7.0

  • Các biến out
  • Pattern matching
  • Tuple
  • Deconstruction
  • Các hàm cục bộ
  • Kiểu ValueTask
  • Constructor and finalizer trong thân biểu thức
  • Getter và setter trong thân biểu thức
  • Throw cũng có thể được dùng làm biểu thức

Hiện tại thì C# vẫn được tiếp tục cải tiến và phát triển, cho đến thời điểm viết bài thì C# đang được cập nhật tới phiên bản 7.3 với một số tính năng nổi bật như:
  • Async main
  • Tuple type

Với cú pháp đơn giản, cấu trúc và đầy sự mạnh mẽ của C#, chúng ta hãy cùng hy vọng C# sẽ trở thành một ngôn ngữ phổ biến nhất trong thế giới lập trình viên.

No comments:

Post a Comment

Tuyệt chiêu tránh khỏi sự chậm chạm của Entity Framework

Nhìn chung mà nói, tôi chả lo lắng gì nhiều về câu lệnh LINQ của tôi khi làm việc với Entity Fra...