Chọn java hay c# cho backend

Em vừa học xong Java Opp và hiện tại em muốn theo backend nhưng chưa có đinh hướng là chọn Java hay C#. Vậy mọi người có thể cho em biết về web thì C# và Java bên nào mạnh và dễ xin việc hơn Việt Nam

bạn nhớ câu nói là, dev tốt thì đưa gì họ cũng làm được, chỉ có những dev không chuyên mới làm không tốt. Bây giờ bạn học, nhưng đặt câu hỏi là, ngày mai mình đi làm có làm đúng nó không.

4 Likes

Giống như @ky_nguyen1 đã nói ấy, học cái gì cũng được miễn là hiểu được bản chất rồi áp dụng vào cái khác thôi. Đụng cái gì làm cũng được mới tốt.

Còn hiện giờ muốn biết chỗ nào dễ xin việc ở VN thì chắc phải tìm mấy trang web https://www.vietnamworks.com/ rồi xem ngôn ngữ nào được tuyển nhiều hơn.

Nhưng mà chắc Java phổ biến hơn đấy.

5 Likes

Theo backend thì Java với C# xêm xêm nhau, chọn cái nào cũng có việc. Còn dễ xin việc thì cứ lên các trang tuyển dụng search số lượng job là rõ thôi.

3 Likes

Nếu chọn 1 trong 2 mình khuyên C#.

Vì C# thị phần đang tăng so với Java, công nghệ đón đầu nhiều, nhất quán hơn vì do chính Microsoft phát hành còn Java các framework kiến trúc phức tạp, nhiều biến thể, phụ thuộc nhiều vào IDE và ít hướng tới lập trình viên như C#

2 Likes

Java nhiều biến thể là như nào bạn? ASP.NET mới phụ thuộc vào IDE chứ java code Spring trên VS Code cũng được mà.

3 Likes

Java có nhiều trình quản lý gói như Gradle, Maven, …
Java có nhiều IDE có cách cấu hình project riêng như Netbeans, Eclipse, IntelliJ IDEA
Java có nhiều framework của cộng đồng, việc chọn framework nào cũng có nguy cơ đối mặt với rủi ro nó không còn được maintain

Để tạo hay chạy 1 project của Java hay các công nghệ cũ nói chung như C++ thì phụ thuộc vào trình quản lý gói và IDE khác nhau, nên hạn chế việc chia sẻ mã nguồn hay làm việc chung

.NET trước đây phụ thuộc vào IDE nhưng có official IDE là Visual Studio nên không phải đau đầu về việc sử dụng IDE nào

Giờ đây .NET đã upgrade để đa nền tảng, hợp thời hơn, đón đầu nhiều công nghệ mới, cú pháp cũng thuận tiện, hướng tới lập trình viên hơn Java

mình thấy những cái bạn nói ở trên nó không thuyết phục cho lắm, ví dụ như đi làm, bạn không thể nào nói là em dùng Intellj quen rồi, không dùng Eclipes được, không muốn dùng, không thích dùng, mọi người phải dùng Intellij cùng em, khi làm một dự án nào đó, mọi người sẽ thống nhất với nhau, dùng gì, không dùng gì, mỗi người một nhiệm vụ, trong cuộc đời lập trình bạn không thể nào sài mãi một ngôn ngữ miết được, không thể nào nói em chuyên Java, em học Java, không làm Javascript đâu, tuyển em vào là để em đi làm javascript thôi, hay có dự án làm mobile nào đó, lại cố tính né tránh, không làm vì em làm web thôi, và còn rất nhiều thứ khác,…

1 Like

Như một số ý kiến ở trên, cậu có thể chọn ngôn ngữ nào cũng được. Rất nhiều concept ở 2 bên tương đồng lẫn nhau.
Về công việc, tớ nghĩ 2 bên đều có rất nhiều việc làm cho cậu. Thường thì Java sẽ mainstream hơn chút (các trường ĐH thường dạy Java), nhưng nếu cậu biết C# .NET, tớ không nghĩ cậu có bất cứ khó khăn gì khi switch sang làm công việc về Java, hay ngược lại. Do đó, đếm lượng công việc và market share của mỗi bên có lẽ không quá quan trọng, đặc biệt với level junior.

Tớ sẽ đưa cậu những lý do cậu nên chọn Java và C# dưới đây, cậu hoàn toàn có thể xem cậu thích bên nào hơn, rồi học bên đó.

Một vài lý do nên học Java

  • Java được support bởi Oracle.
  • Java và hầu hết các công nghệ ở Java là mã nguồn mở. Điều đó có nghĩa là:
    • Hầu hết các công nghệ của Java đều mature, được sửa lỗi rất thường xuyên nên khả năng chịu lỗi rất cao, và cũng rất mạnh.
    • Cộng đồng Java rất trưởng thành và active. Đa số các vấn đề của cậu thường đã có một ai đó giải quyết bằng một thư viện nào đó hiệu quả rồi.
    • Cậu hoàn toàn có thể học hỏi thêm từ code ở chính các công nghệ sử dụng trong project.
      Thực ra, cậu sẽ học được nhiều hơn khi đọc code như vậy.
  • JVM của Java rất nhanh (tớ không so sánh với native code :smile:), hoàn thiện, mềm dẻo trong việc config. Rất nhiều công nghệ và ngôn ngữ khác vẫn dùng JVM, và lượng ứng dụng sử dụng JVM là vô cùng lớn.
    Đó thực ra là yếu tố quan trọng khi chọn công nghệ, nếu như công nghệ đó được sử dụng rộng rãi, công nghệ đó càng ít rủi ro gặp các lỗi nghiêm trọng, hoặc rủi ro thiếu support.

Một vài lý do nên học C# .NET

  • C# được support bởi Microsoft
  • C# có hệ thống document rất chất lượng và dễ hiểu, ngay cả cho những người mới.
    Dù Java (hoặc các công nghệ sử dụng Java/JVM) cũng có nhiều document tốt, nhưng tớ phải thừa nhận document của C# .NET được thiết kế tốt và dễ hiểu hơn.
  • .NET là framework hoàn thiện và mạnh mẽ. Gần như chỉ cần .NET là cậu đã có thể giải quyết gần hết các vấn đề mà không cần nhiều tới 3rd party library.
  • Cộng đồng C# cũng rất active, mature, với rất nhiều thư viện mạnh mẽ.

Do tớ có tương đối limited professional experience với C#, tớ sẽ chỉ liệt kê sơ qua như trên. Có lẽ sẽ có các C# expert khác cho cậu thêm thông tin ở dưới, và tớ sẽ update lại comment nếu như đó là legit point.

Hope it helps!

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