• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Vén màn bí ẩn của NET qua trình biên dịch Roslyn

Thảo luận về các vấn đề Công Nghệ Thông Tin chung: tin tức, công nghệ mới...

Điều hành viên: Điều hành

Hình đại diện của người dùng
tummosoft
Điều hành viên
Điều hành viên
Bài viết: 331
Ngày tham gia: T.Hai 19/05/2014 2:23 pm
Has thanked: 7 time
Been thanked: 57 time
Liên hệ:

Vén màn bí ẩn của NET qua trình biên dịch Roslyn

Gửi bàigửi bởi tummosoft » T.Tư 09/07/2014 11:16 am

Đầu tháng Tư năm 2014, thành phố San Francisco trở nên chộn rộn hơn với hình ảnh các chuyên gia công nghệ khắp nơi trên thế giới đổ về dự hội nghị công nghệ Build 2014 do Microsoft tổ chức tại nước Mỹ.

Hội nghị Build 2014 năm nay rất được giới công nghệ chờ đợi. Người ta muốn biết, "ông trùm" trong lĩnh vựcc phần mềm này trong tương lai sẽ hướng hệ điều hành Windows 9 trở nên như thế nào, cũng như Windows Phone 8.1 có cải tiến gì đáng chú ý, và các cập nhật khác cho các sản phẩm chủ chốt của Microsoft.

Với các lập trình viên. Khoảnh khắc lắng lòng chờ đợi từ ngày đầu của hội nghị cuối cùng cũng được giải tỏa. Chuyên viên Anders Hejlsberg xuất hiện trước diễn đàn, anh hướng mắt lên màn hình trình diễn, sau bức phông nền xám, nút "Publish" sáng nhấp nháy ẩn mình chờ đợi. Rồi Anders Hejlsberg tươi cười click vào đường dẫn, trình duyệt Internet liền hướng khán giả đến trang dịch vụ hosting mã nguồn mở CodePlex, và tuyên bố: "Bây giờ Roslyn lại là một công cụ mã nguồn mở".

Một tràng pháo tay dội lên từ bên dưới, sau hai ngày hội nghị, người ta bắt đầu có cảm tưởng Microsoft đang đang dần hướng đến khả năng mở cho nền tảng công nghệ NET hàng đầu cho thế giới.

"Roslyn" là gì?

"Roslyn" là tên mã nguồn của trình biên dịch .NET mới (.NET Compiler Platform), một bản tham khảo xem trước (CTP - Community Technology Preview) được các chuyên viên Microsoft phát triển trong nhiều năm liền. Nói nôm na, Roslyn sẽ dịch trước code sang mã IL để lập trình viên tham khảo, tìm kiếm điểm không tương thích giữa mã nguồn của mình phát triển với các thư viện của NET Framework, sau cho tối ưu code một cách hoàn hảo nhất.

Hãy tưởng tượng có 3 lớp giao tiếp trong một phần mềm: từ code, trình biên dịch và các thư viện API của Windows. Quá trình thực thi của NET sẽ biên dịch code thành mã trung gian MSIL; từ mã MSIL, nhờ vào bộ JIT mà biên dịch thành mã máy. Như vậy, điều gì sẽ diễn ra trong suốt quá trình này? Bí mật sẽ được gợi mở khi Roslyn sẽ cho phép bạn xem trước điểm tiếp xúc giữa VB, C# và các API dưới dạng mã nguồn C#.

Hãy xem ví dụ về đoạn code được viết tự nhiên và đoạn code được sắp xếp lại của trình biên dịch.

// Start scanning the token
character = TextWindow.PeekChar();
switch (character)
{
case '\"':
case '\'':
case '«':
this.ScanStringLiteral(ref info);
break;

Hình trên là đoạn code thực được viết bằng C#
Và hình dưới là đoạn code được "xem trước" qua phân tích của Roslyn

private bool ScanStringLiteral(ref TokenInfo info, bool allowEscapes = true)
{
var quoteCharacter = TextWindow.PeekChar();
if (quoteCharacter == '\'' || quoteCharacter == '"' || quoteCharacter == '«')
{
TextWindow.AdvanceChar();


Microsoft đang tỏ ra rộng lượng hơn

Qua sự làm việc của bộ đôi Dustin Campbell và Kevin Pilch-Bisson, trưởng nhóm dự án. Roslyn được phát hành vào tháng 11 năm 2011, qua nhiều năm úp mở, cuối cùng trình biên dịch Platform này cũng được mở mã nguồn như đã thấy.

Phát trong hội nghị, Matt Gertz, giám đốc quản lý phát triển của bộ Visual Studio nói, Roslyn sẽ đem sự linh hoạt đến cho lập trình viên, họ có thể viết lại và quản lý bộ mã NET theo cách riêng của họ.Ngoài ra, Roslyn còn giúp phân tích mã nguồn, cô đọng cú pháp, đánh giá các ràng buộc của code, cũng như biên dịch code thành mã thực thi.
Qua hội nghị Build 2014, giới chuyên gia đánh giá ông trùm độc quyền trong ngành công nghệ ngày nào đang tỏ ra rộng lượng hơn. Ngoài việc mở mã nguồn Roslyn, Microsoft cũng thành lập quỹ mã nguồn mở cho NET (the .NET Foundation - http://www.dotnetfoundation.org/). Tổ chức có sự tham gia của Miguel de Icaza, đồng sáng lập Xamarin, sẽ đứng đầu trong việc phát hiện và quản lý các dự án mã nguồn mở cho NET. Cũng như dọn đường cho NET mở rộng đến các nền tảng di động khác như iOS và Android.

Roslyn sẽ giúp NET Application nhanh hơn?

Trong một bài viết đánh giá về Roslyn trên tạp chí Visual Studio, Keith Ward nói còn quá sớm để cho rằng Roslyn sẽ đạt hiệu quả cao hơn trình biên dịch cũ của NET. Cả hai trình biên dịch tự nhiên và Roslyn đều biên dịch đơn luồng (single-threaded), nhưng Roslyn biết tận dụng lợi thế của Phần mở rộng song song (Task Parallel Library - TPL) khi gọi các hàm API nên có phần nhỉnh hơn. Ví dụ: cả mã nguồn viết bằng C# và VB đều được biên dịch một lần bằng trình biên dịch Roslyn thay vì như cách cũ của Visual Studio.

Và còn phương thức khác có thể cải thiện thêm hiệu suất của trình biên dịch Roslyn là nó biết giữ lại thông tin của lần biên dịch trước và tái sự dụng nó thay vì biên dịch lại từ đầu. Vấn đề này sẽ giúp cải thiện đáng kể tốc độ của ASP.NET trong tương lai.

Tương lai của VB và C# sẽ thế nào sau Roslyn

Anders Hejlsberg, người từng đứng đầu nhóm phát triển Borland Delphi trước năm 1996, lần này tập trung vào một trình biên dịch đa luồng Roslyn (phần mở rộng song song). Và hy vọng, qua Roslyn kỷ thuật lập trinh đa luồng sẽ thực sự hiện diện trong NET Framework, tương tự như lớp thư viện PLINQ trong bộ NET Framework 4.0.

Mã nguồn của bộ .NET Compiler Platform ("Roslyn") hiện đang chứa tại trang https://roslyn.codeplex.com/wikipage?ti ... umentation
Bạn có thể download về để khám phá, tuy nhiên Roslyn chỉ có thể hoạt động trên bộ Visul Studio 2013.

TUMMOSOFT



Quay về “Các vấn đề CNTT khác”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.3 khách