Chủ đề: Bạn nghĩ gì về C so với C++?
-
23-01-2011, 05:15 PM #11Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Lúc trước mình nghĩ trình biên dịch nó build C++ ra thành C rồi mới thành mã máy. Kiến trúc đó nó đúng cho thập niên 90, còn CPU bây giờ nó hỗ trợ việc lưu object trên cache memory và support trực tiếp object–oriented cho nên thực tế tốc độ chạy mã C++ và mã C gần như tương đương nhau. Compiler bây giờ nó có thể biên dịch từ C++ sang ASM hoàn toàn.
Theo như mình biết thì hiện nay đã có Java Processor chạy trên các điện thoại di động. Do đó tương lai ko xa thì CPU nó cũng sẽ chạy được JIT code và tốc độ tính toán của C# hay Java nó cũng có thể nhanh ko thua gì C và C++ [IMG]images/smilies/biggrin.png[/IMG]
@RR: Apple nó còn chế ra "Objective-C" để viết chtr chạy trên hdh MAC hay IPhone. Nói thực là code của nó đọc rất là tởm nhưng ai đã làm tới nó rồi thì nghiền luôn.
-
23-01-2011, 07:38 PM #12Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi dragonbk91
-
24-01-2011, 11:23 AM #13Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mình chỉ nói là hi vọng sớm kết liễu thôi chứ có nói là giờ đâu, và chỉ là Java chứ không là C/C++.
Những người lập trình C, lập trinh môi trường Linux vốn rất khinh thường .NET thì phải mặc dù nó là công nghệ số 1(nói chung).Các tool lập trình Java cũng không hỗ trợ bằng VS( so sánh Netbean bản mới và VS). Không nhất thiết phải chạy được trên nhiều môi trường hệ điều hành để rùi thị phần hệ điều hành Window bị tụt dốc, MS nó biết tính mà.
Có chút nhầm lẫn,Java không thay thế được C++ thì C# còn phải chời mấy thấy, ít ra nó đã thay thế Java trong nhiều mặt. Còn Oracle thì khó biết vì mấy cái chuyện kinh doanh. mình nhầm vì các công ty thì dễ bị nuốt chững nhưng một ngôn ngữ biến mất còn tùy thuộc vào trình độ phát triển, nhưng chắc là ngôn ngữ nó cũng sẽ diệt vong, quá khứ có nhiều ngôn ngữ diệt vong mà.
-
24-01-2011, 11:44 AM #14Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Topic về C và C++ nhưng vẫn phải chen ngang tí vì thấy bàn xa nhiều rồi. Nếu lạc đề mod cứ xóa vì em cũng thấy admin cảnh báo trên kia rồi
Thứ nhất: Chẳng ngôn ngữ nào thay thế được hoàn toàn ngôn ngữ nào cả. Với Java và .NET lại càng là 2 công nghệ hoàn toàn khác biệt. Bạn có thể lên ngay trang của msdn nó ghi là: Java là ngôn ngữ đa nền còn .Net là đa ngôn ngữ trên 1 nền. Việt C# thay thế hoàn toàn Java (hoặc ngược lại) là điều không thể.
Thứ 2: Đừng đem chuyện so sánh tool nọ tool kia ra để so sánh 2 ngôn ngữ, nó cho thấy bạn có cái nhìn quá thiển cận. Netbeans cũng chẳng đại diện cho Java
To mấy đại ka đằng trên: Theo em đọc 1 bài báo cách đây gần 2 năm (lâu rồi ko nhớ có đúng không) thì Java, C# hoàn toàn không có ý định dịch ra mã máy vì làm như thế thì khác nào tự quay ngược lại với phương châm WORA mà họ đang hướng đến. Theo em được biết thì người ta dự đoán trong tương lai các thế hệ chip sẽ được implements khả năng thực thi bytecode hay MSIL => Có điều chuyện này giờ vẫn chưa thấy tăm hơi
-
24-01-2011, 11:51 AM #15Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi rox_rook
-
24-01-2011, 12:04 PM #16Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi Wazi Armstrong
Chủ đề này so sánh C/C++, mình cũng thấy lạc đề hơi nhiều rùi, nhưng mà C/C++ so sánh cũng không mang nhiều ý nghĩa, nó như hình với bóng thế kia mà. học C học thêm bước nữa là OPP ra C++, thiết nghĩ C++ bỏ OPP thành cái gì?
-
24-01-2011, 12:47 PM #17Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
C# và các ngôn ngữ khác
Chúng ta đã từng nghe đến những ngôn ngữ khác như Visual Basic, C++ và Java. Có lẽ
chúng ta cũng tự hỏi sự khác nhau giữa ngôn ngữ C# và nhưng ngôn ngữ đó. Và cũng tự hỏi
tại sao lại chọn ngôn ngữ này để học mà không chọn một trong những ngôn ngữ kia. Có rất
nhiều lý do và chúng ta hãy xem một số sự so sánh giữa ngôn ngữ C# với những ngôn ngữ
khác giúp chúng ta phần nào trả lời được những thắc mắc.
Microsoft nói rằng C# mang đến sức mạnh của ngôn ngữ C++ với sự dễ dàng của ngôn
ngữ Visual Basic. Có thể nó không dễ như Visual Basic, nhưng với phiên bản Visual
Basic.NET (Version 7) thì ngang nhau. Bởi vì chúng được viết lại từ một nền tảng. Chúng ta
có thể viết nhiều chương trình với ít mã nguồn hơn nếu dùng C#.
Mặc dù C# loại bỏ một vài các đặc tính của C++, nhưng bù lại nó tránh được những lỗi
mà thường gặp trong ngôn ngữ C++. Điều này có thể tiết kiệm được hàng giờ hay thậm chí
hàng ngày trong việc hoàn tất một chương trình.
Một điều quan trọng khác với C++ là mã nguồn C# không đòi hỏi phải có tập tin header.
Tất cả mã nguồn được viết trong khai báo một lớp.
Như đã nói ở bên trên. .NET runtime trong C# thực hiện việc thu gom bộ nhớ tự động. Do
điều này nên việc sử dụng con trỏ trong C# ít quan trọng hơn trong C++. Những con trỏ cũng
có thể được sử dụng trong C#, khi đó những đoạn mã nguồn này sẽ được đánh dấu là không
an toàn (unsafe code).
Một ngôn ngữ khác rất mạnh và phổ biến là Java, giống như C++ và C# được phát triển
dựa trên C. Nếu chúng ta quyết định sẽ học Java sau này, chúng ta sẽ tìm được nhiều cái mà
học từ C# có thể được áp dụng.
Điểm giống nhau C# và Java là cả hai cùng biên dịch ra mã trung gian: C# biên dịch ra
MSIL còn Java biên dịch ra bytecode. Sau đó chúng được thực hiện bằng cách thông dịch
hoặc biên dịch just-in-time trong từng máy ảo tương ứng. Tuy nhiên, trong ngôn ngữ C#
nhiều hỗ trợ được đưa ra để biên dịch mã ngôn ngữ trung gian sang mã máy. C# chứa nhiều
kiểu dữ liệu cơ bản hơn Java và cũng cho phép nhiều sự mở rộng với kiểu dữ liệu giá trị. Ví
dụ, ngôn ngữ C# hỗ trợ kiểu liệt kệ (enumerator), kiểu này được giới hạn đến một tập hằng
được định nghĩa trước, và kiểu dữ liệu cấu trúc đây là kiểu dữ liệu giá trị do người dùng định
nghĩa.
-
24-01-2011, 01:37 PM #18Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Topic đi một hồi thì nó cũng rơi vào việc so sánh công nghệ nhưng mà như vậy cũng hay vì nhiều người thảo luận.
@gửi bạn Trangkhuyet
.Java và .NET nó ra đời cũng gần được hơn 10 năm rồi nhưng thực sự tầm ảnh hướng của nó chỉ thiên về 1 mảng nào đó trong ngành công nghiệp phần mềm vì trong giới kinh doanh họ vẫn thích sử dụng công nghệ này hơn do chi phí phát triển phần mềm nó thấp nhưng quan trọng nhất là thời gian phát triển nhanh chóng.
Native code C/C++ nó có 1 thế giới hoàn toàn khác và chắc chắn với bạn rằng 95% ứng dụng mà bạn cài đặt trên PC của bạn đều viết bằng native code. Bạn thấy đó 10 năm với những tinh hoa công nghệ của M$ tạo ra nhưng nó không thể nào thay thế hoàn toàn, bởi lẽ người chấm điểm cuối cùng là người sử dụng. Họ ko phân biệt được ứng dụng này viết bằng .NET hay Native C/C++... mà họ chỉ quan tâm tới sản phẩm đó có ổn định hay không, hoạt động có làm chậm hệ thống hay không?
IE của M$ nó có viết bằng công nghệ nào đi nữa nhưng nó chạy chậm hơn Firefox hay Chrome, thậm chí cả Opera thì người sử dụng họ sẽ phải tìm 1 brower khác để thay thế cho IE (mình đã bỏ IE gần 4 năm roài :P)
Nếu mà bạn vượt qua được cái "khó" mà bạn nói ở native code so với .NET thì biết đâu bạn sẽ nghĩ khác về C/C++
-
24-01-2011, 03:23 PM #19Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi ZCoder87
Những thứ mình làm với C++ toàn chỉ chạy trên Window vì Mình code C++ toàn bằng Visual và .NET hết.Bời vậy tất cả cái mình nói về C++ gắn với Window thội, môi trường khác không tính.
-
24-01-2011, 04:26 PM #20Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Vấn đề thứ nhất:
Bạn là người tìm hiểu C# và .NET mà ngay cả bản thân bạn cũng không rõ ràng về nó. C# và .NET gắn liền với nhau từ khi nó còn trong trứng, đều được phát hành cùng lúc vào tháng 1 năm 2002. C# ban đầu có tên là "C-like Object Oriented Language", viết tắt là Cool (nhưng sợ mấy người Việt Nam đọc là 'Cu' nên đổi thành C# đấy thôi [IMG]images/smilies/biggrin.png[/IMG]). Ngay từ khi C# ra đời giới lập trình ai cũng nhận ra là C# là một sự bắt chước của Java, và cũng đã bị một làn sóng phản ứng từ cộng đồng lập trình thế giới về chuyện này. Người kỹ sư trưởng Anders Hejlsberg đã phải cáo lão về quê vào ngày 29 tháng 1 năm 2004.
Cũng xin lưu ý với bạn rằng: Ở đây cũng không có bất kỳ ai chê C# và .NET cả, bản thân Kevin cũng coi C# và .NET là một trong các thành công vĩ đại của M$ đặc biệt là của Anders Hejlsberg, giúp cho ai cũng có thể học lập trình một cách dễ dàng. Nhưng không có bất cứ nghĩa nào là: Nếu tôi sử dụng nó, hiển nhiên tôi cũng thành công vĩ đại như M$. 2 ý nghĩa này khác nhau hoàn toàn.
Vấn đề thứ 2:
Đã có nhiều bạn cho rằng C# hỗ trợ cho thiết kế giao diện và nhiều thứ hơn C/C++, điều đó có thể đúng nếu so sánh C# .NET với Microsft C/C++ và MFC. Cho đến thời điểm hiện tại, quả thật điều trên Kevin thấy không còn đúng. Hiện nay sử dụng C/C++ thiết kế một giao diện đẹp như những sản phẩm của Apple đơn giản hơn C# gấp nhiều lần, và bạn được thoải mái lựa chọn những gì mình thích. Tất nhiên là để sử dụng được C/C++ hiệu quả cần nhiều thời gian hơn C# gấp nhiều lần và không dành cho những người không đam mê nó.
Một điều mà ít người để ý là: Tại sao các công ty như Nokia, Apple lại dần dần trở thành công ty chiếm lĩnh thị trường trong khi thiết bị mới càng có mức độ dư thừa tài nguyên cao hơn? Tại sao các công ty to đùng như Google, facebook lại không sử dụng sản phẩm của M$, trong khi họ là những người hiểu rõ tính hiệu quả hơn hẳn chúng ta ngồi đây?
Túm lại là bạn đừng có đem ra so sánh, khi mà bạn tin vào một người nào đó, trong khi người đó không làm được như bạn mong muốn thì sự thất vọng sẽ dành cho của bạn.
PS: Ở góc độ người lập trình C#, có thể bạn không nhận ra cái nào viết bằng C/C++, hay C#, hay ... nhưng ở góc độ một người lập trình C/C++, lúc nào cũng có thể biết chương trình của bạn được viết bằng gì một cách cực kỳ đơn giản.
chung cư cao cấp Phú Tài Residence xây dựng bởi Cty TNHH MTV Bất động sản Phú Tài trải nghiệm thú vị khu phát triển cảnh quan hoàn hảo. bán căn hộ Phú Tài Residence trải nghiệm thú vị đẳng cấp sống...
Dự án Phú Tài Residence sang trọng...