Ai đã từng làm việc với .NET mà không biết đến môi trường runtime CLR (Common Language Runtime). CLR cung cấp cho các dịch vụ thông thường cho các ngôn ngữ lập trình như C#, VB, v.v…như gom rác - Garbage Collection, biên dịch sang mã máy - JIT-Compiler , …v.v.
Điều này tạo ra hai lợi thế chính:
- Ngôn ngữ mới có thể được đưa ra trên cơ sở tương tự tại cơ sở (CLR) để dễ dàng thực hiện, ngôn ngữ có nguồn gốc từ CLR có thể để xây dựng từ ngôn ngữ khác hoặc làm việc với chung với nhau, thí dụ như xài chung 1 thư viện.
- Hiện nay, có hàng tá ngôn ngữ cho .NET (danh sách: http://dotnetpowered.com/languages.aspx), đây không chỉ là ngôn ngữ cấu trúc ngoài ra bọn chúng cũng đã có sẵn những chức năng thông dụng.
DLR cung cấp dịch vụ chung cho tất cả ngôn ngữ bao gồm một hệ thống năng động và dịch vụ tạo mã khi kích hoạt.
Một khác biệt lớn giữa hệ thống năng động và hệ thống tĩnh (ví dụ như C#/VB.NET) là:
Hệ thống năng động (kiểm tra và cấp phát khi chạy)
- Khi chạy sẽ bị chậm tuy nhiên biên dịch nhanh hơn, có nghĩa là thời gian để sửa / thử nghiệm / chu trình gỡ lỗi, … sẽ ngắn đi nhiều
- Kiểm tra phân loại được thực hiện khi chạy
- Giảm lỗi khi tạo dựng do sử dụng các đơn vị kiểm nghiệm
- Nhanh hơn khi chạy vì kiểm tra phân loại được thực hiện khi biên dịch
- Hệ thống kiểm lỗi được thực hiện trong quá trình biên dịch
Cho đến nay tôi đã luôn luôn chú ý đến vấn đề này, tuy rằng vẫn chưa áp dụng thật sự nhưng với thời gian nghiên cứu, tôi nghĩ rằng mình nên xét lại. Sớm hay muộn mọi người đều phải đụng chạm đến nó trong quá trình soạn thảo lập trình; sự phát triển này là một phần mở rộng của các khả năng và không phải là thay thế cơ sở cũ.
(Bài tiếng Việt đầu tiên về lập trình đọc thấy chuối ghê :D, chắc viết tiếng Đức cho nó lành :p)

0 nhận xét:
Đăng một Nhận xét