[Programming] Loạn quan điểm về sự khác nhau giữa C# và C++? |
10/07/2007 01:08:37 (+0700) | #1 | 70108 |
sratch
Member
|
0 |
|
|
Joined: 09/07/2007 13:27:34
Messages: 58
Offline
|
|
Xin chào các bạn mình là thành viên mới của diễn đàn,rất mong được các bạn giúp đỡ.Mình đã xem các bài viết về sự so sánh giữa C# và C++ nhưng thấy có rất nhiều quan điểm trái ngươc nhau(không biết có phải tại cái bộ não kém cỏi của mình không),sau đây là một vài ý kiến mình biết được:
+C#(C++++ ) ) kế thừa được sức mạnh của C++ và được tích hợp nhiều điểm tiến bộ.
+C#, các ngôn ngữ thuộc .net và java là các ngôn ngữ mà cần sử dụng framework, chúng thường được thiết kế để ko can thiệp sâu được vào hệ thống, chúng có một hệ thống class rất lớn phục vụ cho lập trình ứng dụng.
VC++ ko sử dụng framework, nó có một số bộ thư viện như MFC .. trợ giúp cho việc lập trình nhanh chóng và dễ dàng hơn, trực tiếp hoặc gián tiếp sử dụng api của windows. Do sử dụng trực tiếp api window, việc ngôn ngữ C nói chúng có thể thao tác trực tiếp với bộ nhớ, khả năng chèn mã lệnh asm nên làm cho vc++ có khả năng can thiệp rất sâu vào hệ thống
Điều mình thấy trái ngựoc ở đây chính là việc can thiệp sâu vào hệ thống,theo như quan điểm 1 thì C# kế thừa đươc sức mạnh của C++ nhưng ở quan điểm 2 thì cho ta thấy C++ can thiệp sâu được vào hệ thống còn C# thì không can thiệp sâu vào hệ thống.Liệu có phải C# được thiết kế để không can thiệp sâu vào hệ thống không? và 2 quan điểm trên liệu có phải là trái ngươcj nhau không?.Mình rất mong nhận được ý kiến của các bạn về vấn đề này |
|
|
|
|
[Question] Loạn quan điểm về sự khác nhau giữa C# và C++? |
10/07/2007 02:05:22 (+0700) | #2 | 70117 |
|
Z0rr0
Q+WRtaW5pc3RyYXRvc+g
|
Joined: 14/08/2002 12:52:01
Messages: 1323
Location: Underground
Offline
|
|
Bạn coi thông tin do bà con trên Internet cung cấp xem có dễ hiểu ko:
C++: http://en.wikipedia.org/wiki/C++
C#: http://en.wikipedia.org/wiki/C_Sharp
Có vài điều cần lưu ý tìm hiểu kĩ:
- Khái niệm framework: MFC là tập hợp các class libraries, hình thành một dạng application framework giúp xác định 1 ứng dụng xây dựng trên nó có những thành phần nào; C# hoạt động trên .NET framework phức tạp hơn vì bên cạch application framework, nó còn nhiều thành phần khác quản lý hoạt động của ứng dụng.
- VC++ hay Visual C++ thường được mọi người gọi là C++ trên Windows, dạng visual programming (lập trình trực quan), kéo thả các đối tượng giao diện và thực hiện các Windows message handler. Không lý do gì nó ko sử dụng framework.
- Mức độ can thiêp vào hệ thống: cả C++, C# đều có thể can thiệp các tính năng của hệ thống. |
|
Hibernating |
|
|
|
[Question] Loạn quan điểm về sự khác nhau giữa C# và C++? |
10/07/2007 02:44:17 (+0700) | #3 | 70122 |
sratch
Member
|
0 |
|
|
Joined: 09/07/2007 13:27:34
Messages: 58
Offline
|
|
Cảm ơn anh đã trả lời.Anh ơi như vậy là việc can thiệp vào hệ thống thì C# hay C++ thì cũng như nhau.Em muốn hỏi thêm là C/C++(không phải là VC++) thì có thể can thiệp sâu vào hệ thông được không? |
|
|
|
|
[Question] Loạn quan điểm về sự khác nhau giữa C# và C++? |
10/07/2007 03:25:11 (+0700) | #4 | 70132 |
|
secmask
Elite Member
|
0 |
|
|
Joined: 29/10/2004 13:52:24
Messages: 553
Location: graveyard
Offline
|
|
C# có cung cấp 1 cách thức để viết code theo dạng unmanaged code, nếu viết code theo dạng đó bạn cũng có thể làm được các công việc như C++ nhưng đây được coi là tính năng mở rộng sự tương thích qua lại giữa C# và C++, người ta chọn ko C# để làm 1 project dưới dạng toàn unmanaged code vì nó không tận dụng được thế mạnh của C# (một ngôn ngữ mềm dẻo, dễ học , dễ dùng + chay trên .net framework).
C/C++(không phải là VC++) thì có thể can thiệp sâu vào hệ thông được không?
hệ thống ở đây là hệ thống gì ? |
|
|
|
|
[Question] Loạn quan điểm về sự khác nhau giữa C# và C++? |
10/07/2007 22:35:36 (+0700) | #5 | 70293 |
|
eyesdog
Elite Member
|
0 |
|
|
Joined: 18/01/2002 06:54:01
Messages: 94
Offline
|
|
Chương trình viết bằng VC, C++ nói chung sẽ chạy trực tiếp trên hệ điều hành, còn C#, VB.NET thì sẽ chạy thông qua .NET Framework. Để dễ hiểu, chỉ cần nhìn một thằng thì làm việc trực tiếp còn một thằng cần thêm một ông ngỗi giữa làm thông ngôn, cái gì mạnh hơn có lẽ là đã rõ, còn trong trường hợp cụ thể việc can thiệp sâu hay không sâu vào hệ điều hành phụ thuộc vào người viết( Mấy ông quan to làm việc qua phiên dịch vẫn có thể tác động đến đối tượng mạnh hơn mấy ông học đại học ngoại ngữ ra làm việc trực tiếp) |
|
|
|
|
[Question] Re: Loạn quan điểm về sự khác nhau giữa C# và C++? |
15/07/2007 16:05:13 (+0700) | #6 | 71326 |
nccnm
Member
|
0 |
|
|
Joined: 23/09/2004 08:34:51
Messages: 6
Offline
|
|
C/C++ can thiệp sâu vào hệ thống?
Còn C# can thiệp nông?
Cho mình hỏi nông sâu ở đây khác nhau ở chỗ nào?
|
|
|
[Question] Loạn quan điểm về sự khác nhau giữa C# và C++? |
15/07/2007 21:14:15 (+0700) | #7 | 71344 |
|
KyNam
Member
|
0 |
|
|
Joined: 15/07/2007 01:37:35
Messages: 74
Offline
|
|
unmanaged code và manager code có 1 chỗ khác nhau mà làm cho managed code không thể dùng để làm nhiều thứ , chẳng hạn viết driver , global hook , injection ... :
+ khi gọi 1 unmanaged assembly , assembly chạy trực tiếp qua hàm main() hoặc dllmain() hoặc 1 cái tương tự
+ khi gọi 1 managed assembly , .NET runtime ( mscorlib.dll ) sẽ chạy đầu tiên , tiếp đó nó mới gọi .NET assembly |
|
|
|