Trang Chủ | Diễn Đàn | Thành Viên (Đăng Ký) | Tìm Kiếm | Tutorial Room
Java - Những hạn chế của Java
Hỏi đáp, trao đổi về lập trình Java.
- Các câu hỏi về JavaScript xin hãy gởi vào box HTML & JavaScript.
- Các câu hỏi về lập trình JSP/Server, J2EE xin hãy gởi vào box JSP/Servlet - J2EE.
Chú ý: Java FAQs
First page Previous page  (Page 1 )   1     2   Next page Last page
Những hạn chế của Java
Member
Member since
09:03 21-04-2003
Posts: 71
Fantasy Points: 999
article Posted at 10:27 27-11-2009 Move Move Topic   Pin/Unpin Pin Topic   Lock Lock Topic
Mình có viết một bài phân tích những hạn chế của ngôn ngữ Java tại đây, mong nhận được ý kiến đóng góp của các bạn :)
http://seritrinh.blogsp...11/iem-yeu-cua-java.html
Reply Reply   Quote Quote   Edit Edit   Delete Delete   Report Report
This post has been viewed 3,250 time(s). 1 direct repli(es) and 11 indirect repli(es).
Title Poster
article Những hạn chế của Java
 
answer Re: Những hạn chế của Java
NBThanh
Re: Những hạn chế của Java
Forum Moderator
Member since
20:03 17-08-2001
Posts: 18,130
Fantasy Points: 154,908
Rank
answer Posted at 17:57 27-11-2009
Reply to Những hạn chế của Java (seri)
seri:
Mình có viết một bài phân tích những hạn chế của ngôn ngữ Java tại đây, mong nhận được ý kiến đóng góp của các bạn :)
http://seritrinh.blogsp...11/iem-yeu-cua-java.html

Một bài viết (chắc là dịch?) rất đáng được hoan nghênh ở...các tờ báo lá cải ;-) Còn ở nơi cần tính học thuật và kỹ thuật cao thì bài biết, theo tôi, không có giá trị gì cả!

Chưa nói đến chi tiết, về mặt tổng thể thì bài viết có 2 khiếm khuyết quan trọng sau:

1. Nếu nói "điểm yếu" thì ngôn ngữ nào mà không có điểm yếu riêng của nó? Làm gì có cái gọi là "ngôn ngữ hoàn hảo"! Cho nên nếu liệt kê ra vài "điểm yếu" của ngôn ngữ Java rồi phán nào là "cái chết của Java", nào là "tương lai đáng lo ngại" rồi nào là "uy tín đã giảm hẳn" thì nói chung cũng có thể nói điều tương tự cho bất kỳ ngôn ngữ nào.

2. Lúc thì so sánh Java với C/C++, lúc thì so sánh với C#, lúc thì so sánh với Ruby, Python...Nếu bạn phải lấy gần chục cái ghép lại để đi so sánh với Java để rồi phán thế này thế nọ thì liệu sự so sánh đó có giá trị gì?

Và nổi bật hơn hết, ở những bài viết kiểu này, người viết đã quan 1 điều tối quan trọng: mỗi ngôn ngữ đều có thế mạnh riêng, ứng dụng riêng. Phải hiểu nó, hiểu thế mạnh của nó, chỗ ứng dụng của nó để sử dụng nó.
This post has been edited 1 time(s). Last edited by NBThanh on 18:17 27-11-2009.
Reply Reply   Quote Quote   Edit Edit   Delete Delete   Report Report
This post has been viewed 3,235 time(s). 1 direct repli(es) and 10 indirect repli(es).
Title Poster
answer Re: Những hạn chế của Java
 
answer Re: Những hạn chế của Java
seri
Re: Những hạn chế của Java
Member
Member since
09:03 21-04-2003
Posts: 71
Fantasy Points: 999
answer Posted at 20:44 27-11-2009
Reply to Re: Những hạn chế của Java (NBThanh)
Mình viết bài này. Nếu dịch mình sẽ nói là dịch.

1. Bạn nói đúng ở chỗ ngôn ngữ nào cũng có điểm yếu riêng. Nhưng điều đó không có nghĩa là việc phân tích những điểm yếu của một ngôn ngữ là điều vô giá trị. Những cải tiến của Java 5 so với các phiên bản trước đã dựa trên cơ sở những điểm yếu của chính nó (mặc dù không phải cải tiến nào của Java 5 cũng được hoan nghênh)/

2. Khi nhắc đến một vấn đề mà Java làm không tốt, mình dẫn chứng ở các ngôn ngữ đã làm điều đó tốt. Mình không hề so sánh feature-by-feature giữa Java và các ngôn ngữ khác.

3. Mình hiểu điều này. Bạn có thể thấy mình không xoáy vào những điểm đi ngược lại với mục đích và vai trò của Java. Ví dụ: mình không nhận xét Garbage Collection của Java đã give up performance, hay mình không nói việc Java không có con trỏ là một nhược điểm. Mình đã chọn lọc và tập trung vào những hạn chế ngay trong mảng mà Java đang được ứng dụng.

Dù sao cũng rất cảm ơn góp ý của bạn :)
Reply Reply   Quote Quote   Edit Edit   Delete Delete   Report Report
This post has been viewed 3,228 time(s). 1 direct repli(es) and 9 indirect repli(es).
Title Poster
answer Re: Những hạn chế của Java
 
answer Re: Những hạn chế của Java
instcode
Re: Những hạn chế của Java
Member
Member since
09:13 28-01-2004
Posts: 480
Fantasy Points: 7,995
Rank
answer Posted at 07:14 29-11-2009
Reply to Re: Những hạn chế của Java (seri)
Trước hết, mình muốn hỏi bạn 2 câu sau khi được đọc những phát biểu hùng hồn (và có vẻ hằn học với Java) đó là:
- Bạn đã lập trình với Java bao giờ chưa?
- Nếu có, bạn đã làm được những gì với Java rồi?

Tại sao? Nên nhớ những người phát biểu những dao to búa lớn như vậy thì đã làm việc với Java rất nhiều và tôi hi vọng bạn sẽ như vậy để có thể thảo luận tiếp.

Những cái bạn nói trong bài tôi cũng đã đọc được nhiều nơi và cái đó là thực tế, tôi kô có ý kiến phản đối. Tuy nhiên, tôi thấy có trách nhiệm "chỉnh" cho bạn một số chỗ:
- Bạn nhầm ASP.NET scripting với một ngôn ngữ lập trình (VB.NET, C#...) đúng nghĩa.
- Bạn đã nhập nhằng giữa việc phân tích lợi hại của ngôn ngữ và thư viện đi kèm.
- Bạn nói Java chậm chạp, cồng kềnh nhưng có thể bạn kô biết những ngôn ngữ mới như Groovy, Scala và Clojure.. đang phụ thuộc vào Java/JVM.
- Bạn đưa những dữ kiện rất là... vui! Ví dụ "uy tín của Java trong giới hackers..." Tôi kô hiểu hacker đã dùng Java làm gì mà Java có uy tín với họ?
- Có thể bạn đã kô đọc kỹ những trích dẫn của bạn và đưa kết luận về vị thế của Java đang suy giảm. Tuy nhiên, tôi sẽ tin nếu bạn nếu:
  • Hoặc bạn đưa ra những dẫn chứng *mới và ngược lại* với những ví dụ cụ thể trong bài: http://codemonkeyism.com/java-dead/ ("ngược lại" là quan trọng, bởi vì có lẽ bạn đã chỉ đọc title và ngầm định nội dung của cả bài)
  • Hoặc là người nổi tiếng như trong bài sau:
    http://blog.rainer.esch...-think-that-java-is-dead (với title dài "only-narrow-minded-programmers-think-that-java-is-dead" này thì kô cần đọc nội dung :))..)
Bạn có thể thấy đó như "bới lông tìm vết", nhưng biết đâu sẽ giúp bạn chuẩn bị tốt hơn cho những bài java-hating sau này ;-)

Bây giờ, nếu tôi hỏi lại: Giả sử những version mới của Java giải quyết hết những thiếu sót bạn mà "đề nghị", Java sẽ đi về đâu? Nhớ Ruby coder đã từng tung hô Ruby và chì chiết Java, để rồi gần đây Twitter developers đã đề nghị bỏ Ruby để theo Scala (1)... Vậy Ruby sẽ đi về đâu? Hoặc gần đây khi Python 3.0 chưa kịp phổ biến, Google đã tính đường đào thải Python (2), vậy Python sẽ đi về đâu? Guido sẽ làm gì? Nhưng tôi đoán bạn sẽ nói gì, sẽ là một bài "Python is dead, long live XYZ language!" :))

Cuối cùng, mọi ngôn ngữ đều cũng có flaw (ít nhất là đang tiềm ẩn)... À kô, phải là: mọi thứ đều có flaw! Và "no silver bullet" cho 1 vấn đề... Java có hạn chế, nhưng ai chắc một khi Ruby, Python, Groovy, Scala, Erlang, Clojure, Haskell, Go (có lẽ sẽ là Issue9 (3)).. được sử dụng rộng rãi thì kô thiếu người phán "chúng nó đã chết". Cho nên, những cái bạn nói là bình thường! Nếu bạn có khả năng thấy những flaw kiểu này trước thiên hạ, bạn có thể post 1 bài rùi submit lên dzone, hacker news.. nhưng ngược lại, xin bạn chỉ nên nghe để biết, và hiểu... Đừng nên góp nhặt về rồi tạo ra 1 cái debate giống vậy (với locale Vietnam) nữa.. vì... thật tình là nó làm tôi cũng bỏ việc cả giờ để gom góp tài liệu và trả lời cho bạn mà ko được thêm chút gì :))

Và kết thúc là lời nhắn nhủ (hoặc là châm chích): Một lập trình viên phải chọn ít nhất 1 ngôn ngữ và những công nghệ đi kèm, ít nhất là kiếm cơm ;-), để mà thành thạo nó... Bạn đã chọn ngôn ngữ nào cho mình chưa? Hay là chỉ đua theo học những ngôn ngữ mới ra để viết những chương trình cỡ "Hello World" và đi góp nhặt những bài thảo luận trên mạng rồi trở về phân tích những cái dở của ngôn ngữ cũ? Hãy chọn một ngôn ngữ và chờ đợi nó bị anh em ném đá bạn nhé ;-)

1. Twitter bỏ Ruby theo Scala - http://www.artima.com/s...es/twitter_on_scala.html
2. Google ngừng chơi với Python - http://groups.google.co...d/4edbc406f544643e?pli=1
3. Issue9 - http://code.google.com/p/go/issues/detail?id=9
Con ơi, khi con sinh ra thì mọi người cười còn con thì lại khóc ...
Vậy con hãy sống làm sao để khi con chết đi, mọi người khóc còn con thì lại ... :D ...
This post has been edited 1 time(s). Last edited by instcode on 07:29 29-11-2009.
Reply Reply   Quote Quote   Edit Edit   Delete Delete   Report Report
This post has been viewed 3,178 time(s). 1 direct repli(es) and 8 indirect repli(es).
Title Poster
answer Re: Những hạn chế của Java
 
answer Re: Những hạn chế của Java
seri
Re: Những hạn chế của Java
Member
Member since
09:03 21-04-2003
Posts: 71
Fantasy Points: 999
answer Posted at 09:20 29-11-2009
Reply to Re: Những hạn chế của Java (instcode)
Mình rất vui khi nhận được phản bác khá tâm huyết của bạn, nhất là khi bản thân mình cũng bỏ ra khá nhiều thời gian để viết bài.

1) Đa số điểm trong bài viết của mình là original. Nhất là hạn chế (2) thì ít ra mình chưa thấy ở đâu. Mình đã chỉ ra nguồn nếu một điểm nào đó là mình diễn đạt lại theo những phát hiện ở nơi khác. Như vậy, nó không hoàn toàn mang tính lượm lặt.

2) Khi nói ASP.NET, mình ám chỉ web programming platform trên nền .NET (một cách nói nôm na nhưng phổ biến) - nơi mà ta có thể dùng VB.NET, C# - với ngụ ý so sánh với J2EE.

3) Mình không xoáy vào sự chậm chạp của Java ở tất cả các hạn chế nêu ra. Mình nhắm vào productivy và code expressiveness, cái mà một số ngôn ngữ mới nổi đang thu hút một bộ phận lập trình viên. (JVM chỉ mang tính implementation, cũng giống như Ruby và Python đã được port sang JVM.)

4) Mình đã nói ngay từ đầu là mình dự định phân tích nhược điểm của cả ngôn ngữ và thư viện chuẩn. Ở mỗi điểm mình cũng ám chỉ khá rõ mình đang muôn chê thư viện chuẩn hay chê ngôn ngữ.

5) Hackers là cách nói nôm na để chỉ hardcore programmers, như Paul Graham dùng trong bài sau: http://www.paulgraham.com/javacover.html (điểm 9).

6) Mình chọn bài từ Code Monkeyism vì bài này vô tình tổng hợp các bài viết khác xôn xao trên mạng về Java Is Dead. Ý kiến chủ quan của mình? Mình bình luận ở phần Kết Luận.

7) Mình nói ở đoạn cuối với ngụ ý "tò mò": khi mà Java tiếp tục đi theo hướng không khắc phục những hạn chế kế trên thì, theo ý kiến chủ quan của mình, tương lai của nó sẽ còn đi xuống - nhưng tất nhiên không ai nói trước được điều gì.

8) Như mình đã trả lời anh NBThanh, đúng là mình có thể viết một bài tương tự về Ruby hay Python hay Scala. Nếu có đủ ham muốn và thời gian, mình sẽ làm. Với mình thì chúng đều là những target để thoả mãn sự tò mò mà thôi.

9) Mình cũng băn khoăn khi lựa chọn nên viết tiếng Việt hay tiếng Anh cho các bài viết của mình. Thật ra, có lẽ từ các bài viết sau mình sẽ chuyển sang hướng như bạn nói.

Có thể bạn đã quá đặt trọng tâm vào đoạn đầu và đoạn kết luận của mình. Đúng là mình đã viết với giọng điệu hơi hùng hổn và có vẻ hằn học với Java ở phần đó, với mục đích cho bài viết đỡ thuần kỹ thuật, đỡ khô khan, nhưng vô tình nó lại hướng người đọc vào những ý kiến chủ quan, gây tranh cãi.

Nếu có thẻ thì chúng ta bàn về bài viết thôi nhé! Mình xin miễn trả lời các câu hỏi để thẩm định tư cách của cá nhân mình khi nói về Java :)

PS: Mình biết nhóm làm Twitter dùng Scala lâu rồi. Nhưng có chăng là sai lầm của nhóm khi chọn Ruby vào một khâu đòi hỏi performance. Lần gần nhất mình cập nhật thì Twitter vẫn dùng RoR làm front end.
Reply Reply   Quote Quote   Edit Edit   Delete Delete   Report Report
This post has been viewed 3,165 time(s). 2 direct repli(es) and 6 indirect repli(es).
Title Poster
answer Re: Những hạn chế của Java
 
answer Re: Những hạn chế của Java
instcode
answer Re: Những hạn chế của Java
NBThanh
Re: Những hạn chế của Java
Member
Member since
09:13 28-01-2004
Posts: 480
Fantasy Points: 7,995
Rank
answer Posted at 10:34 29-11-2009
Reply to Re: Những hạn chế của Java (seri)
Những luận điểm trong phần nội dung bạn đưa ra tôi đồng ý, vì tất cả (vâng, nhấn mạnh là *tất cả*, nếu bạn cần "link" để cite, tôi sẽ kiếm cho bạn) những cái đó rất nhiều người đã đề cập và phân tích, kô cần phải thảo luận ở đây nữa. Nhưng vì bạn cứ khăg khăg đó là những thứ bạn "kô hoàn toàn lượm lặt", cho nên trong bài cũ tôi có đưa ra những câu hỏi rất đơn giản và "kô hề chủ quan, gây tranh cãi" dành cho bạn:

1. Java và bạn đã có kỷ niệm gì để bạn có thể mạnh miệng như vậy?
2. Bạn có những dẫn chứg cụ thể cho kết luận trong bài đó kô?

Đáng tiếc bạn kô trả lời (được) vì bạn nghĩ nó mang hơi hưởng "thẩm định tư cách cá nhân" cho nên tôi cũng kô biết phải nói gì thêm nữa. Đơn giản là vì tôi kô thích đào sâu thảo luận với những ai chỉ giỏi cite những link "hàng khủng" để bù cho những phần kiến thức non yếu của mình.
Con ơi, khi con sinh ra thì mọi người cười còn con thì lại khóc ...
Vậy con hãy sống làm sao để khi con chết đi, mọi người khóc còn con thì lại ... :D ...
Reply Reply   Quote Quote   Edit Edit   Delete Delete   Report Report
This post has been viewed 3,156 time(s). 1 direct repli(es) and 4 indirect repli(es).
Title Poster
answer Re: Những hạn chế của Java
 
answer Re: Những hạn chế của Java
seri
Re: Những hạn chế của Java
Member
Member since
09:03 21-04-2003
Posts: 71
Fantasy Points: 999
answer Posted at 08:30 30-11-2009
Reply to Re: Những hạn chế của Java (instcode)
instcode:
Những luận điểm trong phần nội dung bạn đưa ra tôi đồng ý, vì tất cả (vâng, nhấn mạnh là *tất cả*, nếu bạn cần "link" để cite, tôi sẽ kiếm cho bạn) những cái đó rất nhiều người đã đề cập và phân tích, kô cần phải thảo luận ở đây nữa. Nhưng vì bạn cứ khăg khăg đó là những thứ bạn "kô hoàn toàn lượm lặt"


OK, mong bạn đưa ra những links cần thiết để những ai quan tâm có thể so sánh và tự quyết định bài viết của tôi có phải là hoàn toàn lượm lặt (không có phát hiện gì original, không có cách giải thích nào mới mẻ) hay không.

Về phía bạn, quan điểm của bạn khá mạnh mẽ và rõ ràng, tôi tôn trọng và không tranh luận thêm.
Reply Reply   Quote Quote   Edit Edit   Delete Delete   Report Report
This post has been viewed 3,030 time(s). 1 direct repli(es) and 3 indirect repli(es).
Title Poster
answer Re: Những hạn chế của Java
 
answer Re: Những hạn chế của Java
instcode
Re: Những hạn chế của Java
Member
Member since
09:13 28-01-2004
Posts: 480
Fantasy Points: 7,995
Rank
answer Posted at 11:15 30-11-2009
Reply to Re: Những hạn chế của Java (seri)
seri:
instcode:
Những luận điểm trong phần nội dung bạn đưa ra tôi đồng ý, vì tất cả (vâng, nhấn mạnh là *tất cả*, nếu bạn cần "link" để cite, tôi sẽ kiếm cho bạn) những cái đó rất nhiều người đã đề cập và phân tích, kô cần phải thảo luận ở đây nữa. Nhưng vì bạn cứ khăg khăg đó là những thứ bạn "kô hoàn toàn lượm lặt"


OK, mong bạn đưa ra những links cần thiết để những ai quan tâm có thể so sánh và tự quyết định bài viết của tôi có phải là hoàn toàn lượm lặt (không có phát hiện gì original, không có cách giải thích nào mới mẻ) hay không.

Về phía bạn, quan điểm của bạn khá mạnh mẽ và rõ ràng, tôi tôn trọng và không tranh luận thêm.

Bạn cũng thật là dai ghê :))

Thôi, vì những cái bạn viết nó nằm rất nhiều nguồn, phần lớn là xuất phát từ những bài "java sucks" hoặc trong những bài giói thiệu những ngôn ngữ mới, cứ STFW là nó lòi ra hết. Tôi kô muốn dành nhiều thời gian để gom góp như bạn. Do đó, cho phép tôi chỉ đưa ra cái bạn đã chủ động nói là "kô lượm lặt", là cái thứ 2 đúng kô?

Đọc nè: http://www.ibm.com/deve...a/library/j-pg04149.html

Tác giả bài này cũng kô phải là người đầu tiên phát hiện ra những điều này, rất nhiều người có cái đầu to đã nhận ra ngay khi Java 5.0 vừa ra đời.. và bạn xào lại rất tinh vi ;-) "Kín kín hở hở" :))

Tôi cũng tôn trọng và kô muốn đục khoét vào những gì bạn muốn che dấu, cho nên tôi xin dừng tại đây :-)
Con ơi, khi con sinh ra thì mọi người cười còn con thì lại khóc ...
Vậy con hãy sống làm sao để khi con chết đi, mọi người khóc còn con thì lại ... :D ...
Reply Reply   Quote Quote   Edit Edit   Delete Delete   Report Report
This post has been viewed 2,990 time(s). 1 direct repli(es) and 2 indirect repli(es).
Title Poster
answer Re: Những hạn chế của Java
 
answer Re: Những hạn chế của Java
seri
First page Previous page  (Page 1 )   1     2   Next page Last page

Permissions: Create Topic: No  |  Reply Topic: No  |  Attach File: No  |  Make Poll: No

Vietnamese Keyboard: AUTO TELEX VNI VIQR VIQR* OFF

Go top || Print page ||

All logos, trademarks and graphics artwork in this site are property of their respective owners.
Opinions expressed in articles within this site are those of their owners and may not reflect the opinion of TXBB.

TXBB: Home - Disclaimer - Help - Contact
Copyright (C) 2000-2006 TXBB. All rights reserved.

TreXanh Bulletin Board v2.0 (Build: #332 Nov 21, 2006)

DEBUG INFORMATION
Execution 0.3s - SQL used 6s - Concurrent process(es) 0