Nên chọn QT C++ hay C#

Chào mọi người chả là kì này em có học môn phải động đến làm giao diện thầy thì hướng dẫn làm bằng C#, nhưng qua tìm hiểu thì em thấy đa phần bây giờ các Cty người ta dùng Qt C++ là nhiều vậy cho em hỏi Qt hơn gì ạ vì em thấy cùng là thao tác kéo thả tạo giao diện ạ. Mong mn có thể phân tích hộ em ạ, em cảm ơn <3

Đang học môn A của trường lại đi học Môn B

1 Like

đều cùng là làm giao diện ạ nhưng mà thầy thì bảo bọn e làm C# nhưng em thấy Cty họ làm Qt nhiều nên em mới hỏi ạ

Đây là quan điểm cá nhân thôi:
QT dùng C++, viết được cho nhiều HDH nên đươc sử dụng nhiều, trong khi đó, trước đây C# chỉ dùng cho windows. Thêm vào đó, các phần xử lý chức năng nghiệp vụ yêu cầu performance cao (xử lý và phân tích data, giao tiếp phần cứng…), nên dùng C++, và giao diện theo đó dùng C++ luôn để đỡ phải tuyển thêm người.

Sau này C# có thể dùng cho nhiều HDH khác, tuy nhiên *** của các công ty đa phần thuộc thế hệ trước, chưa kịp cập nhật, hoặc ngại thay đổi nên chưa áp dụng nhiều.

So sánh cơ bản:

  • Performance: C++ > C#
  • Chạy trên nhiều hệ điều hành: C++ = C# (Một số hệ điều hành thông dụng thôi)
  • Dễ sử dụng: C++ < C# (Tùy người dùng nữa)
  • Thư viện hỗ trợ giao diện: C++ < C#
  • C# có thể goi code C++ dễ dàng nhưng chiều ngược lại thì hơi phức tạp.

Ngoài ra bạn có thể chọn Java, python, perl …

4 Likes

em cảm ơn anh ạ
Như em thấy nhiều cty ví dụ làm về Oto họ dùng Qt chứ không phải C# kể cả các cty mới nên e ko nghĩ là do chưa kịp cập nhật hoặc ngại thay đổi phải căng C++ nó vẫn tối ưu hơn nhỉ

=> thầy khuyên C# là đúng đấy :smile:

2 Likes

Bởi vì trong ô tô là lĩnh vực nhúng. C# và .NET không có mảng này. Ngoài QT thì chẳng còn thằng nào nổi trội hơn khi vừa thiết kế được giao diện đẹp lại có hiệu năng và chạy trên phần cứng nhúng.

4 Likes

Chọn NodeJS với Electron cho nó sành điệu và hợp thời. :sunglasses:

4 Likes

vâng thì em cũng code nhúng ạ bài trên lớp là làm thêm cái giao diện nhận dữ liệu từ cảm biến rồi vẽ đồ thị phân tích dữ liệu đó anh

Mình biết là bạn đã muốn chọn Qt rồi, lên đây tìm người đồng quan điểm để chốt hạ thôi đúng ko.
Vậy thì mình sẽ trả lời là theo Qt đi, đừng chọn C#, vì nó ko có gì hơn C++ ngoài việc code “ít” bị crash hơn đâu.
Không phải tự nhiên mà C/C++ nó sống từ đầu kỉ nguyên máy tính đến tận bây giờ. Có cả một hội đồng chứ không như mấy ngôn ngữ khác :slight_smile:

7 Likes

Trong mảng App.
Muốn dùng tốt QT thì phải học tốt C++ và css.
Muốn dùng tốt .NET thì phải học tốt C# và xaml.

Còn việc chọn cái gì phụ thuộc điểm mạnh yếu của 2 thằng trên và tài nguyên dành cho dự án chứ ít khi phụ thuộc sở thích.
Ví dụ: Nhúng và những chỗ nào việc nặng như xử lý ảnh thì tất nhiên QT, nhưng mà chơi với SQL mà dùng QT thì hơi ngu người ::))

6 Likes

Em cảm ơn cơ mà đọc câu anh biết là em đã muốn chọn Qt rồi em giật cả mình mà thừa nhận đúng thế thật :v

1 Like

Mình làm QT liên tọi hơn 2 năm và hiện tại vẫn đang dùng.
Chủ yếu phải dựa vào QT framework để tạo giao diện vì cái này C/C++ rất yếu.
Còn lại dùng C++ tiêu chuẩn mà không dùng QT framework.
Cái hay cũng nhiều mà sml cũng không ít ::))
Nói chung là nếu không nắm chắc OPP, C/C++ thì xác định sml tối ngày ::))
Ngược lại thì cũng phê.

3 Likes

Em có định hướng là theo nhúng thì em thấy:
1 là code firmware chip ví dụ như code arm, pic,vv
2 là thiết kế mạch
3 là làm giao diện ví dụ dùng Qt
em vẫn hơi mông lung về lĩnh vực này anh có thể chỉ em là trong nhúng còn mảng nào nữa ko và nếu theo giao diện thì cần học qt và qml là đủ chưa ạ ? còn nếu theo code firmware thì cần những kiến thức gì, hay nếu theo iot thì cần học những gì ạ em cảm ơn anh

Theo mình thì nên dùng nhiều C++ cũng như Python vì nó được ứng dụng nhiều

Nó cũng chỉ loanh quanh mấy mảng đó thôi.
Lập trình thẳng cho chip hoặc cho bo nào đấy.
Mỗi loại có công cụ và ngôn ngữ đặc trưng. Phần lớn là C/C++.

2 Likes

Tùy mỗi người thôi.
Mình thì code giao diện bằng C#, code xử lý bằng C++. cho các ứng dụng cần performance cao.
Mỗi ngôn ngữ phù hợp với mục đích sử dụng riêng. nên mình thường không dùng 1 ngôn ngữ.
Còn mục đích của bạn ấy đang hỏi chỉ là tạo giao diện giao tiếp giữa PC và vi xử lý, nên mình khuyên dùng C# winform có Serial Port kéo thả set up dễ dàng.
Còn C++ phức tạp hơn 1 chút.
Ngoài ra event trong C# cũng dễ hơn so với Signal trong QT (theo quan điểm cá nhân).

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?