PDA

View Full Version : [DIS] Java có lợi ích gì ?????? Thử xem



THIENAN
02-06-2003, 18:31
Mọi người tham gia diễn đàn tin học này chắc cũng là những cao thủ, là những bậc cao nhân lắm. Mình đây có việc cần giúp đỡ không biết quý vị có thể cho hỏi một vấn dề rất ...rất nhỏ thôi không đây.
Mọi người thảo luận vế Java cũng nhiều vậy cho mình hỏi nhe : học Java co lợi ích gì. Nó có ý nghĩa gì, có khả năng gì mà những ngôn ngữ khác còn hạn chế không. Nếu giỏi về Java thì có thể làm được những gì????

trannam136
02-06-2003, 20:59
Bài viết được gửi bởi THIENAN
. Mình đây có việc cần giúp đỡ không biết quý vị có thể cho hỏi một vấn dề rất ...rất nhỏ thôi không đây.
Mọi người thảo luận vế Java cũng nhiều vậy cho mình hỏi nhe : học Java co lợi ích gì. Nó có ý nghĩa gì, có khả năng gì mà những ngôn ngữ khác còn hạn chế không. Nếu giỏi về Java thì có thể làm được những gì????
:o Thật không biết bình luận thế nào và trả lời thế nào về câu hỏi này nữa cả :

Mọi người tham gia diễn đàn tin học này chắc cũng là những cao thủ, là những bậc cao nhân lắm
Híc, chắc đây cũng là cao nhân ???:rolleyes: Bạn ah, ở đây dành cho tất cả mọi người từ không biết gì đến vô tận bạn ah.
Học java làm gì ah ??? Học Java có thể làm gì ah ??? Híc, nếu bạn thật sự quan tâm xin hãy học nha.:D

zek3vil
02-06-2003, 22:26
Đương nhiên những ngôn mới ra đời thường sẽ khắc phục những nhược điểm của ngôn ngữ cũ, nhưng ko có nghĩa là sẽ có những thứ mà ngôn ngữ cũ ko làm được. Những gì có thể làm được với Java chỉ giới hạn ở tài năng của bạn mà thôi. Và Java do 1 tập đoàn rất lớn viết, họ sẽ luôn luôn sẽ nâng cấp Java đến mức hoàn thiện và ko thua kém bất cứ ngôn ngữ nào.

ILoveJava
03-06-2003, 09:10
Java ngôn ngữ trong sáng,dễ hiểu hướng đối tượng hoàn hảo. Hơn nữa chạy đa nền nên không phụ thuộc vào anh BillGate ...học java có thư viện hỗ trợ cho lập trình tuyệt vời trên mọi lĩnh vực...đặc biệt là mạng Internet...nhưng mình thấy bảo dùng java ở nước mình vẫn còn ít còn nước ngoài thì bây giờ rất nhiều nên nếu bạn học java tốt thì có thể lập nghiệp ở nước ngoài được đó.

THIENAN
04-06-2003, 13:49
Mọi người dều không ai trả lời trực tiếp câu hỏi hết vậy. Tất nhiên nếu dùng những ngôn ngữ khác thì cũng có thể khắc phục đuợc nhưng mỗi ngon ngữ đều có một thế mạnh riêng chứ. Vậy mọi người thử nói xem thế mạnh của Java là gì vậy????
Có người nói : chỉ cần giỏi Java là có thể làm Hacker được có đúng không, thế nó còn gì mạnh nữa chứ???

zek3vil
04-06-2003, 14:55
có vẻ như bạn thích làm hacker hơn là lập trình, hacker ko cần biết Java đâu, cái họ giỏi là mạng security. Về thế mạnh của Java thì phải học sâu vào mới biết được, cứ phải lo lắng làm gì? Với lại lập trình viên họn chọn ngôn ngữ đa số là do họ học 1 ngôn ngữ nào đó rồi họ quyết định sử dụng nó luôn chứ ko phải ngôn ngữ đó có 1 thế mạnh nào lớn

bestwestnmq
04-06-2003, 16:56
mình thấy có JAva, Java scrip gì gì đó, nhìâu lắm , nếu học thì nên học từ cái nào?

THIENAN
04-06-2003, 20:05
bestwestnmq ơi. Java hay Java scrip thì cũng như nhau vậy thôi. Nếu bắt đầu học thì tất nhiên hãy đọc java trước chứ

THIENAN
04-06-2003, 20:12
zek3vil ơi mình nghĩ la bạn sai rồi. Đa số lập trình viên không chỉ biết có một ngôn ngữ như bạn nói đâu. Họ học rất nhiều ngôn ngữ khác nhau, sau đó mới chọn một ngôn ngữ mình tâm đắc nhất để chuyên sâu vào. Không biết mình nói thế có đúng không?

ILoveJava
05-06-2003, 19:07
Trước khi mình học Java mình có học DELPHI và PASCAL. Mình công nhận học java khiến mình hiểu thêm về hướng đối tượng rất nhiều và lập trình với java khiến mình cảm thấy rất thoải mái. Vừa rồi trường mình có bắt viết chương trình bằng VB mình làm thì thấy rất khó chịu tù túng vô cùng.Microsoft cho gì thì mình phải dùng nấy, nhiều lúc muốn tuỳ biến một tí là phải dùng đến WIN API. Ngay cả C# cũng bắt chước rất nhiều ở Java. Mấy bận nữa mình phải học cả .NET rùi. Nhưng mình sẽ chuyên sâu về Java để dùng nó làm vũ khí sở trường ngang dọc giang hồ.

zek3vil
05-06-2003, 20:10
To ILoveJava: Bạn có vẻ yêu thích Java thật nhưng đừng vì thế mà bôi bác các ngôn ngữ khác. Tôi vốn ko lập trình Java nhưng tôi luôn công nhận Java rất hay, và tôi cũng biết rằng C# bắt chước rất nhiều, nhưng Java cũng chỉ là 1 bước nâng cấp của C++ mà thôi (có thể nói là xuống cấp giống như C# bởi vì nó bỏ đi 1 vài chức năng hay của C++) Tôi biết nhiều người ghét Microsoft nhưng hãy giả sử rằng nếu ngày hôm nay kẻ thống trị là Sun Microsystems thì mọi người cũng sẽ có thành kiến với công ty này thôi, cho nên xin đừng nhìn về 1 hướng

THIENAN
06-06-2003, 17:51
Zek3vil nói đúng đấy, tuy là Java là ngôn ngữ khá hay và mạnh thật nhưng đừng xem thường những ngôn ngữ khác. Mình cũng thường không lâp trình bằng Java mà chỉ chuyên dùng C++ thôi. Tuy nhiên vẫn thích Java vì thấy Java có khả năng về mạng tốt hơn C++. Nhưng sao luôn cảm thấy nếu chỉ sử dụng Java thôi thì khó mà là một thành lập trình viên thực thụ được, chẳng biết có phải vì còn chưa biết nhiều cái về Java nên mới như vậy không.

quangvu
06-06-2003, 19:16
Hi hi , lưu ý lưu ý . . .
Các ban nói nhỏ nhỏ thôi, làm "con mèo" của Quang Vũ giật mình rồi kìa :)

Vũ thấy ILoveJava nói không đến nổi nào đâu, các bạn chớ nặng lời như thế. Thực sự Java có nhiều ưu điễm, nhưng ở VN này có lẽ nó chưa phát huy được sức mạnh đâu vì đa số cac Project ơ đâu chỉ ở mức trung bình và có vẽ phù hợp vời VB hơn .
Dù gì chung ta cũng nên cỗ vũ Java , Vũ nghĩ tương lai sẽ ở Java và .Net , mà cả hai thi 1 : 1 .

trannam136
07-06-2003, 11:24
Hôm nay đến lớp bảo vệ đồ án, thấy cả lớp viết bằng VC, đa số viết VB và chỉ có 3 mạng viết bằng Java thôi. Ngoài Java ra cũng nên biết thêm một ngôn ngữ nữa cảu M$ các bạn ah.
Híc...

trongvang2
12-06-2003, 22:11
Java hay .NET? Lẳng lặng mà nghe...
Những lúc rảnh rang không có chuyện chi để làm, thay vì xuống phố bù khú, rề rà hàng nọ quán kia, ngày nay ta có thêm cái thú vui tao nhã là... lên mạng hóng chuyện thiên hạ. Theo dõi những cuộc tranh luận sôi nổi ở các "pho rum" có thể xem là một kiểu học "hàm thụ" về... thế thái nhân tình. Bạn có nghĩ vậy hông? Trong một lần lông bông, chợt bắt gặp lời qua tiếng lại lao xao về chuyện "Java hay .NET?" có vẻ đầy tính chiến lược vĩ mô, đụng chạm nghề lập trình kiếm cơm của mình, tôi dừng lại ngay, sửa kính, lắng nghe...

* Em đang "dụ khị" một khách hàng muốn xây dựng hệ thống kế toán (accounting system) dựa vào mạng Web. Khổ nỗi chưa biết nên đầu tư vào công nghệ Java hay .NET? Mỗi thứ hay dở ra sao? Thứ nào dễ mở rộng quy mô (scalable) hơn, an ninh hơn? Ai người tài giỏi xin chỉ giáo, nhưng mà phải khách quan à nhe. Em chán ngấy cái trò "nói như rồng leo" theo kiểu... tiếp thị! Ngoài ra, huynh nào muốn "nói cho hả" chỉ vì ghét Microsoft/Bill Gates hoặc Sun Microsystems thì làm ơn đừng tham gia. Xin cảm ơn trước.

- Trước hết, ông cần phải "đổi mới tư duy": Không nên nghĩ rằng công nghệ này luôn luôn tốt hơn công nghệ kia và do đó phải chọn công nghệ này. Quyết định chọn Java hay .NET phải dựa vào việc phân tích cụ thể hệ thống mà ông muốn xây dựng cho khách hàng. Hệ thống ấy dựa vào Web như đã nói, nghĩa là có thể phải hoạt động trên internet, vậy ông cần chú ý đặc biệt vấn đề an ninh và nên dùng Java trên nền Unix hoặc Linux. Nếu hệ thống ấy chỉ hoạt động trong intranet, vấn đề an ninh không quan trọng lắm, ông nên xem xét việc dùng .NET vì thi công sẽ nhanh chóng hơn. Cả hai công nghệ đều dễ mở rộng quy mô. Thực ra, điều này chủ yếu phụ thuộc vào thiết kế của ông chứ không phải công nghệ.

- Với .NET, ông chỉ có một đối tác duy nhất là Microsoft. Với Java, sẽ có nhiều đối tác cùng cạnh tranh để thương lượng với ông. Trong suy nghĩ của tui thì đó đã là câu trả lời rồi. Khi ông mua một sản phẩm trong thế giới Java và thấy có vấn đề, ông có thể "băng qua đường, đến tiệm bên kia". Người bán hiểu rõ điều đó. Trong thế giới Microsoft, ông chẳng đi đâu được. Ông chỉ có thể chòi đạp trong cái đám MSDN cho đến khi... hết đường cục cựa.

- Tớ nghĩ các giải pháp web mới đều phải dựa trên .NET vì .NET nhanh hơn và cũng đã tỏ ra ổn định. Rồi các cậu sẽ thấy, những công nghệ chủ chốt trên mạng sẽ dần dần lặng lẽ dọn nhà qua .NET. Từ Java nhảy qua .NET không dễ đâu. Không sáng suốt lựa chọn công nghệ ngay từ đầu thì sau này có hối cũng không kịp!

* Tui từng lập trình với C++ và Java. Chỗ tui làm hiện nay đã dùng ASP.NET và VB.NET. Công cụ Visual Studio.NET trông thật tuyệt nhưng khi dùng trong đề án thực tế mới thấy nó không đáp ứng được nhu cầu gỡ rối. Để có một trang ASP.NET cùng các lớp nằm bên dưới, tụi tui phải viết và gỡ rối trong một tuần lận. Thế là bị trễ hợp đồng thê thảm. Tối về nhà, tui viết lại tất cả bằng Java và có được sản phẩm tương đương trong ba tuần. Mấy ông thử nghĩ: 1-2 giờ mỗi tối trong ba tuần so với 25-30 giờ mỗi tuần trong... 26-30 tuần. Tụi tui sống bằng những hợp đồng, có lẽ .NET không phải là phương tiện làm ăn phù hợp.

- Xin lỗi, phải đem mấy trự lập trình viên .NET ở chỗ ông ra "xì nẹc" hết! Tớ đã lập trình trên .NET cả năm nay và cũng dùng cả Java nữa. Lập trình trong .NET nhanh hơn trong Java nhiều. Hiện nay, bọn tớ dùng Java để xây dựng những hệ thống ứng dụng doanh nghiệp lớn và dùng .NET trong mọi ứng dụng khác. Nên nhớ Microsoft có nhiều kinh nghiệm trong việc phát triển công cụ lập trình. Trong thế giới Java chẳng có công cụ lập trình nào khả dĩ bám gót .NET Studio.

- Nè, sao cậu dám chắc .NET Studio hơn hẳn mọi công cụ lập trình Java? Cậu đã thử dùng Eclipse của IBM để viết chương trình Java bao giờ chưa? Trừ khi cậu phải lệ thuộc vào các sản phẩm khác của Microsoft và ứng dụng của cậu thuộc loại ứng dụng Windows, nếu phát triển ứng dụng Web, viết Java bằng IBM Eclipse là cách nhanh nhất!

- Không rõ ông đặt ra vấn đề với tư cách là người lập trình hay là người quản trị đề án? Trước khi quyết định chọn công nghệ, phải xem xét hệ thống sẵn có của khách hàng và tính toán chi phí phù hợp nhất. Nếu khách hàng nói rằng "không nhất thiết phải là Windows, Linux hay Unix, miễn là chạy tốt và an toàn!" thì có thể xem xét việc dùng Java. Tuy nhiên, việc dùng Java chỉ thực sự rẻ nếu ông có đủ bản lĩnh nhào nặn các công cụ miễn phí, các sản phẩm nguồn mở như JBoss chẳng hạn. Nếu ông chui đầu vào giải pháp Java của BEA hay IBM thì cũng bị "chém đẹp" y như với Microsoft!

* Tớ đang làm tư vấn cho một khách hàng muốn hiện đại hóa cơ sở hạ tầng công nghệ thông tin của họ. Sau khi nghiên cứu kỹ lưỡng, bọn tớ đề xuất một phương án trong đó dùng cả Java và .NET! Tớ dùng .NET để phát triển bộ phận "mặt tiền", dùng Java để xây dựng "khúc giữa", nơi thể hiện những lề lối kinh doanh (business rule) và chịu trách nhiệm truy xuất cơ sở dữ liệu DB2 thông qua những thủ tục cài sẵn (stored procedure). Thực ra kiến trúc mà bọn tớ xây dựng có đến năm bậc (tier) từ "mặt tiền" vào đến "nhà bếp". Chúng được thiết kế sao cho chỉ ràng buộc lỏng lẻo với nhau bằng các giao diện, do đó có thể mở rộng gần như vô hạn bằng cách tùy ý thêm vào các máy chủ .NET hay WebSphere khi cần thiết. Hệ thống trình diễn của bọn tớ chạy tốt ngoài sức tưởng tượng!

- Nên nhớ rằng Java đã xuất hiện trên thị trường bảy năm rồi và đã chứng tỏ sự ổn định của nó trong nhiều hệ thống lớn. Hơn nữa, Java là cầu nối rất tốt giữa các hệ thống ứng dụng cũ với mạng Web. Còn .NET thì chưa qua thời ấu trĩ, chưa được dùng trong hệ thống ứng dụng quan trọng nào. Tụi tui đã thử làm một đề án nhỏ bằng .NET và gặp khó khăn ngay: Trong vòng ba tháng, giao diện lập trình ứng dụng (Application Programming Interface, API) của .NET thay đổi vài ba lần khiến cho đề án rối nùi!

- Tớ lại thấy chính Java mới là công nghệ rối nùi! Có quá nhiều sự lựa chọn, quá nhiều sản phẩm lắt nhắt của một lô một lốc những công ty vô danh tiểu tốt. Java đã xuất hiện hơn bảy năm rồi và vẫn cứ chạy chậm rì như thường! Trong khi đó, .NET có lợi thế của "kẻ đến sau", được Microsoft thi công toàn bộ từ dưới lên trên, mọi thứ đều ngăn nắp, đâu ra đấy. Bọn tớ đã từng làm ba ứng dụng trên .NET rồi. Chạy rất tốt, chẳng bị sao cả! Cũng cần chú ý rằng chỉ .NET mới có phương tiện phát triển ứng dụng nhanh (Rapid Application Development, RAD). Các cậu có thể xây nên một ứng dụng mà không cần viết một dòng mã nào hết!

- Cái trò RAD làm cùn tư duy thì có! Tớ không thể hình dung một lập trình viên mà chỉ biết bấm bấm, kéo và thả. Khi nào không thể bấm bấm, kéo và thả nữa thì làm sao? Nói cho đúng, trong thế giới Java cũng có RAD nhưng hầu hết lập trình viên Java đều thích tự tay mình viết mã và kiểm soát mọi thứ. Không ai có thể trở thành lập trình viên thực thụ nếu không biết suy nghĩ theo phong cách thiên đối tượng (Object-Orientation). Java là ngôn ngữ rất tốt để học lập trình thiên đối tượng. Do công cụ lập trình Java là miễn phí và tài liệu để học Java có rất nhiều, dễ dàng kiếm được nhiều lập trình viên Java thực sự có năng lực. Đây là yếu tố quan trọng trong việc giải quyết vấn đề nhân lực cho các đề án.

- Chính .NET mới giải quyết được vần đề nhân lực! Nếu ông chọn công nghệ Java, ông chỉ có thể thuê lập trình viên Java mà thôi. Ai bảo lập trình viên Java dễ kiếm? J2EE quá phức tạp, học khó thí mồ! Với .NET, lập trình viên dùng các ngôn ngữ lập trình khác nhau có thể cộng tác với nhau rất tốt. Theo kinh nghiệm của tui thì lập trình viên ít khi muốn thay đổi ngôn ngữ lập trình mà họ đã quen. Trong một đề án mà dùng cả .NET và Java! Liệu có thể tóm ở đâu được một lập trình viên thành thạo cả Java lẫn .NET, "bắn súng hai tay như một"?

- Tớ thì tớ không tin cái chuyện "đa ngôn ngữ" trên .NET. Lấy VB làm ví dụ (tớ không biết ngôn ngữ nào khác). Ai nói có thể dùng VB trên .NET là... nói xạo! Tớ thấy VB.NET và VB6 chả giống gì mấy. Thực ra, VB.NET chỉ là một loại "hàng nhái" của C# mà thôi. Ưu thế thực sự của .NET là ở dịch vụ Web (Web services). Nên nhớ rằng khi thiết kế .NET, Microsoft đã tính đến dịch vụ Web. Hồi Java ra đời chưa có dịch vụ Web. Dịch vụ Web trong Java là sự bắt chước .NET mà thôi.

- Nói gì thì nói, tui phải chọn Java vì thấy dùng .NET rất tốn kém. Nền tảng .NET lớn khủng khiếp, đến 3 giga lận! Và mọi thứ cần thiết đều phải mua từ Microsoft. Phải trả tiền cho Windows nè, .NET nè, SQL Server nè và IIS (Internet Information Server) nữa. Và ai bảo đảm sự nâng cấp trong tương lai có dễ dàng hay không (mấy bồ thử nâng cấp từ Windows NT lên Windows 2003 thì biết ngay!).

- Chẳng ai có thể đoán trước bước đi của công nghệ nên tớ thấy giải pháp tốt nhất là tận dụng những ưu thế của cả Java lẫn .NET. Với ứng dụng "nặng đô" ở phía khách thì đừng nên dùng Java ở đó, nhất là khi biết trước máy khách chạy Windows. Trong trường hợp như vậy, rõ ràng việc dùng .NET ở phía khách tự nhiên hơn, hiệu quả hơn, không thể phủ nhận điều này. Với ứng dụng Web (khách chỉ dùng trình duyệt mà thôi), chọn .NET hay Java đều được nhưng chọn Java sẽ rẻ hơn vì có nhiều công cụ miễn phí và có nguồn mở. Tuy nhiên, tớ ủng hộ việc thi công các bộ phận bằng cả Java và .NET. Có như vậy mới thích nghi tốt với những biến động trong tương lai.

- Thôi, thôi,... em vô cùng biết ơn các huynh đã nhiệt tình đóng góp ý kiến cho cái đề án của em. Thời hạn "nộp quyển" của em đã gần kề. Em còn... rối lắm, mấy huynh ơơơi!!!

Đó là câu chuyện qua đường xin kể để bạn... nghe chơi rồi bỏ! Bao giờ cũng vậy, ngồi "đẽo cày giữa đường" thì phải đến Tết Công-Gô mới xong việc. Tôi chỉ muốn kéo anh bạn "đáng thương" đó xuống phố lai rai mấy xị, nếu trời nắng thì chọn cái này, gặp trời mưa thì chọn cái kia...

zek3vil
13-06-2003, 02:41
Bài viết khá ấn tượng đó trongvang2. Tui vốn là dân lập trình .NET nhưng chẳng hề ghét Java chút nào. Nhưng tui đã tìm thấy cái jealousy của mình khi tui đọc bài này mà đầu tui cứ muốn cho cái .NET thắng cuộc. Xin chân thành cảm tạ, có lẽ tui đã hoàn toàn khắc phục được điểm này, sẽ ko còn Java hay .NET cái nào hơn nữa. No more jealousy, thanks to trongvang2.