Was Java a mistake?

Was Java a mistake?

Other urls found in this thread:

en.wikipedia.org/wiki/HotSpot#Maintained_by_Oracle
twitter.com/AnonBabble

yes

Anything past lisp was a mistake.

Lisp is bloat.

I program on an abacus, for the minimalist experience.

I don't even see the point of something between compiled and interpreted. Either you need performance or you don't.

The Java community argued for a decade that their approach would beat C++ performance because the JIT could dynamically optimize. They had a cult-like insistence on this. Turns out sticking a bunch of NP hard problems in the runtime isn't something that will ever work.

The JVM is nice for portability, and a lot of other languages are using it nowadays. Java itself is annoying to program with, but tutorials are pretty easy to follow.
I just spent a day trying to learn OO in Perl, and because there's no standard for it every tutorial is different. I'm starting to appreciate how simple Java's constructors are now, even if I don't like anything else

No, it just got managed very poorly. The system has some very deep-rooted problems which aren't being addressed because of its current...clientele.


I love those stupid fucks.
The entire language, framework, libraries, everything are constructed in such a way that you will make inefficient _designs_ compared to C++. That's why they're so fucking stupid. Are there cases where the JVM could be optimized in such a way that a specific java program is more efficient? Sure, but that java program would be going against every single design recommendation in java, and the software's author is going to get no support from anyone else because java is a fucking cult. Every response they get will be about OOP faggotry and "why aren't you using the latest hip&fresh OOP pattern? I think the XY factory rapist pattern would apply in this case because [...] but don't worry you'll only need to write 5 additional classes for each preexisting class in your current design."

At this point, if you don't know at least some java, you're the street that pajeet shits on.

No. MS fucked sun over with their shit implementation. A psuedo-interpreted VM language is actually pretty good idea.

No. If it wasn't for Java, the same retards would now write C++, which would be an even bigger disaster. Java was made to reduce the damage retard programmers can do and it's damn good at that.

makes a good point though.

Oracle was a mistake.

Oracle is 100% Jewish
Sun was pretty cool though

Honestly Java isn't that bad of a language. Most complaints I hear are about JVM (which isn't bad if you actually know what it does) or Oracle. It's just that it's often people's first language so beginning programmers abuse and misuse it.

more portable than compiling to machine language. faster execution than an interpreter.

that said I think JIT compilation and AOT compilation are the only 2 approaches worth living. Classical interpreters have almost zero benefits and lots of drawbacks against JIT, and interpreted code and JIT-compiled code are just as portable as bytecode


I have the opposite view. The JVM is a decent virtual machine that serves many languages other than Java, but Java the language has an overtly verbose C-like syntax. I can only tolerate C-like syntax when I'm using C. For a higher-level language like Java it becomes an annoying burden. If I could go back in time I would choose learning Clojure or Scala before Java any day of the week.

I juse clojure on openjdk 8 come at me

Regardless of anything else, the idea was noble, similar intentions to C with their "write once. run anywhere" model, they tried to make a language that was portable so that instead of learning few languages and then learning system specific thing on top of that to use in a language you just had to know Java, with that knowledge you could support everyone, much like my analogy to C but with higher level languages instead of assembly/machine languages, in a time when there were so many *nix variations as well as Microsoft doing their thing with NT, etc. it was noble and welcomed to see someone trying to unify the fragmented software development world, nobody had to be excluded because of knowledge or language quirks, no need to be locked in to anything specific, no need to worry about the portability of the JVM either since that was Sun's job, a company known for porting their products to competitors platforms because they believed in their own technology and had to prove its worth to everyone else.

Wow that's one giant run on sentence, whatever.

It's designed around Java and languages like it; this became painfully obvious when Clojure tried to add tail call optimization. Most "mainstream" languages are Java-like, but consider worldcitizen.png (I'd upload it, but apparently torfags can no longer upload on Holla Forums)


I bet you call yourself a lisper, corpsefucker.

Have a $10,000 gigabit poe 'smart' managed switch from a few years back, still runs perfectly well. Need to do some managing. The piece of shit's web interface uses some old ass version of Java from the 1930's or something. No way to run it, Java just flips shit when you try, cant add it to security exceptions, cant lower security requirements. Have to dig up some ancient xp laptop from a rubbige heap that has not been powered on in like 4 years, that java also flips its shit but I can at least lower security requirements to the point that I can force it to run.

Anything you wright in Java wont be runnable in a year or two. All java programs should be considered disposable, never ever fucking ever tie a product to java code. It really is a meme programming language. You will be forced to constantly manage your old code. I have c code I wrote for windows 98 that runs in windows 10 just fine. You just cant do that with Java. Java a portable language for when you want a program to not run on any os at all.

Use SSH or serial like a normal nerd.

Cant update the firmware over terminal, can only do it via web interface that runs java, and they even had fucking clicking noises when clicking things in the interface. Is frustrating.

BTW it was a stack of three Nortel 5520-48T-PWR I needed to get at. Looking on ebay god damn these things are cheap now. Like $100 shipped, when we got them they where like $4k + each.

I think we have had a total of two devices in all these years that used both the poe and gigabit at the same time. Whatever not my money.

...

good goy!

...

Sun was shithole too in an other way.

Except it's not. Except if you use Sun's marketing dept's definition of portable. Also, like I said, faster isn't important: you need or you don't need performances.

Tor users can't upload on any board at the moment.

More or less agree, but somehow the Scala guys managed to get around this by using crazy hacks that make it seem a completely different language. That said, I assume it's just clever compiler tricks.

Talking about which, it's a fucking great language (albeit fairly complicated due to its absurd flexibility) which will get an AOT compiler with manual memory manipulation capabilities soon. Even if it was just a JVM language, it would still be a good idea to invest some time in learning it.

However, Java 8 seems to implement some Scala features, like mixins, monads and lambdas, which more or less break type safety but allows for some interesting ways to solve problems.

yes

t. works with a government-made java application all day every day

I liked the idea behind Scala and even started learning it three years ago, but it seems like a clusterfuck. When I saw the insane operator precedence rules I had to puke. This problem is so easy to solve, too: A simple precedence declaration for methods (see Haskell) would have been enough, you don't even have to go full Lisp.

It just smacked of a line of thinking that prefers tons of rules over simplicity, and this does not make for good language design in my opinion.

I guess that's because operator overloading is just a syntactic sugar hack. You see, when you use a + b, what you are actually doing is a.+(b), but Scala allows omitting the dot between an object and the function name, and it also allows you to skip the paranthesis for parameters if you are only passing it one parameter.

No, but the Java plugin was a mistake, a big mistake.

Pick one, memer.


TORpedos BTFO

Give me an OS that can't run gcc/g++. Also, architecture wise, Java is a joke; does not even support SPARC (yes, the architecture made by Sun, who also made Java).

GCC is not enough to stop platform-specific dependencies, and it doesn't produce binaries that run on any platform. You still have to write your C code with portability in mind and recompile it for each platform.

Debian packages OpenJDK for SPARC, so it looks like it does support it.

...

My C code from 20 years ago still works and runs on everything and is easy to package for any platform. Meanwhile, Java is a NIGHTMARE to package and is basically unusable for iPhone developmemt.

C is more portable than Java.

That's what the standard lib is for, champ. Well, sure, if you want to use some syscalls and all, you're gonna have to write some #ifdefs.
>en.wikipedia.org/wiki/HotSpot#Maintained_by_Oracle
OpenJDK is subpar compared to the Oracle JVM, especially on anything that isn't x86. A language whose official implementation is proprietary isn't my friend.

In the end, there's almost no seriously made software in Java. Everything that matters is in C, C++ or Python.

Don't you fucking dare to shit on OpenJDK.

I tried it for i2p on ARMv7 and it was pure shit. Sorry, m8.
And in the end, it's energy wasted on a meme language.

Nothing against Java more than you more or less need a IDE to use it because it is to verbose. That is why I prefer something like Clojure instead, so I can use my favorite text editor.

I code my Java in vanilla Vim, but I think I am kind of a masochist.

Anyway, Java isn't nearly as verbose as everybody says. Sure, it is fairly verbose compared to other languages, but in the end it is still much less verbose than Objective-C or JavaScript while manipulating the DOM, for example. It has its rough spots, like not even the most basic type inference or anonymous classes, but other than that it's pretty standard.

I can't imagine doing Java without an IDE. They break shit into a million files with like 10 lines each. In C/C++ projects I work on, many files are several thousand lines and much easier to work on.

What do you mean? Finding a file is easier in my text editor than in something like Eclipse. I have fuzzy search and more. Then I also have grep and ack built in.

No, Java was a step forward when it was introduced, two decades ago.

The problem is back then people who knew Java were experienced C++ or C developers while today 99% of Java developers don't know C for shit.

Because of that 99% of Java code out there is absolute crap. The language itself is pretty decent, all things considered, but with every Pajeet out there shitting out Java code there's literally no way you could convince me to dig deep into the Java ecosystem.

Going between files frequently in a normal text editor, especially when what you need isn't tracked very well by ctags, is hell. It's why you get these C/C++ projects with files over 10k LoC. Java spreads that shit over a million tiny files and it is unworkable without an IDE as most of my time would be spent searching and navigating to files.

I'm not claiming write-once debug-everywhere problems don't exist because of the differences between virtual machine implementations; but it's painfully obvious that AOT-compiled code can't just run anywhere before being compiled to a target.

And performance isn't black and white. There are some scenarios where Java's 3x performance hit over pure C is bearable but something like Python or PHP would never make it

give me a normal user using an obscure CPU architecture or OS combination that will know how to compile your C project for his platform but won't know how to fucking call the JVM to run bytecode

Ask an iPhone dev to run your Java mess and watch as they have no idea. Java is less portable than C.

You don't seem to understand. I'm talking about performance NEED. Either your program must run as fast as possible, for battery or result goal or you don't need to, in this case something like Python does the job.
There's no real case between performance need and no need.

Yeah there is. Especially memory 'performance' as a lot of embedded projects like script but can't deal with languages that need 500M for Hello World due to using GC. GC really divides all the non-C/C++ languages into two categories.

When you need your fizz to buzz as fast as possible. Checkmate.

Looks like a performance need to me.

Was talking about processing power bound shit. Also, there's micropython. Java is just a bad meme.

Whoops

->

There is still a division for processing power. Network devices use python over shellscript these days because shellscript is so slow that it drags everything down. Our product took several extra seconds to bring a link up before I scrapped the shellscript and rewrote it in python.

Nobody cares about your faggot meme hardware.

Nobody cares about your obscure meme distro. Kill yourself.

Nice post, kid.

KEK

if java was truly a garbage collected language it would garbage collect itself.

Big, fat mistake.

...

factories are actually useful since instead of wasting cycles initializing a new object it just memcpys from a prebuilt one

but this should be a builtin feature in the first place, like a factory class type that holds an object and has definied additional constructor and methods to manipulate newly made copies

I don't agree, I find it easier without an IDE. I think you are just inexperienced or don't have a proper setup for your editor.

What is FZF?
What is silversearcher?

>Java bytecode's emulationinterpretation penalty against compiled ASM is more than made up for since it can use JIT
>Java bytecode that needs an emulatorinterpreter to run is more portable than compiled ASM


+1