30/09/2018, 19:40

Con đường của Java

Em có 1 thắc mắc về Java
Về app , Java không bằng C#
Về web , Java lại không bằng PHP
Vậy tại sao nhiều người hay công ty vẫn tuyển dụng java ?
Mong mọi người khai sáng giùm

*grab popcorn* viết 21:46 ngày 30/09/2018

Theo mình biết thì JAva chủ yếu do doanh nghiệp nên bạn không thấy nó thông dụng cũng phải.
Như Web Application thì nghe nói doanh nghiệp là ưu tiên Java do nó bảo mật hơn PHP nhiều.(ko rõ)

Java khá bảo mật. Cùng với cơ chế Garbage collection giúp giảm tải gánh nặng về memory management ở các chương trình/ project cỡ bự.

Java Cross-Platfrom, tức chỉ cần code 1 nơi là nơi nào cài đc máy ảo của Java là coi như sẽ chạy đc luôn code của Java. Ko cần phải biên dịch lại hoặc viết lại nhiều code. ~> Chi phí phát triển sẽ ít hơn. Trong khi C# chỉ đc cho Window

Java có một thư viện phải nói là đồ sộ đi kèm nó luôn. Tức ta không cần cài gì thêm nữa cả. Chỉ việc import và xài. Như C, thì muốn xài lập trình mạng thôi, thì Window phải học dùng WinSock, còn linux phải học về socket.h. Khá là bất tiện…

Syntax của Java khá gần gũi với các ngôn ngữ hiện nay nên việc học từ các ngôn ngữ khác qua Java cũng dễ không gặp mấy khó khăn.

Android các ứng dụng của nó gần như là viết bằng Java. Và bạn biết Android nó bự cỡ nào xD

Java đc chống lưng bởi Oracle và Sun, một công ty rất mạnh, nên chắc chắn nó sẽ được phát triển lâu dài thêm nhiều tính năng hay ho nữa. Ngoài ra, Java cũng hoàn toàn tương thích với các version cũ, tức nếu bạn chạy code Java 6 trên nền java 8 vẫn đc (tất nhiên ko có chiều ngược lại) Điều này rất có lợi, vì việc phát triển lại 1 phần mềm cũ tốn rất nhiều chi phí. Và chưa chắc phần mềm viết lại đã “ngon” bằng phần mềm cũ.

Phan Hoàng viết 21:41 ngày 30/09/2018

Việc lựa chọn công nghệ nào nhiều khi … do “lịch sử để lại”.

Ưu điểm của java: đã có 1 cộng đồng lớn, được support bởi nhiều công ty lớn và đã có rất nhiều prj lớn được triển khai thành công với java. Chứ bảo java lập trình mạng import vào là xong thì các ngôn ngữ # cũng vậy (với Java bạn cũng phải dùng gói java.net và học cách dùng ServerSocket/Socket + cách kết nối).

Ngôn ngữ nào mà chẳng có gc. Thậm chí java chạy trong máy ảo còn tốn bộ nhớ nhiều hơn nhiều so với các ngôn ngữ #. Phát triển với PHP, chẳng cần biên dịch chứ với Java ở các prj lớn, build toàn mất vài tiếng (lúc dev đủ biết vất vả thế nào).

Java syntax đẹp nhưng không dễ học như Ruby, GoLang.

Giờ Java cũng ít được dùng rồi. Giờ là thời đại của tốc độ, thằng nào chạy nhanh thằng đó được dùng (trên phone, JavaME và JavaFX không thể cạnh tranh với Swift,…, nhúng thì càng khó cạnh tranh với C/C++). Java sống được trên các prj doanh nghiệp vì độ ổn định cao (vì nó chạy trong 1 máy ảo, hoàn toàn độc lập với máy thật -> ổn định và security tốt hơn nếu chạy share). Tuy nhiên, giờ có công nghệ docker+vigrant (ảo hoá), việc isolate môi trường chạy đối với các ngôn ngữ # cũng khá tốt.

Tương lai của Java: còn sống tốt khi cộng đồng rất lớn.

Hồng Phú Vũ viết 21:55 ngày 30/09/2018

Java coi trong sự ổn định và tính bảo mật cao (trên web app), web app với java rất khó bị tấn công với SQL injection vì vậy mà các doanh nghiệp như ngân hàng vẫn dùng java .

Võ Hoài Nam viết 21:56 ngày 30/09/2018

Java ít dùng thì cũng không hẳn…

http://www.tiobe.com/tiobe_index?page=index

Quốc Hùng viết 21:45 ngày 30/09/2018

Đơn giản thôi: Java Mạnh, thư viện đồ sộ, Oracle hỗ trợ trực tiếp, an toàn và bảo mật, ổn định, trung lập, đa nền, hệ thống native, syntax đẹp, cộng đồng lớn, tương thích ngược, app nhẹ, mượt,…

Văn Dương viết 21:54 ngày 30/09/2018

Theo ý kiến cá nhân :
Đa phần do quen tay và lịch sử để lại.

Đỗ Mạnh Hà viết 21:42 ngày 30/09/2018

Mình xin trả lời thắc mắc của bạn theo ý kiến cá nhân mình.

1, Java hay C# hay PHP, … được sinh ra là các ngôn ngữ khác nhau và nó có những điểm chung và điểm riêng khi người ta tạo ra nó. Mỗi ngôn ngữ nó có thể viết được một hoặc nhiều loại ứng dụng với tính năng và cách thức thực hiện khác (khác ở đây là nổi trội hoặc điểm yếu) so với các ngôn ngữ còn lại nên họ vẫn sử dụng Java hoặc C# hoặc PHP cho ứng dụng của họ là do yêu cầu của họ (chưa kể sức mạnh của Java thì khỏi phải bàn cãi, bạn có thể tìm hiểu thêm từ các nguồn trên internet để biết thêm thông tin)

2, Khi nói đến app thì có nhiều loại app: mobile apps, web apps, desktop apps, enterprise solution apps, …Và mỗi một loại app nó lại có những nền tảng khác nhau để thực thi. Việc sử dụng ngôn ngữ hay công nghệ nào để phát triển đó là sự chọn lựa của riêng từng nhà phát triển muốn dùng cho ứng dụng của mình. VD:
+, Java Web có điểm mạnh là tính bảo mật cao, PHP có điểm mạnh là open-source, dễ sử dụng, nhẹ, performance cao, ASP.NET (dùng C#) có được sự tiện lợi khi phát triển và triển khai ứng dụng (vì tất cả sản phẩm + thư viện liên quan đều chủ yếu từ Microsoft nên tính tích hợp cao) -> Sự chọn lựa là do nhu cầu của từng nhà phát triển chứ ko phải là một ngôn ngữ nào đó yếu hơn những ngôn ngữ còn lại.

Cho nên, doanh nghiệp họ vẫn sử dụng Java (hoặc C#, hoặc PHP, …) để phát triển ứng dụng của họ thì họ vẫn tuyển dụng thôi.

Trên là những ý kiến cá nhân của mình, hy vọng bạn sẽ thấy nó có ích.

Bài liên quan
0