Hacker News new | ask | show | jobs
by 8ren 5705 days ago
Java is Oracle stack, C# is MS stack, objective-C is Apple stack.

Is there an opportunity for an open language with similar VM ease-of-use/performance tradeoffs - or is hardware now fast enough for the ease/speed of dynamic languages to fill that gap (Python, Ruby, Javascript, ...)?

3 comments

I was under the impression this was/is going to be one of the side benefits of the Parrot VM.

Updated to add: Directly from the Mono Project website "An open source, cross-platform, implementation of C# and the CLR that is binary compatible with Microsoft.NET"

Now with F# on Mono...great things!

Java isn't just Oracle stack. It's also SAP, IBM, Red Hat(JBoss), VMWare(SpringSource) & Google stack.

The only thing you need from Oracle nowdays is JDK, and with OpenJDK becoming a standard - you need nothing.

Oracle owns Java. They will attempt to turn it into a profit center. The Google suit is one example. Another way is to make their database/s and products perform better, by integrating them more tightly with Oracle's version of Java (which includes BEA System's version) - analogously to MS making Office apps perform better under Windows.

Sure, it's against the concept of a public spec, and OpenJDK; and it might not work, or at worst fragment the Java standard and destroy much of its value - but I can't see how Oracle could help themselves from doing this. It's inevitable.

OpenJDK is not a standard. Java itself is not a standard open to third-parties, unless Sun/Oracle wants to.

It's not the JDK that you need from Oracle for Java to be a standard, but rather the JCK.

This issue is a couple of years old and hasn't been solved: http://www.apache.org/jcp/sunopenletter.html

Unless by "standard" you mean what everybody uses.

Notice the part where the released JDK is only available for OpenJDK.

How does that contradict what I said?

Haskell, Ocaml, and Scala? All are open languages, cross platform, and first two at least are Free. And Scala runs on both the JVM and .NET, covering all three platforms. Is that what you meant?
Not exactly: many languages are open; my focus was on the ease/speed tradeoff.

Haskell and the ml family only have ease-of-use for people who think higher order predicate calculi have ease-of-use - some of whom will vigorously argue that everyone should find them easy-to-use.

(I don't know enough scala to form a judgment, but I haven't heard it being touted as primarily having ease-of-use, in contrast to Python and Ruby.)

AFAIK the Scala .NET implementation is still pretty raw (though there's at least more activity on the project recently).
AFAIK, {{Scala actors and akka only work on hotSpot (there may be other language features tied to hotspot)

http://stackoverflow.com/questions/2987408/actors-in-scala-n...

There's only 1 guy working on it but he's been going at it furiously

http://lamp.epfl.ch/~magarcia/ScalaCompilerCornerReloaded/

(do they feel itchy about using the LAMP subdomain?

I think it has been decided that the JVM will always be the LCDenominator VM (e.g. implmentations on other VM's pretend type erasure is happening, for compatibility with JVM implementation)

}}

I believe by "haskell" you may mean "ghc"
Why? "Haskell" also works on hugs,yhc,uhc,... http://www.haskell.org/haskellwiki/Implementations Most implementations are BSD/GPL Licensed. Haskell itself (thinking of Haskell Prime, Haskell98) is a research/community driven project and, as such, open/transparent. For GHC there is even an intermediate format allowing you to run your code on stuff like llvm.
the original message was talking of specific "stacks", which in my understanding includes an abstract language and a concrete implementation (I'd say also some accompanying development tools: if not an ide, at least a repl, debugger, build system). "haskell" as such would not qualify, while ocaml, scala and ghc would.
ghc is the only industrially viable choice at the moment, though.
I did mean ghc, though I just assume everyone assumes you mean ghc unless you specify otherwise. GHC seems to be the standard.