You are viewing a single thread.
View all comments
6 points

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

permalink
report
reply
6 points

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

permalink
report
parent
reply
1 point

It is possible to dislike both. For me SmallTalk-like languages are peak.

permalink
report
parent
reply
1 point
*

**kwargs

“No, I don’t use type annotations because they don’t actually do anything. In fact I purposefully give this parameter different types for different behaviors. How is that confusing?”

permalink
report
parent
reply
2 points

Python has its drawbacks but it also has a pretty useful standard library so as a language for small scripts, one can do much worse

permalink
report
parent
reply
5 points

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

permalink
report
parent
reply
2 points
*

I refuse to code in Python without a really good IDE and linting like PyCharm. When using PyCharm it’s very rare I have issues like this, because it catches them in one way or another, but I notice it catches those kinds of issues a lot when I’m coding soooooooo…

I have also setup the IDE to specifically color code comments like

’ # End If and ’ # Next

in the same style as their beginning statements as I find it much easier to visually scam through code when they are present.

permalink
report
parent
reply
1 point

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.

permalink
report
parent
reply
1 point

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:

  1. No compilation step.
  2. No class declaration.
  3. Main method is not public static
  4. 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.

permalink
report
parent
reply
-1 points
*

Main method is not public static

It must be somewhere under the hood. Otherwise, it wont be callable and it would require an instance of an object to call. Unless the object here is the Java environment?

No String[] args

They are just optional I’m sure, like C and C++. You still need them to read command line arguments.

All in all, these syntax improvements are welcome. I already moved on to Kotlin for Android development though.

permalink
report
parent
reply
2 points
*

Main method is not public static

It must be somewhere under the hood. Otherwise, it wont be callable and it would require an instance of an object to call. Unless the object here is the Java environment?

No. From JEP-445:

If an unnamed class has an instance main method rather than a static main method then launching it is equivalent to the following, which employs the existing anonymous class declaration construct:

new Object() {
    // the unnamed class's body
}.main();

No String[] args

They are just optional I’m sure, like C and C++. You still need them to read command line arguments.

Without the preview feature enabled, it is not an optional part of the method signature. It specifically looks for a main(String[]) signature.

permalink
report
parent
reply
-1 points
*

Microsoft Java is a one-liner these days.

> cat program.cs
Console.WriteLine("Hello, World!");
> dotnet run
Hello, World!
permalink
report
parent
reply
4 points

permalink
report
parent
reply
2 points

System.base.stuff.output.out.printfunctions.println

Or so it felt every time you wanted to dump something into the console…

permalink
report
parent
reply
8 points
*

Python:

print("Hello world!")
permalink
report
parent
reply
4 points
*

C:

#include <stdio.h>

int main() {
    printf("Hello World!");
    return(0);
}

EDIT: POSIX-compatible shell:

echo "Hello World!"
permalink
report
parent
reply
1 point
*

Python2 is only one character longer:

print “Hello world!”

And you get proper data types too.

permalink
report
parent
reply
4 points

PHP:

Hello World!
permalink
report
parent
reply
1 point
*

I got the impression they skipped the hello world cause it was too easy and they wanted to get right to writing their app, so they moved on to more advanced stuff without having a real grasp of the basics

permalink
report
parent
reply

Greentext

!greentext@sh.itjust.works

Create post

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.

Community stats

  • 6.8K

    Monthly active users

  • 1.1K

    Posts

  • 43K

    Comments