What went so wrong?

What went so wrong?

Other urls found in this thread:

gnu.org/philosophy/java-trap.html
twitter.com/NSFWRedditGif

Oracle.

Oracle

Oracle, OP.

Oracle.

One rich asshole called Larry Ellison.

User side webapp technology was a joke. Java applets and shit.

I don't really understand the hate. It serves a particular purpose, like any other language.

Which is? If you care about performance, Java is much slower than C/C++. If you don't care about performance, Java is much more verbose than Python.

Java serves no purpose whatsoever, the whole "write once, run anywhere" is bullshit and not applicable 90% of the case unless you write extremely generic code. Java is just a giant money grab, companies use it because it's an "enterprise language" (whatever the hell that means), and Pajeets use it / pay for a fucking certification because they think it'll land them jobs on said companies.

Ah, I thought it was supposed to be portable, so to speak. Why doesn't it run anywhere?

Nothing.

The Java language is more powerful and efficient now than it has ever been.

People don't like to change because Uni students can't be bothered to utilize Java's libraries or write the most mundane of lambda expressions.

Are you mental?

The entire Android operating system lies on Java. With over 1.4 billion devices...

literally perfect

That's a big reason why Android is so fucking terrible. Luckily Google will be starting to migrate off of Java later this year.

the JVM was a good idea on paper and is a poor idea in reality. lots of memory and long startup times are characteristic.
as for java the language, i don't like how it shoves everything into a class.

>i don't like how it shoves everything into a class.
what ?

Not having open curly bracket on a separate line

The bloat. Who needs a date class to load like 12 different ways to write the names of the months into memory?

in, say, Python, you can have functions outside a class definition. in Java programmes ARE class definitions and you must write your entry point main() as a method.

It serves its purpose very well.

It's purpose is to please upper management types. They want lots and lots of code even if its useless boilerplate and they want the people to write it to be expendable and replaceable.

Yes, Java is very popular, no one is denying that. That does not make it a good language.

Java was chosen for Android because it was popular, and generally safe, i.e. harder to exploit compared to C++.
Basically by choosing Java, Google managed to attract a big number of developers to write software for Android, and since most of them are unqualified Pajeets, Java also prevents them from writing terribly insecure applications.

It still makes Android applications run much slower than they could, compared to iOS ones which generally are running on weaker hardware (iPhones) but are much faster because they're written in C-like languages.

what the fuck did you expect from an object oriented programming language ?

Python is object-oriented...

No, Python SUPPORTS the object oriented programming paradigm.

Google's also migrating off Linux to Fuchsia. Just saying.

>He doesn't use Kotlin

>harder to exploit compared to C++.

Because Linux is terrible.

Rust and Go exists because writing non-shit C and its variant code is very hard. Most exploits simply look for a common variety of attacks in a bunch of different places, because even when you know what you're doing its still easy to fuck up

>What are buffer overflows?

This person doesn't know what they're talking about. It'll run anywhere theres a JVM as long as you use the stdlib for everything + have a dependency manager like maven/gradle.

Java is safer than C++. That's a fact.

I'm talking as a C++ programmer. If you disagree that Java sacrifices performance for safety in contrast with C++ then you're talking out of your ass.

That will take much longer. Dart and Go will be integrated into Android like they are integrated into Fuchsia later this year.

While it's true that Java's a lot slower than C/C++, much of this is not due to the extra checking, but due instead to the fact that C/C++ classes and structs can contain other classes/structs while Java objects can contain only references and basic types. This gives C/C++ programs typically a more cache-friendly memory use regime, which is the most important optimisation you can do for modern CPUs.

I don't see any reason you can't have a version of Java with the same safety guarantees but more control of data structure layout, and it'd perform much better.

You're describing are value types, supposedly comming in Java 10.

It won't be a silver bullet though. C# has them but is still ditched for something without GC for most real time applications.

No one bothered with java because it it such a a horrible hack of shit. Java is only used because idiots can write a bloated piece of shit where no one cares about anything other than "getting it done".

Java represents everything wrong with the state to software engineering. No one bothers optimizing shit anymore. Everything is massively bloated in every language now because no cares to write good code because our hardware can handle it , but that is no excuse.

100MB browsers using a GB+ of RAM to run one tab of Sup Forums. 20+ GB games that run like fucking shit. Torrent clients 40MB in size running 100+MB.

Fuck you lazy programmers.. You can do better like your elders, but instead just write whatever compiles.

In my testing, the c# vm is just shit at optimising.
Made a simple test program as near as I could identically in c++, java and c# (Brute-force solving a suko exercise in a newspaper).

C++ (gcc -O3 -flto) did it in 3 secs
Java 5 secs
c# did it in 15 seconds.

So what will happen when unqualified pajeets start writing apps with c++? Android will end up like iOS.

>No one bothers optimizing shit anymore
Yeah true, nothing like it was back in the day.
But I still have 10gb of RAM ready to be wasted, not a big deal when content/features become the priority. Hogging CPU however.... fuck that.

People need to stop with the too mucn memory circlejerk when it has gotten so cheap and if you run out of 8gb of ram you fucked up many times.

It's as if people on Sup Forums think everything is programmed for a fucking EEE pc.

>Java is much more verbose than Python
How is this a problem? Having to be explicit can make some things easier in the long run.

In general I agree, and would like to see more of an emphasis on efficient code, you have to draw a distinction between making a product and corporate programming.

The majority of the world's programmers aren't doing a product - they're working on some internal billing/automation system for a corporation, and in those cases it's quite dubious whether going to big lengths to optimise is cost efficient.

It's a commonly cited fact that 75% of the cost of programs is in debugging and maintenance, not the initial writing. If you can cut short the debugging by specifying rigid types as the cost of some time spent specifying those types, it's generally a good tradeoff for small-audience projects like corporate internal shit.

>no cares to write good code

I dare you to spend a week using 20 year old software that fits comfortably in 16MB ram.

Afterwards, come write a post about how wrong you were to think that old software used less memory because it was well written.

part of this problem is most companies are unwilling to pay for quality anymore.

But Scala, Kotlin, Swift, etc show you can get all the goodness of type safety without the verbosity all the time. After using all of them I don't see any reason for a new dynamically typed language that isn't exclusively used for scripting

>weaker hardware
>iPhone

>Can't use NFC in the year 2017 except to give Apple money

Android would go to shit. Which is why Google has decided on Java.

Basically Java is the best programming language to save bad programmers from themselves. Otherwise, it's an awful programming language.

>NFC can make apps run faster

Java is comfy to program. I am going to keep doing it as a career until it dies and then i will do something else. So i will probably just write java forever. Imagine all the legacy systems i could work on in 30 years huehue

I'm gonna throw a wide guess here so bear with me:
You're a brazilian working in Alphaville - SP

Implement your own classes then nerd

Not even close baby

Cool it with the antisemitism pal.

Python is multi paradigm. It has Lambda functions and supports higher order functions. Java 8 brings those to the table too, but in a horribly convoluted manner.

Just curious, exactly what do you think is convoluted about them?

yeah lambdas in Java 8 is the easiest shit of all time

I haven't used it but my functional programming professor talked about it and showed how it was implemented. In my eyes it was basically taking functional-type procedures and shoving them into objects. I'm not referring to lambdas specifically, those are pretty straight forward, I'm talking more about the higher order functions.

Yeah passing functions in Java is the worst shit, especially a lack of currying

>Python is object-oriented...

Java is much faster than Python and is much faster to write than C++.

Month is an enum in Java you fucktard.
Do you even know how the language is stitched together?

In Java you use object pools to run realtime applications.
Not really a fun exerience, but it has been done (for some reason).

Those browsers, torrent clients, games, etc. are written in C++, the language a bunch of faggots are currently deep throating so hard one would suspect them of being diabetic, and sepples' cum had insulin in it.

Have you seen retards trying to do "difficult" things in Java? It's not saving them from themselves, it's saving the rest of us from them.

Since Java has objects, it has essentially made function-objects that can be passed around.
This allows you to do disgusting things, but you're not forced to do them.

The only real annoyance so to speak with Java's functional interfaces is that they can't throw checked exceptions.

But you can curry a function in Java.

>What are smart pointers?

Oracle

>It still makes Android applications run much slower than they could, compared to iOS ones which generally are running on weaker hardware (iPhones) but are much faster because they're written in C-like languages.
And this is why I choose to use a weaker iPhone rather than a latest gen Android device. All of the power of the Android device's hardware is going to get fucked by the massive overhead required to execute Java code on it.

And don't get me started on Android's software support timeline. 18 months of "all or nothing" updates is a total joke when Apple is backporting as much as they can to 3+ year old iPhone models.

>Luckily Google will be starting to migrate off of Java later this year.

Source?

> you don't know that Java is the most in demand language world wide
> you don't know about the Java EE server/backend world
> you don't know about the Java Spring framework
> you don't know about semi-embedded industrial Java applications
> you don't know about JPA/Hibernate
> you don't know about JSF
> you don't know about Java HFT applications
> you don't even know about Android
L-i-t-e-r-a-l-l-y the most in demand language besides JavaScript.

>tfw the meme answer is also the factual answer

The retarded paradigm of forcing EVERYTHING to be a class. You end up having to fit your problem around the language. Fortunately, Clojure is here rescue the JVM from object-oriented insanity.

Nothing, in fact things with Java went very right

Java is actually a successful platform, despite what some people on Sup Forums, stack-overflow, and reddit try to imply.

Not perfect obviously, but more than good enough and with many real world usage successes. A valid criticism would be that Java isn't ambitious enough and hasn't got enough academic interest (which is by design) but despite that Java is probably the most common language universities teach. But surely this can't be the reason Java is being constantly attacked.

Java is good now even by GNU standards

>gnu.org/philosophy/java-trap.html
>Since this article was first published, Sun (now part of Oracle) has relicensed most of its Java platform reference implementation under the GNU General Public License, and there is now a free development environment for Java. Thus, the Java language as such is no longer a trap.

I don't think the "Java is bad" meme is a product of ignorant memers but it is another organised MS shilling operation. Especially because Java attacks are followed by promotion of C# and .NET (while overlooking their problems - MS/Windows only environment, license problems, bloat) and because they are attacking successful Java use-cases (embedded, mobile) in an attempt to promote substandard MS products (Windows embedded, Windows phone, UWP, etc).

>tl;dr;
The next time there is an attack on Java keep in mind it might be the handy work of paid MS operatives (shills)

>Java is good by GNU standards
Anything that is FREE AS IN FREEDOM is good in GNU's book, even if it's a free pile of steaming shit.

I literally dont know what to think, when i remember java programs such as jdownloader i get sick, they were amazingly slow. On the other hand the language itself seems ok

what in the world

it just works™ so the arch kiddies hate it

>Java was chosen for Android because it was popular

No it wasn't Java was chosen because Andy Rubin wanted a language/platform that could run on multiple architectures as easily as possible. Android Inc. was then bought by Google.

ugly UI

> He doesn't use native look and feel!

It's a single setting. It's well documented. There's probably even a shitty StackOverflow question that you can copypaste. You have zero excuses.

I never understood why JSF is so fucking beloved, as opposed to say Thymeleaf.

>2017
>not using javaFX
>ISHYGDDT

Is JavaFX still closed source/non-free software, like the rest Oracle added?

Oracle "gave up" on javaFX and gave it to the OpenJDK.
The project is now called OpenJFX.
The library for javafx still goes into the newest JDK and JRE with the exception of ARM versions.

What did they do wrong concretely?

They claimed APIs could be patentable, copyrightable or trademarkable, I don't remember, either one is bullshit of course.

cool, but wtf is the openjdk web page that slow? is it hosted on a rasppi?