Trang 1 trên tổng số 8 123... Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 75 kết quả

Đề tài: So sánh C# với C++ và Java. Giống và khác như thế nào?

  1. #1
    Ngày gia nhập
    09 2011
    Bài viết
    1

    Mặc định So sánh C# với C++ và Java. Giống và khác như thế nào?

    các bạn cho mình hỏi: những phương thức và lớp trong c# hoạt động giống và khác với c++ và java ở chỗ nào????
    cảm ơn các bạn!!!!!!!!

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    3 thằng này về kiến trúc và môi trường chạy đều khác nhau hoàn toàn. Bạn hỏi rộng như thế thì sao mà trả lời được.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    09 2011
    Nơi ở
    Hưng Yên
    Bài viết
    11

    Cái này mình tìm được bên IT forum bạn xem có giúp ích được j không ? Có lẽ là khá đầy đủ (và có cái dư ý ! )
    [meoconlongvang] : Mình nghĩ nó không đến mức hoàn toàn đâu ! Chẳng qua là bạn có tim giúp hoặc chia sẻ cho những người mới như mình không thôi !

    Sự khác nhau giữa C# và C++
    Thừa kế: Trong C++, class và struct hầu như giống nhau, ngược lại trong C#, chúng khá khác nhau. Lớp C# có thể hiện thực/thừa kế (implement) nhiều interface, nhưng chỉ được thừa kế từ chỉ 1 lớp cơ sở. Hơn nữa, struct C# không hỗ trợ thừa kế, và không hỗ trợ constructor mặc định

    Mảng (Array): Trong C++ mảng chính là 1 con trỏ (pointer). Trong C#, mảng là đối tượng (object),có thuộc tính và phương thức. Ví dụ, số phần tử của mảng có thể lấy thông qua thuộc tính Length. Mảng C# còn kiểm tra chỉ số thứ tự khi truy xuất phần tử. Cú pháp khai báo mảng trong C# và C++ cũng khác: token "[] " theo sau khai báo kiểu của mảng chứ không phải đứng sau tên biến như trong C++

    Boolean: Trong C++, kiểu bool thực ra là số integer. Trong C#, không có sự tự chuyển đổi qua lại giữa bool và các kiểu khác

    Kiểu số nguyên long: Trong C#, kiểu long có độ dài 64 bit, trong C++ là 32 bit.

    Kiểu số nguyên int: Trong C#, nó chắc chắn có độ dài 32 bit, trong VC++ là 32 bit, trong các trình biên dịch C++ khác, độ dài của nó có thể là 16 bit.

    Truyền tham số: Trong C++, mọi biến được truyền bằng trị, nếu không phải là con trỏ hoặc biến tham khảo. Trong C#, đối tượng (một thực thể của class) được truyền tham khảo (truyền tham biến), struct được truyền tham trị, nếu không khai báo "ref" hoặc "out"

    Phát biểu switch: Không giống C++, C# hỗ trợ việc nhảy từ nhãn này qua nhãn khác qua phát biểu goto

    Delegate: Delegate C# giống như con trỏ hàm của C++, nhưng an toàn và bảo mật.

    Phương thức trong lớp cha: C# hỗ trợ từ khóa "base" cho việc gọi lại các phương thức của lớp cha. Hàm nạp chồng (overload) được khai báo 1 cách tường minh bằng từ khóa "override"

    Che khuất phương thức: Trong C++ phương thức trong lớp con chắc chắn che khuất phương thức trong lớp cha nếu chúng cùng prototype. Trong C#, bạn phải dùng từ khóa "new" trước phương thức hay thuộc tính bạn muốn che phủ

    Chỉ thị tiền biên dịch: C# chỉ cho đặt dẫn hướng tiền biên dịch (là các symbol) trong configuration của project, mà không có các file header (.h)

    Exception: C# cung cấp từ khóa "finally" cho đoạn code try {} catch để bắt Exception mà cần thêm những tác vụ bảo đảm an toàn

    Toán tử: C# hỗ trợ một số toán tử mở rộng như: "is", "typeof".

    Từ khóa "extern": Trong C++, "extern" dùng để khai báo kiểu/biến được định nghĩa trong file .obj khác. Trong C#, extern dùng để tạo ra một bí danh (alias) khi sử dụng version khác của 1 assembly.

    Từ khóa "static": Trong C++, static dùng trong khai báo phương thức/thuộc tính/biến trong class, hàm. Trong C#, chỉ dùng đối với các thành viên của class, không có trong hàm

    Hàm main: Trong C# hàm Main (M viết hoa) luôn khai báo là static

    Con trỏ: Được phép trong C#, nhưng chỉ trong mode unsafe

    Sự khác nhau ở các toán tử.

    Chuỗi (string): Trong C++, string chỉ đơn giản là mảng ký tự. Trong C# string là 1 đối tượng (object) có hỗ trợ các phương thức tìm kiếm

    Từ khóa foreach: Trong C#, cho phép duyệt qua các phần tử của mảng hoặc tập hợp

    Tầm vực Toàn cục: Trong C#, biến phương thức không có tầm vực toàn cục, chúng bắt buộc phải thuộc 1 class/struct nào đó

    Biến cục bộ: Trong C#, biến cục bộ có thể dùng trước khi khởi tạo giá trị

    Quản lý bộ nhớ: C++ không có cơ chế dọn rác, bộ nhớ không được trả lại hệ thống cho đến khi process kết thúc hoặc tự giải phóng bằng phát biểu delete/free. C# làm một cách tự động

    Hàm khởi tạo: Tương tự như C++, nếu bạn không viết hàm khởi tạo nào trong 1 lớp của C# thì 1 hàm khởi tạo mặc định tự động tạo ra (trong assembly) cho bạn. Hàm khởi tạo mặc định khởi tạo những giá trị mặc định cho các biến thành viên

    Giá trị mặc định cho tham số hàm/phương thức: C# không có, bạn phải dùng cách nạp chồng phương thức để thực hiện

    Kiểu generic: Khai báo như là một tham số của class hay method, tương tự như template trong C++

    Từ khóa "as": toán tử chuyển đổi kiểu, sẽ ném một exception nếu việc chuyển đổi không thực hiện được. Giống với static_cast trong C++, nhưng khác với dynamic_cast vì dynamic_cast không thực hiện kiểm tra sự tương thích kiểu nên không ném exception nào nếu như thực sự có lỗi


    Còn đây là C# và javatepj đính kèm nhé !
    Attached Files Attached Files

  4. #4
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    Mình thấy độ khó của 3 ngôn ngữ này khác nhau rất rõ: thứ tứ theo độ khó giảm dần là:
    1. C++
    2. Java
    3. C#
    Skype: mrfour.it - Yahoo:mrfour_it
    Gmail: mrfour.it@gmail.com
    Bạn muốn học lập trình? Bạn chưa có kiến thức cơ bản? Bạn muốn học từ cơ bản tới nâng cao?... Bạn muốn có source code để tham khảo? Muốn có người hỗ trợ khi học?....http://www.laptrinh123.com sẽ giúp bạn những điều đó!

  5. #5
    Ngày gia nhập
    03 2009
    Bài viết
    36

    Mình thì nghĩ java khó hơn C++ rất nhiều

  6. #6
    Ngày gia nhập
    05 2011
    Nơi ở
    hell
    Bài viết
    37

    Mặc định So sánh C# với C++ và Java. Giống và khác như thế nào?

    Trích dẫn Nguyên bản được gửi bởi hoanglamth1 Xem bài viết
    Mình thì nghĩ java khó hơn C++ rất nhiều
    Trời. Cú pháp của Java đơn giản, trực quan hơn C++. So sánh các vấn đề tương đương thì ko mấy ai đồng tình với bạn cả
    Còn nếu ai chuyên về cái gì hơn thì đương nhiên thấy cái đó dễ hơn

  7. #7
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    Trích dẫn Nguyên bản được gửi bởi hoanglamth1 Xem bài viết
    Mình thì nghĩ java khó hơn C++ rất nhiều
    Trời. Bạn học java mà ko đọc phần giới thiệu à? Ở ngay lời nói đầu, sách nào chẳng ghi Java dễ hơn C++, Còn ở C# thì ghi là: C# dễ hơn java và C++.hihi. Bạn ko tin thì hỏi mấy cao thủ C++, C#,Java xem họ nhận định thế nào?hix
    Skype: mrfour.it - Yahoo:mrfour_it
    Gmail: mrfour.it@gmail.com
    Bạn muốn học lập trình? Bạn chưa có kiến thức cơ bản? Bạn muốn học từ cơ bản tới nâng cao?... Bạn muốn có source code để tham khảo? Muốn có người hỗ trợ khi học?....http://www.laptrinh123.com sẽ giúp bạn những điều đó!

  8. #8
    Ngày gia nhập
    06 2011
    Bài viết
    38

    mình nghĩ c++ dễ hơn java,có lẽ vì không phải cao thủ,nhưng một điều chắc chắn là nó khó dễ thế nào là tùy vào cảm nhận của mỗi người chứ không phải lời nói đầu ghi nó dễ hơn thì nó nhất định phải dễ hơn
    Press any key to continue
    fuck china

  9. #9
    Ngày gia nhập
    06 2007
    Nơi ở
    Hà Nội
    Bài viết
    361

    Khó hơn hay dễ hơn có thể có nhiều tiêu chí nhưng theo mình thì quan trọng nhất là ở những thứ :
    - Học mất bao lâu
    - Code cái nào ngắn hơn
    - Debug cái nào dễ hơn, môi trường lập trình cái nào code sướng nhất

    Xét trên cùng 1 ứng dụng mà cả 3 đều hỗ trợ dễ dàng (không tính những cái đặc thù, điểm mạnh riêng) ví dụ làm 1 cái notepad nhái thì từ khi bắt đầu học ngôn ngữ cái nào sẽ đạt kết quả nhanh nhất, code mất ít nhất, môi trường soạn thảo ngon lành và hỗ trợ debug tốt nhất.

    còn nếu so sánh những đặc thù thì mỗi chú 1 vẻ, lắm ông sẽ cãi nhau là đúng rồi

    Theo mình thì vẫn c# nhất, java rồi c++. (theo tiêu chí độ dễ)
    Tuy nhiên thêm 1 số tiêu chí (không lại cho là tớ ăn gian) :
    - tốc độ, độ can thiệp thì c++, c# rồi java
    - Đa nền tảng thì java, c++, c#

    thế là các ngôn ngữ đều xuất hiện ở cả đầu, cuối và giữa nhé
    Đã được chỉnh sửa lần cuối bởi tienlbhoc : 16-03-2012 lúc 11:09 AM.
    Blog tổng quan kiến thức về viễn thông : http://tongquanvienthong.blogspot.com/

    mSPDict từ điển android hỗ trợ liên kết tra trên các trình đọc sách điện tử và tra sách giấy thông qua camera
    http://www.tinhte.vn/threads/691731/

  10. #10
    Ngày gia nhập
    06 2010
    Nơi ở
    L.A
    Bài viết
    87

    Trích dẫn Nguyên bản được gửi bởi Here i am Xem bài viết
    mình nghĩ c++ dễ hơn java,có lẽ vì không phải cao thủ,nhưng một điều chắc chắn là nó khó dễ thế nào là tùy vào cảm nhận của mỗi người chứ không phải lời nói đầu ghi nó dễ hơn thì nó nhất định phải dễ hơn
    C++ dễ hơn Java
    C'est la vie

Các đề tài tương tự

  1. Toàn Quốc [Gấp] Thuê người hack game java mobile online và gắn keylog theo dõi vào java.
    Gửi bởi colin.phongtran trong diễn đàn Việc làm IT(tự do)
    Trả lời: 0
    Bài viết cuối: 26-12-2013, 12:52 PM
  2. Lập trình socket trong Java, 1 server kết nối nhiều client trong Java như thế nào?
    Gửi bởi detective009 trong diễn đàn Thắc mắc lập trình Java
    Trả lời: 12
    Bài viết cuối: 27-10-2013, 12:53 AM
  3. Hà Nội Tuyển 1 lập trình viên JAVA cao cấp (recruiting for Senior JAVA Developer position)
    Gửi bởi FSVietnam trong diễn đàn Tuyển dụng - Việc làm CNTT
    Trả lời: 4
    Bài viết cuối: 02-10-2013, 05:18 PM
  4. Đọc Ghi file trong java, báo lỗi java.io.NotSerializableException: java.util.Scanner
    Gửi bởi quyenktpm2 trong diễn đàn Thắc mắc lập trình Java
    Trả lời: 3
    Bài viết cuối: 13-08-2013, 11:40 AM
  5. c# và java giống và khác nhau như thế nào?
    Gửi bởi alibaba7034 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 9
    Bài viết cuối: 04-01-2013, 11:59 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn