Hôm nay sẽ là bài mở đầu về lập trình C#, chúng ta sẽ tìm hiểu về sự ra đời của C# cũng như cách thức một ứng dụng C# hoạt động.
1. Giới thiệu C#
2. Cách thức ứng dụng C# hoạt động.
1
2
| int r = Tinh.Tong(2, 3); // trong C# Dim r As Integer = Tinh.Tong(2, 3) // trong VB |
1
2
3
4
| ldc.i4.2 ldc.i4.3 call int32 Tinh:: Tong (int32, int32) stloc.0 |
Từ khi chiếc máy tính có thể lập trình đầu tiên (First freely programmable computer) ra đời vào năm 1936 hàng nghìn ngôn ngữ lập trình đã được tạo ra. Có những ngôn ngữ chết đi vì sự thiếu tâm huyết của người tạo ra nó, sự hạn chế của chính ngôn ngữ hay không được cộng đồng sử dụng rộng rãi và cũng có cả những ngôn ngữ trở nên thành công. Với sự “chống lưng” của Microsoft tháng giêng năm 1999 Anders Hejlsberg trở thành người phụ trách xây dựng ngôn ngữ lập trình Cool (C-like Object Oriented Language tiền thân của C#) , ngày 12/2/2002 C# ra đời cùng với .NET Framework 1.0.
Kế thừa và phát triển từ các ngôn ngữ lập trình trước được sự ưu ái từ hệ điều hành Window, sau đây là một số điểm nổi bật của ngôn ngữ C#.
Cú pháp C# hàm ý, nhưng nó cũng đơn giản và dễ dàng để học. Nếu có kinh nghiệm với C, C++ hoặc Java thì bạn có thể bắt đầu làm việc hiệu quả trong C# với một thời gian rất ngắn vì c# có cú pháp tương tự, tuy nhiên C# đơn giản hơn so với C++ và cung cấp các tính năng mạnh mẽ như các loại giá trị nullable, enumerator, delegate, biểu thức lambda và việc truy cập bộ nhớ trực tiếp (unsafe code) mà bạn không tìm thấy trong ngôn ngữ Java.
C# hỗ trợ kiểu dữ liệu và phương thức chung (giống Java), ứng dụng C# nhanh bảo mật và mã nguồn có thể tái sử dụng.
Là một ngôn ngữ hướng đối tượng, C# hỗ trợ các khái niệm về đóng gói ncapsulation, thừa kế inheritance và đa hình polymorphism. Tất cả các biến và phương thức, bao gồm cả phương thức override virtual methods, được đóng gói trong Class. Một lớp có thể kế thừa trực tiếp từ một lớp cha, nhưng nó có thể có thực hiện nhiều interfaces khác nhau…
Ngoài những nguyên tắc cơ bản của ngôn ngữ hướng đối tượng, C# còn có những sáng tạo riêng: Encapsulation, Properties, Attribute, XML, Language-Integrated Query (LINQ).
Việc sử dụng đối tượng COM hoặc Win32 DLLs thông qua "Interop" trở nên dể dàng. Thậm chí C# hỗ trợ con trỏ và các khái niệm của mã "không an toàn" đối với những trường hợp mà trong đó truy cập bộ nhớ trực tiếp là tuyệt đối quan trọng.
Quy trình xây dựng ứng dụng C# đơn giản hơn so với C và C++ và linh hoạt hơn trong Java.
Các ngôn ngữ NET như C#, VB.NET, VJ#, VC++ .NET có cách thức hoạt động giống nhau và là một thành phần của .NET Framework do đó bạn không thể chạy các ứng dụng này trên các máy không chạy cài đặt .NET Framework version thích hợp.
Trước hết cần có cái nhìn khái quát về NET Framework nó gồm 2 phần chính: The common language runtime (CLR) and The .NET Framework class library.
Trong hình trên những gì bạn viết ra sẽ là custom object libraries, class libarary sẽ chứa những class chung. Có thể sử dụng nhiều lần các class này định nghĩa console, window hay button thứ mà bạn cần có để ứng dụng chạy mà không cần viết lại.
Runtime chính là nền tảng của .NET Framework cách dễ hiểu nhất là coi nó như máy ảo có nhiệm vụ quản lý bộ nhớ, quản lý luồng, cho phép truy cập các Dll khác để chương trình có thể hoạt động trơn tru.
Khi bạn viết xong một chương trình, qua quá trình biên dịch sẽ cho ta cùng một kết quả, đó là Microsoft Intermediate Language (MSIL code), ví dụ như sau:
Sau khi biên dịch chúng ta đều được một ngôn ngữ chung như sau:
Sau đó JIT compiler sẽ chuyển mã MSIL code sang mã máy thứ mà CPU có thể hiểu và thực thi.
0 comments :
Post a Comment