My inner mathematician respects Java. The first step in any problem is defining your universe
Greentext
This is a place to share greentexts and witness the confounding life of Anon. If you're new to the Greentext community, think of it as a sort of zoo with Anon as the main attraction.
Be warned:
- Anon is often crazy.
- Anon is often depressed.
- Anon frequently shares thoughts that are immature, offensive, or incomprehensible.
If you find yourself getting angry (or god forbid, agreeing) with something Anon has said, you might be doing it wrong.
Hello World
30 minutes of boilerplate
writing imports
$ cat <<EOF > Hello.java
public class Hello {
public static void main(String args[]) {
System.out.println("Hello world!");
}
}
EOF
$ java Hello.java
Hello world!
ok
Python:
print("Hello world!")
C:
#include <stdio.h>
int main() {
printf("Hello World!");
return(0);
}
EDIT: POSIX-compatible shell:
echo "Hello World!"
PHP:
Hello World!
Rust:
Still fighting the burrito check fil er
Welcome to java, we have a couple unconventional ways of doing things, but overall I'm like every other mainstream oo language.
People: AHH! Scary!
Welcome to python. your knowledge of me wont help you elsewhere as my syntax is purposefully obtuse and unique. Forget about semicolons, one missed space and your code is as worthless as you after learning this language.
People: Hello based department
Oh my god I got fucked by a python script once because of a single space. It took forever to figure out what went wrong
You can't use Python without a linter. I have everything setup in vscode to use tabs yet copilot autocomplete insists on inserting random spaces everywhere creating indentation errors. The linter is essential to quickly see and fix them.
This is getting a little better nowadays.
> cat Hello.java
void main() {
System.out.println("Hello, World!");
}
> java --enable-preview Hello.java
Hello, World!
Things to notice:
- No compilation step.
- No class declaration.
- Main method is not
public static
- No
String[] args
.
This still uses preview features though. However, like you demonstrated already, compilation is no longer a required step for simplistic programs like this.
System.base.stuff.output.out.printfunctions.println
Or so it felt every time you wanted to dump something into the console...
Trying to print hello world is actually pretty easy
public static void main[Args]{ SystemPrintOutLn("Helli world"); }
That's should be it. But I can devinetively agree. For simple tasks Java is to complex because you need to do to much stuff prior to it. If you have more complex things its actually not that bad since if you have a good polished infrastructure it can be quite good.
Forgot the JVM eating the entire machine's RAM for breakfast
JVM is like a gas. It expands to fit it's container, however large that is.
I also think Java is shit, but if you manage to get a NullPointerException while writing a hello world program, maybe anon is just not cut out for computers?
I always loved that Java has a NullPointerException but doesn't have the concept of pointers in the language (only references).
Java
Thats your first mistake bucko
I might have agreed a decade or two ago, when I knew no better. But today, I find the tribalism surrounding programming languages comical.
I don’t particularly like Java, but I use it because it pays the bills. Similarly, I use C++ (which I prefer) when my work requires it.
I don’t particularly like Java, but I use it because it pays the bills. Similarly, I use C++ (which I prefer) when my work requires it.
I mean, anon is not arguing against that. They're saying the language is shit regardless of how much it is used in business. I don't think they are entirely wrong.
I really enjoyed the text.
From the perspective of a python programmer it all seems valid.
A Java-Dev would probably write the same about an embedded engineer.
Java is terrible and I hated it but I feel like this stuff is not why, this mostly just seems like stuff that most powerful object oriented languages do.
Java is amazing and I love it, and I agree that this is not really a good list of problems. (Not that I expect green texts to be well thought out, rational, real, fair, or anything other than hyperbolic rants lol.) There are good reasons to critique it and the ways people use it, but this isn't it.
Particularly funny is the one about race conditions. That's something you'd have to deal with in any sort of multi threaded environment.
I still think Java is good for teaching newbies precisely because it will throw an error quickly if they are doing it wrong.
Rust over there like
Hey kid, tired of putting off your problems?
Must be several years old - otherwise, javafx deserves quite a bit more ire.
If it took anon 30 minutes to write hello world in java, programming is not for anon.