zlacker

[return to "Go is still not good"]
1. the_du+yd[view] [source] 2025-08-22 11:46:04
>>ustad+(OP)
I personally don't like Go, and it has many shortcomings, but there is a reason it is popular regardless:

Go is a reasonably performant language that makes it pretty straightforward to write reliable, highly concurrent services that don't rely on heavy multithreading - all thanks to the goroutine model.

There really was no other reasonably popular, static, compiled language around when Google came out.

And there still barely is - the only real competitor that sits in a similar space is Java with the new virtual threads.

Languages with async/await promise something similar, but in practice are burdened with a lot of complexity (avoiding blocking in async tasks, function colouring, ...)

I'm not counting Erlang here, because it is a very different type of language...

So I'd say Go is popular despite the myriad of shortcomings, thanks to goroutines and the Google project street cred.

◧◩
2. zwnow+de[view] [source] 2025-08-22 11:50:15
>>the_du+yd
What modern language is a better fit for new projects in your opinion?
◧◩◪
3. gf000+of[view] [source] 2025-08-22 11:58:47
>>zwnow+de
For web frontend: js

For ML/data: python

For backend/general purpose software: Java

The only silver bullet we know of is building on existing libraries. These are also non-accidentally the top 3 most popular languages according to any ranking worthy of consideration.

◧◩◪◨
4. tedk-4+Of[view] [source] 2025-08-22 12:02:55
>>gf000+of
I'd swap java with go any day of the week. I never liked how much 'code-padding' is required with java `public static void main`
◧◩◪◨⬒
5. kasper+Ug[view] [source] 2025-08-22 12:09:59
>>tedk-4+Of
For Java 25 which is planned to be released in a couple of weeks:

----- https://openjdk.org/jeps/512 -----

First, we allow main methods to omit the infamous boilerplate of public static void main(String[] args), which simplifies the Hello, World! program to:

  class HelloWorld {
    void main() {
      System.out.println("Hello, World!");
    }
  }
Second, we introduce a compact form of source file that lets developers get straight to the code, without a superfluous class declaration:

  void main() {
    System.out.println("Hello, World!"); 
  }
Third, we add a new class in the java.lang package that provides basic line-oriented I/O methods for beginners, thereby replacing the mysterious System.out.println with a simpler form:

  void main() {
    IO.println("Hello, World!");
  }
◧◩◪◨⬒⬓
6. aatd86+N81[view] [source] 2025-08-22 16:58:20
>>kasper+Ug
so getting closer to Go's syntax, n'en déplaise à certains, apparently. :-)
[go to top]