Question:
what is better "java" or ".net"? and why ? and after that?
anonymous
2007-07-29 23:47:19 UTC
what is better "java" or ".net"? and why ? and after that?
Four answers:
angel04
2007-07-30 02:15:13 UTC
26. Better Support for Peer to Peer Networks

Java is used extensively to build Peer to Peer (P2P) networks. There are open source java implementations of the gnutella protocol. JXTA is an emerging standard for P2P networks and uses Java as its prototype implementations. Limewire and Kazaa downloaded hundreds of millions of times are written in Java and are among the more popular P2P clients available to date.

27. Pure Java Relational Databases

There are several relational databases that are implemented in Java, these are Pointbase, HSQL, Instantdb, Firstsql and Cloudbase. These are important in that they allow you to deploy a database everywhere you can deploy Java. Some of them even allow Java types to be used in the database. Another additional benefit they are much easier to install than a traditional RDMS. There are no equivalents of an RDMS written in .NET languages like C# or VB.NET.

28.Standardized Security

Java has a standard way of providing Authentication and Authorization (JSSE). The choices in .NET is limited. In fact, a well published bug in the way IE handled digital certificates required a service pack to fix.

29. Safer Third Party Libraries

Java libraries are assumed to be 100% pure Java unless otherwise noted. .NET libraries may come in native code or IL. Native code libraries have a likelihood to make a software system unstable and insecure. In fact its not clear what percentage of code in the core .NET libraries compile to MSIL. In the .NET world the concept of safe library code is deliberately ambiguous. Rather than tell you that Windows.Forms is 90% native windows code, Microsoft prefers to be silent about it, and hope that you buy their portable and safe argument.

30. Resusable IDE Frameworks

Netbeans and Eclipse are reusable GUI Frameworks that can be leveraged in building your GUI application. This means less time building your GUI framework, and more time building the core of your application. You can't find something similar in .NET.

31. Open Source Structured Diagram Editing Frameworks

There are many open source structured diagram editing frameworks in Java (i.e. GEF, JGraph, JHotDraw) that can be reused and embedded in your application without cost.

32. More Parser Generators

There's is more mature support for generating parsers in the Java world, some options are JavaCC, ANTLR, Sable, JavaCUP and JFLex.

33. Aspect Oriented Programming

Grady Booch co-creator of UML states "If I were to look into my crystal ball in terms of the next generation of programming languages, my guess is it would be an aspect-oriented language, and my further guess is the UML itself could be a reasonable aspect-oriented language." AspectJ is a compiler that supports aspect oriented programming (AOP), it has been available for Java for several years. There is no equivalent to AOP in the .NET world, some may say that .NET attributes are the same, however that is an oversimplification.

34. Model-2 Architecture

Model2 architecture promotes separation business logic and presentation logic. This leads to a more reusable and maintainable web applications. Such a concept is competely foreign to .NET.

35. Web Servers written in 100% pure Java and Open Source

Webservers like Tomcat, Jetty, Resin and Orion are written in Java unlike IIS which is written in something other than a .NET language. The benefit is that customizations and extensions are easier.

36. Microkernels and Services Frameworks

Many of the servers developed in Java are based on a JMX microkernel architecture. This means easier configurability, manageability and ultimately lower total cost of ownership (i.e. TOC), something completely absent in .NET.

37. Application Servers

Application servers help develop highly scalable implementations, the concept of an application server is missing in .NET, the equivalent however may be .NET server however its release has been delayed 3 times and its anybody's guess when it'll come out. Hopefully it gets released before your "Software Assurance" expires.

38. Tag Libraries

Tag Libraries are standard and safe way of encapsulating code for use by Web designers, unlike ASP.NET where it is common practice to intermingle code with HTML.

39. More Embedded Expression Languages

There are several expression languages that you can use to make programming easier. The most familar to most is support for regular expressions and support for XPath queries. However, the Java world has JXPath which supports xpath like queries across plain old java objects.

40. Pure Java Script Languages and Embedding

There are several scripting languages that are written in Java. These implementations allow you to seamlessly embed these scripting into a final product. These don't exists in .NET because of the CLRs limitations in supporting dynamic languages. Some examples of scripting languages that have been written in Java are JavaScript, Python, DynamicJava and BeanShell.

41. More Web Service Deployments

A recent survey shows that 53.3% of webservices implementations are done on J2EE as compared to a dismal 33.7% on the .NET platform. This given the fact that .NET is supposed to be a platform designed and tuned for webservices.

42, Sophisticated Logging via Log4J

Log4J is a sophisticated logging library available for Java that has no parallel in .NET.

43. Distributed Caching

There are multiple vendors and open source projects that provide distributed caching (i.e. SpiritCache, Coherence, Gemstone, JCS, Oracle). Distributed Caching solutions are unavailable in .NET. In fact "Centralized Caching" for .NET is in one site's wishlist.

44. More Alternative Messaging Implementations

There are more messaging implementations that are supported in Java, furthermore, they are supported by a standard API (i.e. JMS). What this means is that you can choose the best messaging product for your situation. For example, Tibco is used for high demand financial markets, iBus supports wireless environments, Sonic can bridge Mail and FTP messaging. With .NET you only have one choice, however, there are JMS vendors that can also bridge to .NET.

45. Write Stored Procedures and Embedded SQL in Java

You can write Stored Procedures in Java for Oracle, DB2 and Sybase to name a few. Java has a standard way of embedding SQL called SQLJ, which is supported by Oracle, DB2, Sybase and Informix . In the .NET environment you write a stored procedure using TSQL, which doesn't look anything like C# or VB.NET!

46. Better support for Lightweight Persistence

There are serveral lightweight high performance persistence libraries written for Java, some examples are NDBM, Jisp and JDataStore. This is useful when your application does not need to bundle a full fledged relational or object database. You cannot find a similar lightweight persistence library that's written in C# or VB.NET.

47. Open Source Java Compilers and Parsers

There are several open source java compilers, many written also in java (i.e. Jikes, Eclipse, AspectJ, Kopi, Kiev) that make it easier to develop tools like Auditors, Metrics, Code Coverage and Refactoring. Furthermore, it makes is easier to develop embedded languages like SQLJ.

By contrast .NET's CodeDOM assembly isn't able to parse .NET languages like C# or VB. It can only generate code, however what real gain is that, when writing out strings will suffice?

48. Hardware Support

There are multiple vendors that have hardware support for Java in their microprocessors, the most notable of which is ARM which holds a commanding position in PDAs and Cell Phones. The ARM Jazelle technology provides a highly-optimized implementation of the Java Virtual Machine (JVM), speeding up execution times and providing consumers with an enriched user experience on their mobile devices. (http://www.arm.com/armtech/jazelle?OpenDocument). Other vendors include Nazomi and AJile.

49. More Licensing and Support Options

Because there are more vendors supporting Java, you have a choice of which licensing scheme fits your business model. One good example are the licensing schemes available for Application Servers. Oracle has per user licensing, IBM and BEA have per server licensing, Macromedia has a scheme to support embedding, JBOSS has a free license with support that can be licensed. In contrast, .NET Server will only be per user licensing.
anonymous
2007-07-30 00:04:49 UTC
.net is Microsoft, but it's public, free for the 9 gig download. .net was designed to be language and/or script neutral. You have to now the handles to the functions. Several ongoing open source projects underway to harness the .net libraries which do everything Windows is capable of and let other platforms use it. The 9 gig .net library has to be installed on the platform running it to make even a .net button functional.



java is, in essence, a 5 meg library which we call the Java Runtime Engine. End users must have the platform-specific JRE onboard their computer to run a "transparent" language. Java code is written for the engine and not the platform. Java recently went Open-Source and with the hope that thousands of programmers can improve the Java libraries. .net, on the the other hand, is proprietary to Microsoft. We can use it, can't change it.



In my opinion, I think the scripting languages will be the "glue" that can tie together crazy things like a database with an imbedded circuitboard. I think the future lies with things like Python, RubyOnRails, ECMAC, Groovy. Computer science has archived a lot of useful binary code. The scripts can make coding much faster if we use those libraries.
sultan m
2007-07-30 00:31:09 UTC
JAVA

usability : Compile one's run anywhere.



performance: on first time complie it will be slower but after that when ever your run the java application you will find its working more faster.



portablility: Can take class file (java complied file) and run any where on any Operating System and on different computer vendors products its will result will remain same.



Cost: cost of java projects is almost ten times higher then cost of .net projects because of its relability and platform independent capabilities.





.net

Cost efficient : projects having low costs.



Rapid development: can build big applications with easier tools.



Understandability : Novoice user can learn any .net technology easily(no programming back ground needed).



Dependent: Can only run .net applications on Microsoft Operating System.
Vera
2007-07-29 23:58:08 UTC
Java is platform independent, so you can run it on Linux as well. .Net is newer and needs Microsoft's Framework for it.



I prefer .Net however, because it offers more programming facilities, plus its help is better organized. You have msdn, while with Java you just have a lot of forum topics.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...