this post was submitted on 13 Nov 2024
792 points (96.4% liked)

Greentext

4384 readers
1505 users here now

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:

If you find yourself getting angry (or god forbid, agreeing) with something Anon has said, you might be doing it wrong.

founded 1 year ago
MODERATORS
 
(page 2) 50 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 20 hours ago (6 children)

Could be worse, could be programming Javascript (or Typescript).

load more comments (6 replies)
[–] [email protected] 14 points 20 hours ago (1 children)

Forgot the JVM eating the entire machine's RAM for breakfast

[–] [email protected] 15 points 20 hours ago

JVM is like a gas. It expands to fit it's container, however large that is.

[–] [email protected] 6 points 21 hours ago (3 children)

I still think Java is good for teaching newbies precisely because it will throw an error quickly if they are doing it wrong.

[–] [email protected] 4 points 20 hours ago (1 children)

So will pretty much anything except JS.

load more comments (1 replies)
load more comments (2 replies)
[–] [email protected] 23 points 21 hours ago (1 children)

My inner mathematician respects Java. The first step in any problem is defining your universe

load more comments (1 replies)
[–] [email protected] 7 points 22 hours ago

Must be several years old - otherwise, javafx deserves quite a bit more ire.

[–] [email protected] -2 points 23 hours ago (1 children)

I'll never get the hate for java and love for python. It's like learning mandarin because you think it's easier than Spanish. When you know java you also kinda know javascript, C, Php, and others. When you know python, it's probably a government sponsored course, or a programming class talked your school district into buying their "intro to programming python course". Plus you only get to know python. I'll die on this hill

[–] [email protected] 4 points 20 hours ago (1 children)

I use both professionally and I hate both of them for different reasons.

load more comments (1 replies)
[–] [email protected] 23 points 23 hours ago (14 children)

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

[–] [email protected] 14 points 20 hours ago* (last edited 20 hours ago) (1 children)

Python:

print("Hello world!")
[–] [email protected] 8 points 20 hours ago* (last edited 20 hours ago) (3 children)

C:

#include <stdio.h>

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

EDIT: POSIX-compatible shell:

echo "Hello World!"
[–] [email protected] 2 points 20 hours ago* (last edited 20 hours ago) (1 children)

Python2 is only one character longer:

print "Hello world!"

And you get proper data types too.

load more comments (1 replies)
load more comments (2 replies)
[–] [email protected] 3 points 21 hours ago* (last edited 21 hours ago)

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

[–] [email protected] 4 points 22 hours ago

He types REALLY slow.

[–] [email protected] 18 points 23 hours ago (4 children)

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

[–] [email protected] 7 points 21 hours ago (1 children)

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

load more comments (1 replies)
[–] [email protected] 3 points 23 hours ago

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

[–] [email protected] 2 points 23 hours ago* (last edited 23 hours ago)

It is possible to dislike both. For me SmallTalk-like languages are peak. Message passing for life!

load more comments (1 replies)
load more comments (10 replies)
[–] [email protected] 12 points 23 hours ago (3 children)

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.

[–] [email protected] 4 points 20 hours ago* (last edited 20 hours ago) (1 children)

Honestly, I prefer C to Java, it's incredibly simple without all the BS that Java throws at you:

  • interfaces - compiler will fail if you provide the wrong types; w/ Java, figuring out what types to pass is an effort unto itself
  • functions - everything needs to be in a class; even callback functions are wrapped in a class (behind the scenes if you use modern Java); in C, you just pass a function
  • performance - Java uses a stop the world GC, which can cause issues if you have enough data churn; in C, you decide when/if you want to allocate or free memory, no surprises

There are certainly some bad parts, but all in all, when I run into an issue in C, I know it's my fault, whereas in Java, there are a million reasons why my assumptions could be considered valid, and I have to dig around the docs to find that one sentence that tells me where I went wrong w/ the stuff I chose.

That said, I prefer Rust to both because:

  • get fancy stack traces like I do in Java (I really miss stack traces in C)
  • compiler catches most of my stupid mistakes, Java will just throw exceptions
  • still no stupid interface hell, I just satisfy a specific trait and we're good
  • generally pretty concise for what it is; I can rarely point to a piece of syntax and say it's unnecessary

I use:

  • Python - scripting and small projects
  • Rust - serious projects or things that need to be fast
  • Go - relatively simple IO-heavy projects that need to be pretty fast
  • C - embedded stuff where I don't want to mess w/ the Rust toolchain

Java has been absent from my toolbox for well over a decade, and I actively avoid it to this day because it causes me to break out in hives.

load more comments (1 replies)
[–] [email protected] 6 points 20 hours ago

As embedded dev, the stack trace alone scares me. It would be funny to watch the Java runtime blow the 8 frame deep stack on a PIC18 tho

[–] [email protected] 6 points 23 hours ago

Sorry, you had a small error in the spacings of your post; Therefore I cannot parse a thing you're saying. Didn't mean to scare you with a semicolon either. It's just a tool in language's to end a clause and begin a related, independent clause. That could be useful somewhere...

load more comments
view more: ‹ prev next ›