Visual C# .NET là một ngôn ngữ lập trình đơn giản, hiện đại, hướng đối tượng an toàn kiểu (type-safe) và có nguồn gốc từ các ngôn ngữ C và C++Sách nó nói thế
Dạo gần đây, mình thấy có nhiều bài viết nói về cơ chế hoạt động của C#, và cấu tạo của nó thế nào, và mình cũng được tiếp thu ý kiến của nhiều bạn trong diễn đàn, cụ thể có người đã phát biểu "C# có nhân của C++". Thú thật,mình còn mơ hồ lắm, mình ko dám nhận mình là đọc hết sách của thiên hạ nói về C#, nhưng qua mấy cuốn sách mình học, ko có cuốn nào bàn về cái nguồn cội này, mà nói về 1 "sàn diễn" mới đó là .NET FRAMEWORK, và có sách cũng bảo, CLR của C# ko dịch code ra mã máy mà dịch ra IL, trong khi đối với ngôn ngữ C thì code được dịch ra mã máy ngay.
Tính mình vốn thực dụng, nói có sách,mắt có ...code, do đó, mong được mọi người cùng nhau bàn luận, đưa ra những quan điểm, những dẫn chứng, tài liệu xác đáng, để chứng mình nhận định trên.
NOTHING GONNA CHANGE MY LOVE FOR C
Visual C# .NET là một ngôn ngữ lập trình đơn giản, hiện đại, hướng đối tượng an toàn kiểu (type-safe) và có nguồn gốc từ các ngôn ngữ C và C++Sách nó nói thế
Core C# là gì nữa? Cũng chưa nghe qua khái niệm này.Ai đó giải thích hộ cái? Từ trước tới giờ chỉ nghe .Net Frame Work và CLR, đọc mấy cái cơ chế hoạt động của nó cũng chẳng thấy đề cập gì đế C++ cả. Có chăng chỉ là sự so sánh giữa C/C++ và C#.
Chắc chắn là rất nhiều thành phần của .NET được viết = C++, cụ thể là VC++ 7.x, 8.0.
vd: các bạn vào %WinDir%\Microsoft.NET\Framework\vxxx.xx.xx, gần như 100% các file .dll có tên mscorxxx.dll đều được viết và build = VC++, và sau này các bạn sẽ biết đấy là các file nhân (core) của .NET đấy.
vd: mscorwks.dll, Microsoft .NET Runtime Common Language Runtime - WorkStation, trên máy tui, .NET v2.0, build = VC++ 2005, linker ver = 8.0
mscoree.dll, Microsoft Common Language Runtime Class Library, cũng build = VC++ 2005.
Các bạn google với Microsoft Shared Source CLI, sẽ vào được thư mục source và sẽ thấy source C++ của .NET
MS Windows, MS Office, VS 6 được viết bằng C++.
VS 2005, Office 2007 có nhân viết bằng C++, nhưng một số thành phần của nó lại chạy trên .NET framework.