Java hay .Net

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi dark_slayer_83, 5/3/09.

  1. dark_slayer_83

    dark_slayer_83 Long Phụng Hòa Minh Moderator Lão Làng GVN

    Tham gia ngày:
    19/4/02
    Bài viết:
    16,732
    Mọi người vui lòng so sánh dùm mình điểm mạnh và yếu của 2 thằng này đi^_^
     
  2. dark_slayer_83

    dark_slayer_83 Long Phụng Hòa Minh Moderator Lão Làng GVN

    Tham gia ngày:
    19/4/02
    Bài viết:
    16,732
    hix k ai giúp mình sao ?
     
  3. minhlinh_523

    minhlinh_523 Donkey Kong

    Tham gia ngày:
    16/8/08
    Bài viết:
    423
    theo mình biết thì java hỗ trợ nền tảng web mạnh hơn,kiểu như xài applet ấy.Còn mấy cái của .net nó hỗ trợ cho lập trinh desktop tốt hơn.Đặc biệt vơi java bạn có thể đi theo hướng lập trình cho thằng điện thoại ,các phần mềm tiện ích ,trò chơi .. Hiện tại khu vực cho lập trình di động còn khá mới và nhiều cớ hội hơn so với mấy chỗ lập trình ứng dụng.
     
  4. Alien7

    Alien7 Guest

    Tham gia ngày:
    3/4/08
    Bài viết:
    158
    Thị phần web của Java ngày càng bị thu hẹp rồi. Web bây giờ chủ yếu PHP với .net.
     
  5. .::DND::.

    .::DND::. C O N T R A

    Tham gia ngày:
    4/2/07
    Bài viết:
    1,958
    Nơi ở:
    Hà Nội
    dotNET -> phục vụ cho Windows là chính
    Java -> chiến tất :-"
    đơn giản vậy thôi :'>
     
  6. hoangthong1985

    hoangthong1985 T.E.T.Я.I.S

    Tham gia ngày:
    9/4/05
    Bài viết:
    519
    Nơi ở:
    Sài Gòn, Sóc
    chưa chắc đâu bạn, tất cả website của các cty viễn thông di động hiện nay đều xài java hết đó bạn, biết tại sao không. Vì hiện nay chỉ có java là có khả năng nhắn tin từ web đến đtdđ và ngược lại thôi, còn .Net thì chưa hoàn thiện cho lắm.
    Về điểm mạnh yếu thì mỗi thằng có một thế mạnh riêng, Ví dụ như Java hiện nay đang phát triển mạnh là do nó chạy được đa nền, chi phí phát triển thấp vì là mã nguồn mở..
    .Net thì có thể chiến tất từ hệ điều hành đến web ... nhưng muốn chạy nó tốt thì phải chạy trên nền Window thôi, và chi phí phát triển lại khá cao, ví như bộ VS 2005 thôi mà đã vào khoảng 800$ rồi, để phát triển cho cả một cty thì chi phí đó không phải là nhỏ.
    Tại Việt Nam mình chưa siết chặt vấn đề bản quyền nên mình thấy vậy đó thôi, chứ nếu siết chặt thì tui nghĩ nhiều người sẽ dùng Java hơn đó.
    Còn về bạn dark_slayer_83 muốn theo cái nào cũng đc hết cái nào cũng có đất dụng võ của nó hết =)).
     
  7. darkxiiindp

    darkxiiindp Mr & Ms Pac-Man

    Tham gia ngày:
    20/5/07
    Bài viết:
    170
    - Applet của Java là công nghệ lỗi thời và đã chết cách đây nhiều năm. Về mảng này hiện nay Flash đang thống trị, .NET có Silverlight đang được chú ý. Java có JavaFX nhưng chưa thấy động tĩnh gì.

    - Mobile: .NET có thể chạy được trên Symbian, OS chiếm thị phần lớn nhất trong mảng mobile, chạy được trên Windows Mobile và BlackBerry (compile qua plugin cho Visual Studio của RIM). Điều này có nghĩa là .NET đã chạy được trên 3 nền tảng lớn nhất thị trường di động.

    - .NET chạy được trên Windows và Linux, MacOSX (Mono).

    - Về mặt kỹ thuật Java làm được gì .NET làm được cái đó. Khả năng nhắn tin... là do người lập trình làm, không liên quan gì đến ngôn ngữ. .NET ra đời mới được vài năm lẻ, trong khi Java đã ra đời lâu, các hệ thống viễn thông thường được làm trước lúc .NET ra đời, hoặc nó còn yếu.

    - Làm .NET chỉ tốn tiền mua Windows bản quyền, còn tất cả các công cụ, IDE, SQL... phục vụ việc làm đều có phiên bản miễn phí.

    - Học Java chỉ lập trình bằng ngôn ngữ Java, học .NET thích ngôn ngữ nào thì chọn ngôn ngữ đó C#, VB.NET, Ruby, Python và thậm chí cả Java.

    - Tốc độ: C# của .NET chạy nhanh hơn C++ vài lần.

    - Lựa chọn Java hoặc .NET điều đầu tiên là dựa vào công việc. Nếu chọn để học cho biết mà không có định hướng gì đó thì nên học .NET, 'sướng' hơn học Java nhiều.
     
  8. hoangthong1985

    hoangthong1985 T.E.T.Я.I.S

    Tham gia ngày:
    9/4/05
    Bài viết:
    519
    Nơi ở:
    Sài Gòn, Sóc
    Sai lầm rồi bạn =)), thử tìm kiếm thông tin về nó đi bạn. Ngừơi lập trình cũng muốn làm nhưng ngôn ngữ không hỗ trợ thì làm sao ?, không lẽ lại viết nền tảng cho nó hay là dùng ngôn ngữ khác hỗ trợ sao ?

    Không có bản VS nào miễn phí cả, nếu có chỉ phục vụ học tập nghiên cứu thôi không cho viết phần mềm để bán đâu bạn ah :hug:.
     
  9. darkxiiindp

    darkxiiindp Mr & Ms Pac-Man

    Tham gia ngày:
    20/5/07
    Bài viết:
    170
    Bạn lên mạng tìm "SMS ASP.NET" xem có hay không nhé. :'> Cái mà bạn bảo nhắn tin từ Web qua mobile chỉ có Java làm được là không đúng đâu.

    Visual Studio đã có phiên bản free cách đây mấy năm rồi. =)) Bạn search thử Visual Studio 2005/2008 Express nhé. Có cả SQL 2005/2008 Express. Tất cả đều được phép dùng cho commercial.
     
  10. hoangthong1985

    hoangthong1985 T.E.T.Я.I.S

    Tham gia ngày:
    9/4/05
    Bài viết:
    519
    Nơi ở:
    Sài Gòn, Sóc
    đọc kỹ bài tui đi =)) tui không nói là .Net không làm đc mà chỉ là chưa ổn định thôi =)), còn về bộ Free thì tui nói là chỉ Free cho mục đich nghiên cứu học tập thôi, nhìn kỹ phải không, không có chuyện free cho mục đích kinh doanh đâu bạn, Tui cũng có mấy bản free đó thôi =)).
    Đọc kỹ bài tui rồi hãy trả lời =)).
     
  11. darkxiiindp

    darkxiiindp Mr & Ms Pac-Man

    Tham gia ngày:
    20/5/07
    Bài viết:
    170
    Thế này là sao? :'> Và không ổn định, xin bạn cho biết không ổn định thế nào.

    Tôi đã nói bản free dùng được cho cả commercial. Bạn lấy từ điển ra tra sẽ thấy nó là buôn bán, thương mại... Tức là bản free được phép dùng cho mục đích thương mại như viết phần mềm bán... thoải mái. Bạn search "visual studio express commercial" sẽ ra ngay.

    http://blogs.msdn.com/alexbarn/archive/2006/04/19/579529.aspx

    Can I use Express Editions for commercial use?

    Yes, there are no licensing restrictions for applications built using the Express Editions.

    Không rõ bạn lấy thông tin ở đâu mà nói bản Express chỉ được dùng học tập, nghiên cứu?
     
  12. hoangthong1985

    hoangthong1985 T.E.T.Я.I.S

    Tham gia ngày:
    9/4/05
    Bài viết:
    519
    Nơi ở:
    Sài Gòn, Sóc
    How long do I have to register?
    You'll have 30 days from when you install your Visual Studio Express Editions.
    hok biết có đúng không, tui có bản pro dùng cho nghiên cứu và học tập không giới hạn chứ năng gì nhưng chỉ học tập và nghiên cứu thôi =)), sr đọc không kỹ.

    Express Edition products are designed for hobbyists, students, and novice developers. As such, they lack the full breadth of features found in higher-end Visual Studio and SQL Server Editions.
    nhưng cái này tui hôk hiểu là gì vậy, nó vẫn nghĩa vậy thôi, mà người ta phát triển dự án cho 1 Cty thì vẫn dùng bản này àh, chưa từng nghe nói :o.
    Còn việc SMS bạn thử tìm nhà cung cấp mạng viễn thông nào sử dụng công nghệ .Net cho mình thử với. Tui tìm hoài không thấy, còn việc sms asp.net thì cái đó có lâu rồi, tui là 1 fan của codeproject mà, chỉ là chưa thấy thằng nào xài nhiều thôi. Còn về tính ổn định thì bạn nói nó ổn định thì chứng minh thử xem.
    bạn đọc đâu thông tin này vậy chỉ mình để viết 1 số ứng dụng chạy trên symbain với. chưa thấy ai chạy đc hết. Chắc tại gà quá ::(.
     
  13. darkxiiindp

    darkxiiindp Mr & Ms Pac-Man

    Tham gia ngày:
    20/5/07
    Bài viết:
    170
    Bản Express phải đăng ký nhưng là đăng ký miễn phí, điền email nó send serial cho. Nó không có 1 số tính năng cao cấp như các bản phải bỏ tiền mua khác, nhưng bản thân nó không hề gây ra cản trở nào. Những thứ không được hỗ trợ khác có thể dùng 3dr party tools, tất nhiên không thuận tiện và tốn thời gian hơn mua bản trả tiền. Không ít công ty nhỏ vẫn dùng bản Express làm việc. Hiện tại nhiều hosting provider dùng cả SQL Server Express.

    Bạn chưa chứng minh được .NET thiếu ổn định. Chứng minh nó thiếu ổn định còn được, chứ nó ổn định rồi làm sao chứng minh được. Chẳng nhẽ lại bảo nó ổn định lắm rồi, không có vấn đề gì?

    Công ty viễn thông: bạn lên mạng search dotnet Telecommunications sẽ thấy hàng đống công ty tuyển lập trình viên dot net về làm các hệ thống viễn thông.

    .NET chạy trên Symbian: http://www.redfivelabs.com/ Có thể đọc thêm cái này http://developer.symbian.com/main/documentation/books/books_files/pdf/NET_booklet.pdf
     
  14. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    bản Express focus vào học tập, nên nhiều công cụ ko có, ví dụ asm ( hình như là bản SP1 nó cho vào :-? ), MFC, các lib liên quan đến DirectX SDK, Window SDK và nhiều SDK khác, vì vậy nói chung là bản Express ko dùng để lập trình 1 cách chính quy được.

    Sai rồi, các ngôn ngữ càng mang tính hướng đối tượng cao thì càng chậm ( trong congdongcviet đã có test giải 1 bài toán = hướng đối tượng và cấu trúc thông thường để so sánh thời gian rồi )


    Tớ thấy học NNLT nào là do việc làm của mình là chính, vì việc làm quen với 1 NNLT mới ko mất quá nhiều thời gian khi mình đã nắm chắc 1 NNLT khác. Trên quan điểm cá nhân thì tớ thấy học mảng C/C++ hoặc .Net sẽ có nhiều cơ hội việc làm hơn ( thực tế )
     
  15. darkxiiindp

    darkxiiindp Mr & Ms Pac-Man

    Tham gia ngày:
    20/5/07
    Bài viết:
    170
    Mấy cái MFC, DirectX SDK, Windows SDK đều download về và làm với bản Express được, nhưng phải config thủ công, khá mệt nhọc. Bên mấy nước giầu bản VS đắt nhất là TFS cũng chỉ tốn tiền bằng 1, 2 tuần họ làm việc chứ mấy (đấy là tính mua lẻ, lương nhân viên thường), chưa kể công ty toàn chơi cả cục MSDN, mua lại càng rẻ hơn. Nên đúng thật là họ mua TFS dùng cho sướng chẳng việc gì phải mua việc vào người mà dùng Express. Chỉ có dân nghèo như ở Việt Nam mới phải dùng Express trong trường hợp muốn tôn trọng bản quyền. Sinh viên bên họ cũng được tài trợ dùng Pro miễn phí.

    Performance giữa C++ và C# thì chắc bạn không theo dõi vấn đề này. Cách đây mấy năm, thời .NET 2.0 mới ra đời đã có cuộc chiến C# vs C++ về performance ầm ĩ trên mạng. Sau lần đó managed code đã được tôn trọng hơn trước rất nhiều.


    Chương trình viết bằng C++ trải qua 5 lần optimize mới chạy ngang bằng với chương trình managed C# nguyên gốc chưa optimize. http://blogs.msdn.com/ricom/archive...ce-quiz-6-optimizing-the-managed-version.aspx

    Lần thứ 6, chắc lão viết C++ cay quá nên giở trò này:

    http://blogs.msdn.com/ricom/archive/2005/05/19/performance-quiz-6-looking-at-the-sixth-cut.aspx

    Mới ăn được C#, nhưng thực tế chỉ ăn được dựa vào thời gian cool start chậm, đặc điểm chung của .NET khi phải load các lib và compile trước khi chạy.

    Về lý thuyết umanaged chạy nhanh hơn managed nhưng nó chỉ là lý thuyết. Compiler đóng góp một phần rất lớn trong vấn đề này. Compiler tốt sinh mã tốt chương trính sẽ chạy nhanh hơn rất nhiều. Đây là mặt mạnh của .NET. Nếu bạn cài những chương trình .NET như Paint.NET nó sẽ có tính năng tối ưu hóa dựa vào phần cứng của máy, tối ưu các tập lệnh CPU hỗ trợ... cái này C++ không làm được.
     
  16. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Vì C# nhanh quá nên người ta toàn dùng C/C++ viết game chạy cho nó vừa đủ cấu hình máy :D

    Download về được nhưng mà mặc nhiên ko dùng hết được vì 1 số lib của bộ SDK nó dùng những thứ có trong bản Pro
    Ví dụ bạn thử compile cái này = Express xem nào :-?
    http://code.google.com/p/pcsx2/
     
  17. darkxiiindp

    darkxiiindp Mr & Ms Pac-Man

    Tham gia ngày:
    20/5/07
    Bài viết:
    170
    Ví dụ bạn nói MFC, DirectX không dùng dược với Express nhưng mình search có vài giây là có cách dùng ngay này:

    http://www.burninghands.net/2006/04/01/vcexpress-with-directx-sdk/

    http://www.codeproject.com/KB/MFC/MFCinVisualStudioExpress.aspx

    Ví dụ mình đưa ra để chứng minh C# chạy nhanh hơn C++, người ta test rồi. Bạn phản bác hơi thiếu lập luận đấy. :D Link mình đưa bài trước 2 phe C++ và C# đều thuộc hàng chuyên gia, trận chiến đó thuộc hàng ầm ỹ hồi năm 2005 rồi. Chưa kể bao nhiêu người đọc nữa, nếu tác giả viết chỗ nào chưa tối ưu lắm họ đã kêu rồi.

    Game programing nó đâu phải chỉ một ngôn ngữ mà xoay chuyển được tình thế, bao nhiêu sdk, engine đỉnh cao đều nằm ở C/C++ hết. C# thì nhà quê mới lên tỉnh được vài năm, performance trong .NET 1.1 dở tệ, 2.0 mới đột phá. Cần phải có thời gian để C# phát triển. Hiện tại cũng đá có 1 số engine .NET rồi.

    Mình cũng khá quan tâm đến vấn đề performance của .NET nên có đọc một số bài về vấn đề này. Nói 1 cách công bằng game viết bằng C/C++ thường nhanh hơn C# khoảng 5% do compiler/code được optimize rất tốt. Có câu: "A well designed C# program is more than 90% as fast as an equivalent "well-designed" C++ program." C++ để có được cái well-designed thì cực khó. Vì thế đối với đa số lập trình viên thì C# nhanh hơn C++. Để C++ có được performance như C# thì công sức bỏ ra trong nhiều trường hợp là không đáng và phí phạm.

    Theo mình tương lai game người ta cũng dần dần dùng C# nhiều, hiện tại sách, tài liệu hướng dẫn viết game cho C# bắt đầu xuất hiện kha khá, engine cũng đã có 1 số. XNA, Managed DirectX, Orge cũng có... Trước đây C mới ra đời chả bị dân ASM chê chậm đấy thôi.

    Compile cái kia thì mình không thử được, máy mình cài bản Pro chứ không dùng Express, nhưng mà mình đọc thấy trên chính trang PCSX2 họ cũng có hướng dẫn compile bằng bản Express đó: http://code.google.com/p/pcsx2/wiki/CompileGuideForWindows
     
  18. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Chỉ compile file exe = Express, còn compile cả project = Express là ko thể, tải cái Express mấy chục phút là bạn có thể thử ngay.
    Nếu phải config tùm lum mỗi SDK 1 tí thì cũng mệt nhỉ, hồi trước có cố gắng thử fix mấy cái thiếu lib nhưng sau 1 hồi fix lỗi này ra lỗi kia thì gặp đến 1 lỗi mà hầu hết mọi người nói là Express là ko thể.
    Trong các cách fix lỗi lib trong Express thì chủ yếu là tìm lib từ các phiên bản khác ( ví dụ asm trước đây phải tự copy từ bản VS2005 )

    Trong tương lai, ít nhất là trong tương lai công việc mình thì cross-platform mới là xu hướng thời đại. C/C++ nó ở mức thấp hơn nên nó mềm mại trong việc porting, chứ ai lại đi so tốc độ của những chương trình thông thường viết = 1 managed compiler. Chương trình .Net gần như ko thể port sang các HĐH khác ( Mono cũng ko thể ) vì dùng 1 lượng lớn Windows API.
     
  19. tiamo25

    tiamo25 Mario & Luigi

    Tham gia ngày:
    15/4/05
    Bài viết:
    898
    Nơi ở:
    Sydney, 2166
    Tui thấy C# thì dễ học và dễ code hơn Java.Còn về điểm mạnh và điểm yếu thì ko có cái nào hơn cái nào đâu
    Chẳng qua là Microsoft tiền nhiều quá nên nó improve công nghệ mạnh hơn thôi :D.Ngoài ra C# cũng có thể làm ăn đc với MySQL nên tính ra cũng nhẹ nhõm.
    Tui chọn C# cho nhẹ nhàng ::)
     
  20. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Java dùng máy ảo, nên độ liên kết sâu vào hệ thống kém C, tốc độ kém, nhiều thứ kém, nhưng bảo mật và an toàn hơn, chứ C/C++ có ai nhiều tiền đổ vào đâu mà nó vẫn cứ mạnh
     

Chia sẻ trang này