Oracle to open source Arm jdk 9


In my opinion it really doesn't matter, if Java is number 1 or number 5 in whatsoever Ranking. But degrading the language as a beginner-only programming language is simply a misleading and wrong Statement. There might be some students who say "I won't learn Java, because that one guy, who is a good Programmer, on that Forum of the awesomest device of the century, said the language is sh** " This would be a shame... ;-)
 
But degrading the language as a beginner-only programming language is simply a misleading and wrong Statement.
I never did that, I merely wanted to pinpoint that it is by far the most popular choice that schools, universities and the like do when it comes down to beginner's programming courses. You're just being overly defensive about your favorite language and see malicious intent everywhere, I haven't criticized Java itself anywhere in this thread.
 
I never did that, I merely wanted to pinpoint that it is by far the most popular choice that schools, universities and the like do when it comes down to beginner's programming courses. You're just being overly defensive about your favorite language and see malicious intent everywhere, I haven't criticized Java itself anywhere in this thread.
Somehow I got the feeling that he meant Linux-SWAT.
 
Still, I wonder how he pulled all that from just "it's a good language for students" - there's nothing negative about that.
 
Still, I wonder how he pulled all that from just "it's a good language for students" - there's nothing negative about that.

Yes you're right, j Interpreter a little bit too much in that Statement of user "Linux-SWAT". It Sound for me like this is the only use of Java in his opinion.

I personally think Java is a bad language for learning programming. It' s "transparent" Pointer handling is the Problem here. I think Pointer are a really important concept, and many Students/pupils learning Java instead of e.g. C/C++ habe a hard time to grasp the difference of call-by-reference and call-by-value.
 
I personally think Java is a bad language for learning programming. It' s "transparent" Pointer handling is the Problem here.
In my opinion you have to use a dual system, not just because of pointers. One reason that C lacks all those often criticized safety critical features (like a proper type system etc) is simply that it was developed with the ambition to leave the full control to the programmer, they were not included because they restrict the programmer. Start with C to get a feeling for what you are actually developing on (ideally without even using an IDE - know your toolchain) and then skip over to a more high level OOP language like C++ or Java to get a basic understand about OOP and why it even exists.
 
Still, I wonder how he pulled all that from just "it's a good language for students" - there's nothing negative about that.
"A good language for students" reads like "she's got a great personality". Double so when that "good thing" was immediately preceded by "bad things".
It's actually a fairly common verbal construct that's been used for decades if not longer: insult a thing, and then you basically drive the insult home by listing one (implied to be the only) thing it's good for.
"The story sucks, the controls are terrible, and the graphics make my eyes bleed, but it has a great soundtrack" - That is not a compliment any game developer wants to hear.
"VW Beetles may be impotent and cold in winter, but they're good on gas", ie, your car is garbage but you're saving the planet, ain't that cute?
Linux-SWAT's comment follows this construct: "It's insecure and inefficient, but it's good for students" with the implication that the *only* thing it's good for is teaching students. It's easy to see how someone could get confused, whether this was his intention or not.
 
I had no intention, only opinion.
I would _never_ use Java if I can avoid it.
As a high level language, today, I'll use Julia, nothing else.
 
As a high level language, today, I'll use Julia, nothing else.
For a second there, I thought "Julia" was some sort of variation of amazon's Alexa thingy xD Would give the phrase pair programming a whole new meaning... Nice language though.

I haven't used Java for a while because whenever I mentioned it/tried to get people to test my applications, I got a "Yuck, that's that thing that always wants to update!!!! So annoying! No thanks!". First time I understood the motivation behind the whole silent-auto-updater thing :D These days I stick to Python and C#, depending on the target platform/audience (I'm never ever giving support again to a "normal" Windows user who is trying to install Python).
 
C# is where it's at :) such a mature language and the cross platform open source story is almost complete. By the time the pyra is out it should just be a case of apt-get install dotnet.
 
IMO the language is one of the less important parts of teaching programming. C like languages might be less suitable because of surprisingly unintuitive syntax, but AFAICT they have worked fine for several generations of programmers. Java has the benefit of pretty complete and exact language semantics documentation. It is also one of the more simple dialects (at least until 1.4) with a reasonably well designed standard library (since 1.2).
 
4152732.jpg


;)
 
Just wait, soon the haskellfarts will arrive as well.

Pfff... the greatest language is obviously LISP.

Every statement or expression in any language can be represented by an AST. LISP code is written in SEXPRs, which is one of the simplest representations of an AST. A Lisp macro is a (typically compile-time) transformation of one AST into another.

Whatever language feature you come up with, LISP can absorb it by adding a library. The obvious downside is that every idiot is extending the language, even when not appropriate. Unfortunately, this is a real community killer.
 
One thing I dislike about Java:
  • Methods often take a reference to an Interface of some kind (Runnable, etc) as parameters
  • Programmers often use anonymous classes to provide those parameters
Those two things combined can lead to awful awful code. Granted, that's a bit the fault of the program design and programmers.

For instance, generics are safer than, for example, in C++.
While C++ can be a huge pain at times, those "unsafe" generics (and other features) can also be so useful.

For example a function/method taking a pointer (or better smart pointer) to a Runnable object (well a C++ equivalent):
Code:
void function(Runnable *runnable)
{
    // ... Do stuff ...
    runnable->run();
}

Using a combination of templates argument deduction and overload resolution something like this is possible:
Code:
void callback(int n);

int main()
{
    function(Closure::from(callback, 5));
    return 0;
}

Then function can invoke callback without directly knowing it's type signature. Closure is a namespace with several overloaded from functions which can create closures from various types of function/method pointers and bound argument combinations.

In Java the same would require to wrap the callback method into a class first (which the C++ version also does, but it's automatic). Problem is that each method needs to be wrapped in such a way which can get annoying. And anonymous classes become messy as mentioned above.

Lambdas solve the above issues for both languages, but only available with Java 8 or C++11.
 
If the jvm starts up quickly on the pyra that would be nice.
Maybe the unused rotator chip can be replaced with a JVM chip?


https://en.wikipedia.org/wiki/Jazelle

Jazelle DBX (Direct Bytecode eXecution) allows some ARM processors to execute Java bytecode in hardware as a third execution state alongside the existing ARM and Thumb modes.
Unfortunately, you have to pay to make use of it, so luckily it has been discontinued and the successor is ThumbEE.

On 23 November 2011, ARM Holdings deprecated any use of the ThumbEE instruction set, and ARMv8 and onwards totally removed support for ThumbEE.

tl;dr: no hardware accelerated Java execution...
 
Last edited:
Lambdas solve the above issues for both languages, but only available with Java 8 or C++11.
Yes, but C++11 is already "a couple" years old.

I never did a lot of Java, I had a language design course and Java was the example for Object-oriented languages.

Personnally, I like the way how Rust handles generics, it's sad that they don't accept constants.
 
Back
Top