So sánh công nghệ java và net năm 2024

Nói chung theo kinh nghiệm cá nhân, khi cần phát triển một phần mềm chủ yếu chạy trên hệ điều hành Windows, tui sẽ sử dụng .NET, vì việc phát triển sẽ rất nhanh và dễ dàng. Ngược lại, nếu phát triển một ứng dụng lớn (cỡ Enterprise) và cần hoạt động trên nhiều platform khác nhau thì sẽ sử dụng Java. Tuy khó phát triển hơn, nhưng nhờ kiến trúc thiết kế rất tốt, sẽ làm cho khả năng hoạt động ổn định và khả năng mở rộng cao hơn.

Một người lập trình giỏi sẽ ko thiên về hẳn một công nghệ nào, mà biết hài hòa tận dụng theo nhu cầu của mình.


nghi_viettel

17-03-2013, 11:42

.net đi bác. Code .net nhiều cái hay. Cái gì cũng xử lý được


picachusays

17-03-2013, 11:47

Java là ngon FPT thực tập nè 90% java;10% dotnet chắc do nhu cầu java tăng


convit132456

17-03-2013, 13:33

Em thấy .Net kéo thả, mọi thứ khá dễ dàng, code không nhiều bằng java. Mà em thấy ít khi ng ta làm ứng dụng desktop = java thì phải? Sau khi học java cơ bản thì việc học C#(.net) cũng không khó lắm thì phải và nó lại còn hỗ trợ giao diện nhiều nữa, hồi học cái swing của java trật vật lắm hì


Sugarman

17-03-2013, 20:42

Theo cái nào cũng phải theo cả đời, nó chết thì mình coi như hết phải làm lại từ đầu.

Hiện nay .Net ở VN có vẻ nhỉnh hơn Java, nhưng gần đây Android đang lên trong khi Window Phone không biết tương lai thế nào.


Bạn đừng nghe Sugarman nói. Hiếm có ai theo 1 thứ cả đời như thế.

Bạn không cần phải đắn đo suy nghĩ nên theo cái gì, bởi vì khi bạn đã nắm vững Java bạn có thể nhảy qua .Net vô cùng dễ dàng, và ngược lại.

Để nắm vững cú pháp và phong cách lập trình của 1 trong ngôn ngữ, đối với người chưa biết gì về lập trình phải tốn khoảng 3-9 tháng. Nhưng khi đã nắm vững của 1 trong 2 thằng, bạn có thể học thằng còn lại trong 1 tuần - 1 tháng.

Về các tool và framework hỗ trợ, thì chúng quá nhiều, bạn chắc chắn không thể biết trước chính xác cái nào cần cho công việc sau này, vì vậy bạn trong khi học chỉ cần nắm dăm ba framework. Khi bạn đã nắm vững cú pháp, kỹ thuật cơ bản và nắm vững vài framework thì việc học framework mới khi làm việc là rất dễ.

Tóm lại, bạn thấy có cảm tình với thằng nào thì chọn thằng đó, nhưng trong quá trình học cũng xem sơ qua thằng còn lại. Và tôi khuyên bạn nên phân bố thì giờ học phù hợp, để còn có thì giờ học thêm về những cái cần thiết: kiến trúc máy tính, thuật giải, và nhất là ngoại ngữ.

Và chú ý rằng: bạn phải học cách nghiên cứu công nghệ. Hơn kém nhau ở chỗ ai có khả năng nắm bắt công nghệ mới nhanh hơn chứ không phải ai biết được nhiều công nghệ. Đừng để tình trạng giống nhiều bạn, than rằng công nghệ không ổn định, học rồi làm không được lâu bền.


duydong_hero

18-03-2013, 08:32

Làm một cái so sánh nho nhỏ giữa Java và .NET:

Ưu điểm: .NET: - Dễ phát triển, tools hỗ trợ cực tốt (Visual Studio) - Phát triển giao diện rất dễ dàng trên Windows. - Làm việc tốt với tất cả các công nghệ khác của Microsoft (COM, DCOM) JAVA: - Kiến trúc thiết kế rất tốt. - Cộng đồng mạnh, do là công nghệ mở -> nhiều công nghệ hay ho xuất hiện từ cộng đồng (Vd: Hibernate, Spring...) - Chạy tốt trên nhiều platform khác nhau (nhất là trên linux).

Nhược điểm: .NET: - Chỉ chơi tốt với "hàng" của Microsoft. - Mã nguồn đóng, tuy các thiết kế, specification là mở (nên mới có cái Mono) - "Làm giùm" người lập trình quá nhiều -> tạo ra những lập trình viên theo đúng "chuẩn" của Microsoft (thông thường sẽ khác chỗ này, chỗ kia so với chuẩn còn lại của thế giới). - Muốn can thiệp sâu vào kiến trúc bên dưới hơi bị khó. - Tuy đã có Mono Project cho Linux, nhưng các application viết bằng .NET hầu như chỉ chạy tốt trên hệ điều hành của Microsoft. - Phải trả tiền cho Microsoft để phát triển (cái này có lẽ ko phải là một nhược điểm ở Việt Nam JAVA: - Khó phát triển hơn, nhất là việc debug. - Tools hỗ trợ không mạnh bằng, đơn giản, miễn phí thì chẳng ai lo chăm chút tất cả cho bạn được. - Có vẻ như tốc độ chậm hơn các chương trình .NET - Bảo mật source code không tốt bằng .NET.

Nói chung theo kinh nghiệm cá nhân, khi cần phát triển một phần mềm chủ yếu chạy trên hệ điều hành Windows, tui sẽ sử dụng .NET, vì việc phát triển sẽ rất nhanh và dễ dàng. Ngược lại, nếu phát triển một ứng dụng lớn (cỡ Enterprise) và cần hoạt động trên nhiều platform khác nhau thì sẽ sử dụng Java. Tuy khó phát triển hơn, nhưng nhờ kiến trúc thiết kế rất tốt, sẽ làm cho khả năng hoạt động ổn định và khả năng mở rộng cao hơn.

Một người lập trình giỏi sẽ ko thiên về hẳn một công nghệ nào, mà biết hài hòa tận dụng theo nhu cầu của mình. Bác được cái nói đúng. Mình học java ra giờ đang học thêm .NET nè


convit132456

18-03-2013, 08:53

cảm ơn mọi người :D


hoquangduong

18-03-2013, 09:09

Học cái gì thì chung quy lại là cũng mục tiêu kiếm nhiều tiền, vì lẽ đó nên nhìn nhận vào thực tế hiện tại ở VN, công nghệ .Net đang phổ biến, các website làm bằng ASP.Net + MVC ngày càng nhiều, phần mềm chạy bằng Windows Form, WCF, WPF hoặc Silverlight cũng nhiều (các phần mềm quản lý, kế toán, ... ví dụ Misa...). Người Việt Nam dùng đa phần là windows. Việc sử dụng công nghệ Dot.net để lập trình sẽ giúp rút ngắn thời gian hoàn thành sản phẩm. ... Và còn nhiều thứ khác, vì vậy nếu bạn là người VN đang sống ở VN thì tui khuyên bạn nên nhìn vào thực tế và mong muốn của mình mà chọn.

Để làm một website giá 3tr viết bằng MVC của Microsoft bạn chỉ cần mất 10 buổi tối (vì ban ngày làm việc công ty) là có thể hoàn thành, và có tiền dẫn gái gú đi xem phim, ăn uống, còn làm một dự án java bạn làm vài tháng có khi một năm mới xong 1 cái, chờ lấy tiền thì gái gú bỏ mình mà đi hết.


Cả hai đều đã ở cuối giai đoạn hưng thịnh . Code dài , không đẹp ..

Nói chung khi đến 1 tầm LTV tầm trung , bạn sẽ chả kéo thả gì hết . Với cả chất lượng sản phẩm phụ thuộc vào trình độ LTV , chứ không phụ thuộc vào nền tảng hay ngôn ngữ , tất cả chỉ là quảng cáo , trình độ mới mang tính quyết định .


taytinhoc

19-03-2013, 20:39

.NET hay Java đều đc, chủ yếu tùy thuộc vào bản thân


Bạn đã có cái so sánh chuẩn như thế rồi thì cần gì phải hỏi nữa, quan trọng là các dự án của bạn nhỏ hay lớn và tương lai thế nào, nếu tương lai là các dự án ENT thì chuyển sang java cho nó chuyên nghiệp, tuy nhiên người dùng end user giờ rất khắt khe và đòi hỏi nhiều tiện ích nên bạn cũng phải cân nhắc đến điều này.


nongtinh3

22-03-2013, 11:39

Theo cả hai nếu như bạn muốn


superthin

22-03-2013, 12:38

Tốt hơn hết là học cái nào để có thể học nó xong, đủ sức tự tay convert ứng dụng .NET sang ứng dụng Java và ngược lại. Khỏi học hai thằng kia và đỡ phải lăn tăn. :tongue:


thienha20

22-03-2013, 13:01

NET va java khó chọn quá nhảy qua PHP đi lương cũng chót vót :)


chesterben

22-03-2013, 14:33

Còn nhiều lựa chọn khác ko tồi mà bác. Ví dụ: Python hay Ruby lol


feragaba

22-03-2013, 15:43

Mình cũng học aptech ra và có đôi lời muốn chia sẻ với bạn :) Nếu thích nhàn thì theo .Net, kéo thả là nhiều, code ko đáng kể. Còn nếu theo Java thì phải suy nghĩ nhiều, với cả tùy theo bạn muốn làm về thống hay là về web. Nếu làm về hệ thống thì khá đau đầu nhưng bù lại lương cao. Làm về web thì mình thấy java có vẻ ít hơn .Net.

Vậy nên cuối cùng là :D

Nếu làm web muốn nhàn nhã thì theo .Net. Còn về hệ thống + đau đầu + lương cao thì theo Java.


Lương của một lập trình viên chuyên đi bên C/C++ lúc nào cũng cao hơn hoặc bằng lập trình viên đi theo .NET hoặc là Java, đó là ở các công ty. Lý do là vì hiện nay đang rất cần những lập trình viên cứng bên mảng C/C++, mà riêng C/C++ thì không thể chết được rồi, trừ khi thiên hạ không còn dùng hệ điều hành nữa. Nên đừng đi theo .NET, cũng đừng đi theo Java. Đi theo C/C++ là lúc nào cũng có việc làm, rảnh thì học thêm Java nữa thì tốt, ngoài ra nên nắm vững ASM một tí, đọc hiểu và debug được, và một script programming language nào đó như Ruby hoặc Python. Thì không lo thất nghiệp.


Lương của một lập trình viên chuyên đi bên C/C++ lúc nào cũng cao hơn hoặc bằng lập trình viên đi theo .NET hoặc là Java, đó là ở các công ty. Lý do là vì hiện nay đang rất cần những lập trình viên cứng bên mảng C/C++, mà riêng C/C++ thì không thể chết được rồi, trừ khi thiên hạ không còn dùng hệ điều hành nữa. Nên đừng đi theo .NET, cũng đừng đi theo Java. Đi theo C/C++ là lúc nào cũng có việc làm, rảnh thì học thêm Java nữa thì tốt, ngoài ra nên nắm vững ASM một tí, đọc hiểu và debug được, và một script programming language nào đó như Ruby hoặc Python. Thì không lo thất nghiệp.

Bác nói cụ thể hơn C/C++ làm về lĩnh vực nào được không bác ? :D


Bác nói cụ thể hơn C/C++ làm về lĩnh vực nào được không bác ? :D

C/C++ ứng dụng nhiều hơn hẳn Java và C#. Có thể dùng để lập trình cho Vi Điều Khiển, vi xử lý, và các board nhúng không có hệ điều hành. Chẳng hạn các board điều khiển led, đèn quảng cáo, LCD, máy giặt, máy lạnh, tủ lạnh, thang máy, các máy công nghiệp. Lập trình cho Các loại máy dùng trong CNTT mà không có hệ điều hành như máy xóa, nạp dữ liệu cho các loại điện thoại di động, chép ổ cứng máy tính...; các thiết bị viễn thông, camera,... nhiều không kể hết. C/C++ dùng lập trình cho các thiết bị máy tính, black box trên xe hơi vốn sử dụng hệ điều hành WinCE. Mấy lãnh vực này .NET và Java không có cửa cạnh tranh. C/C++ có thể sử dụng để lập trình cho tất cả các loại điện thoại di động. Bên cạnh đó có thể dùng để lập trình ứng dụng cho PC/laptop và các thiết bị có hệ điều hành không hỗ trợ .NET hoặc không có máy ảo Java.

Có thể nói, hầu hết các thiết bị có khả năng lập trình đều được hỗ trợ cho ngôn ngữ C/C++, trong khi .NET phải phụ thuộc vào Microsoft và Java phải có máy ảo Java để chạy. Bên cạnh đó chương trình viết bằng C/C++ nếu được tối ưu sẽ luôn chạy nhanh hơn chương trình viết bởi Java hoặc chương trình dựa vào vào .NET.

Và đúng là C/C++ nhìn chung thường đem lại lương cao hơn .NET hoặc Java


convit132456

24-03-2013, 23:36

C/C++ ứng dụng nhiều hơn hẳn Java và C#. Có thể dùng để lập trình cho Vi Điều Khiển, vi xử lý, và các board nhúng không có hệ điều hành. Chẳng hạn các board điều khiển led, đèn quảng cáo, LCD, máy giặt, máy lạnh, tủ lạnh, thang máy, các máy công nghiệp. Lập trình cho Các loại máy dùng trong CNTT mà không có hệ điều hành như máy xóa, nạp dữ liệu cho các loại điện thoại di động, chép ổ cứng máy tính...; các thiết bị viễn thông, camera,... nhiều không kể hết. C/C++ dùng lập trình cho các thiết bị máy tính, black box trên xe hơi vốn sử dụng hệ điều hành WinCE. Mấy lãnh vực này .NET và Java không có cửa cạnh tranh. C/C++ có thể sử dụng để lập trình cho tất cả các loại điện thoại di động. Bên cạnh đó có thể dùng để lập trình ứng dụng cho PC/laptop và các thiết bị có hệ điều hành không hỗ trợ .NET hoặc không có máy ảo Java.

Có thể nói, hầu hết các thiết bị có khả năng lập trình đều được hỗ trợ cho ngôn ngữ C/C++, trong khi .NET phải phụ thuộc vào Microsoft và Java phải có máy ảo Java để chạy. Bên cạnh đó chương trình viết bằng C/C++ nếu được tối ưu sẽ luôn chạy nhanh hơn chương trình viết bởi Java hoặc chương trình dựa vào vào .NET.

Và đúng là C/C++ nhìn chung thường đem lại lương cao hơn .NET hoặc Java

Mình công nhận là ngôn ngữ bậc càng thấp thì tuyển dụng lương rất cao, nhưng bù lại thì ít hỗ trợ, cũng khó nữa,hì.. như bác nói thì cái C/C++ cho lập trình hệ thống, mình thấy người ta tuyển dụng còn đòi hỏi cả kiến thức liên quan đến điện tử nữa, nhưng không hẳn là .net hay Java là không có tương lai tốt, chúng có thể là được nhiều thứ mà :D, và có lẽ nên theo cả 2, từng hoàn cảnh thì sẽ có cái cần đến hơn :D


xinhgai89

31-05-2013, 08:14

.net viết auto .


tuine2334

31-05-2013, 08:48

Bạn học bên apptech ak. Theo mình nghĩ thì bạn đã học đc 3 năm rồi, java hay dotnet thì bạn cũng đã học căn bản hết rồi. Mình có bài khảo sát này để bạn tự tham khảo nhé - Bạn đừng chú trọng đến ngôn ngữ của nó là gì. Vì khi đã là 1 lập trình viên thì không nhất thiết phải biết 1 ngôn ngữ, mà phải biết càng nhiều ngôn ngữ càng tốt. Nhưng phải có 1 ngôn ngữ lập trình có thể gọi là sở trường của mình. - Có thời gian và tiền bạc để được học thì bạn cứ học hết đi. - Theo mình thì bạn chỉ cần giỏi 1 ngôn ngữ nào đó thôi thì bạn sẽ học 1 ngôn ngữ mới rất nhanh. Mình cũng mới ra trường nên cũng k có nhiều kinh nghiệm gì nhiều.


muaPaypal

31-05-2013, 09:02

theo ngu ý của mình thì bạn nên theo Java. Vì hiện tại Java đang khá đuợc ưa chuộng trong giới IT có thể kết hợp 1 phần nhỏ với .net cũng được nhưng Java vẫn là chủ yếu