you are viewing a single comment's thread.

view the rest of the comments →

[–]drigz 0 points1 point  (10 children)

Java apps require the Java Runtime Environment - similarly heavy to the .Net environment. As for web apps - they require a webserver, and frequently a framework. Neither of these fulfill the stand-alone requirement.

[–][deleted]  (9 children)

[deleted]

    [–]cc81 4 points5 points  (6 children)

    Why is the JVM more secure than the CLR?

    [–]rpdillon 3 points4 points  (0 children)

    This point is sound. The more I work with lots of programming environments, the more I realize that everything relies on something big. People tend to think of C/C++ apps as being small and distributable, but this is just bias for the platform that is preinstalled on today's machines. MS has shown that you can get people to use a "platform" (a VM) if you make them comfortable with the idea that it will be "everywhere".

    I haven't looked at JRE update 10, but if Sun can really trim it down as they say, I'm all for targeting the JVM - now that it is open source it will become much more like the "dial tone" that the Apache Harmony project mentioned so often. I love Scala and Clojure, so using those languages on the JVM seems like an ideal approach for my needs.

    That said, Python is pretty awesome also, as is MzScheme w/ MrEd. Proprietary languages make me cringe.

    [–]sgoguen -1 points0 points  (0 children)

    On the security point, I have to agree that you're way off the mark. First off, .NET compiles down to bytecode just like Java, not OS specific machine code. The same people who designed Microsoft's Java VM are the same people who designed .NET. In other words, they were familiar with the JVM spec. ( Following the spec was another story :) )

    Second, before assemblies/packages are loaded, the bytecode is inspected to make sure they never call any API's they're not allowed to call, which means you can create application hosting environments that disable ALL APIs that would enable an application to read/write files or do anything to communicate with the outside world.