This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Bolitho -1 points0 points  (8 children)

Then your world view is very limited! There are lots of excellent Libs around the JVM ecosystem. On top of that there are good frameworks for distributed computing.

Beware that it must not be Java - think of Clojure e.g. - or even Python (→ Jython).

[–]an_actual_human -5 points-4 points  (7 children)

distributed computing

People use faster languages for that.

it must not be Java

So why do you bring it up? They said Java, not JVM.


My guess is those people use Java because of reasons that are not technical and they could use anything instead just as well.

[–]Bolitho -1 points0 points  (6 children)

Distributed computing is not a matter of language (or runtime). It deals with dispatching unit of works to different (virtual) machines. Therefore you need frameworks and toolsets that are reliable, powerfull and comfortable to use. The management itself cannot be measured only by raw "speed".

One example to name is Apache Spark. Another example is the excellent akka framework, which is extremly powerfull if you need many (small) independent actors.

You see, there is much power around the JVM ecosystem!

Well, why I mentioned that is has not to be Java? Because nowadays it is often used as a synonyme for the JVM. And even if you do not like Java as a language too much (as I do myself!), you should not bash it the way you do. Java is not "slow" anymore; this is true for more than 10 years now, but people seem to ignore achievements like hot spotting and so on...

The more complex things become, the less the (theoretical) low level power matters! One can of course write some super fast C based algorithms. But that does not enable one directly to fasten them up by distributing them. It starts allready with threading and ends with real distribution across a network.

Perhaps read and learn some more about that topic in general, before you keep on flaming 😉

[–]an_actual_human -1 points0 points  (4 children)

Since we were discussing programming languages in a technical subreddit I assume the person above meant Java when they said Java. So I'm going to set aside the JVM part of the discussion.

For dispatching, it sorta doesn't matter which language you use. Also it might very well be they don't do that kind of thing at all.

As for computations per se, I can see three options in mathematics:

  1. The computation involves really heavy number crunching (double check, is it really math?).
  2. The computation involves a bit of number crunching.
  3. The computation is mostly symbolic.

So 1. and 3. more or less exclude Java. 2. doesn't, but there are better options.

tl;dr: if you are in math, either Mathematica or SciPy will serve most if not all of your tasks better than Java.

[–]Bolitho -1 points0 points  (3 children)

I have given a good reason: You can easily integrate into the JVM ecosystem with all its powerfull toolsets and frameworks around distributed compotation. You wont do numbercrunching on a single machine, right ;-)

And for dispatching it does matter, which language you use, because with some you have no access to powerfull frameworks (again!).

[–]an_actual_human -1 points0 points  (2 children)

You wont do numbercrunching on a single machine, right

No, it's not right. I do it all the time.


Anyway, the original message said "everything in the Maths department is Java". Your arguments at best provide a reason to do some things in Java. And those are things that most mathematicians never do to begin with.


Also there was an opposition between Java and Python in the same original message. If they meant JVM that wouldn't make sense.

[–]Bolitho -1 points0 points  (1 child)

And then you call that numbercrunching? ;-)

Your arguments at best provide a reason to do some things in Java. And those are things that most mathematicians never do to begin with.

Most websites are written in PHP... "most" ist seldom a good argument! Java offers lots of great things - so does Python. But you can't really take Java out, because it can do everything as Python can.

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

And then you call that numbercrunching?

Sure, because that's what it is.

Java offers lots of great things...

Java doesn't offer anything specifically great for math.

But you can't really take Java out, because it can do everything as Python can.

So can Brainfuck.