Comment by gf000

Comment by gf000 2 days ago

21 replies

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.

tedk-42 2 days ago

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`

  • kasperni 2 days ago

    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!");
      }
    • aatd86 a day ago

      so getting closer to Go's syntax, n'en déplaise à certains, apparently. :-)

      • gf000 a day ago

        Except for the extra 3 lines of if err for every statement..

  • wing-_-nuts 2 days ago

    Always find 'java is verbose' to be a novice argument from go coders when there is so much boilerplate on the go side of things that's nicely handled on the java side.

  • lenkite 2 days ago

    Every function call is 3-5 lines in Go. For any problem which needs to handle errors, the Go code is generally >2x the Java LOC. Go is a language that especially suffers from the "code padding" problem.

  • gf000 2 days ago

    It's rich to complain about verbosity coming from Go.

    Nonetheless, Java has eased the psvm requirements, you don't even have to explicitly declare a class and a void main method is enough. [1] Not that it would matter for any non-script code.

    [1] https://openjdk.org/jeps/495

zwnow 2 days ago

Java, lol. Enterprise lang with too many abstractions and wrongly interpreted OOP. Absolutely not.

myaccountonhn 2 days ago

What about php/ruby for web?

  • gf000 2 days ago

    An expert Ruby programmer can do wonders and be insanely productive, but I think there is a size from which it doesn't scale as nicely (both from a performance and a larger team perspective).

    PHP's frameworks are fantastic and they hide a lot from an otherwise minefield of a language (though steadily improved over the years).

    Both are decent choices if this is what you/your developers know.

    But they wouldn't be my personal first choice.

keb_ 2 days ago

Absolutely no on Java. Even if the core language has seen improvements over the years, choosing Java almost certainly means that your team will be tied to using proprietary / enterprise tools (IntelliJ) because every time you work at a Java/C# shop, local environments are tied to IDE configurations. Not to mention Spring -- now every code review will render "Large diffs are not rendered by default." in Github because a simple module in Java must be a new class at least >500 LOC long.

  • gf000 2 days ago

    When did you last touch java, before 2000?

    Local environments are not tied to IDEs at all, but you are doing yourself a disservice if you don't use a decent IDE irrespective of language - they are a huge productivity boost.

    And are you stuck in the XML times or what? Spring Boot is insanely productive - just as a fact of matter, Go is significantly more verbose than Java, with all the unnecessary if errs.

    • keb_ 2 days ago

      > When did you last touch java, before 2000?

      August 22, 2025.

      Local environments are not literally tied to IDEs, but they effectively are in any non-trivially sized project. And the reason is because most Java shops really do believe "you are doing yourself a disservice if you don't use a decent IDE irrespective of language." I get along fine with a text editor + CLI tools in Deno, Lua, and Zig. Only when I enter Java world do the wisest of the wise say "yeah there is a CLI, but I don't really know it. I recommend you download IntelliJ and run these configs instead."

      Yes Spring Boot is productive. So is Ruby on Rails or Laravel.

      • gf000 a day ago

        Any production-grade project will use either Maven or Gradle for builds. There are CI/CD pipelines, lints, etc, how would all these work if you could only build through an IDE?

        Sure, there are some awfully dated companies that still send changed files over email to each other with no version control, I'm sure some of those are stuck with an IDE config, but to be honest where I have seen this most commonly were some Visual Studio projects, not Java. Even though you could find any of these for any other language, you just need to scale your user base up. A language that hasn't even hit 1.0 will have a higher percentage of technically capable users, that's hardly a surprise.

      • wing-_-nuts 2 days ago

        >Only when I enter Java world do the wisest of the wise say "yeah there is a CLI, but I don't really know it. I recommend you download IntelliJ and run these configs instead."

        Then they obviously don't know their tooling well, and I would hesitate to call a jr 'the wisest of the wise'