Most active commenters

    ←back to thread

    272 points abdisalan | 11 comments | | HN request time: 1.304s | source | bottom
    Show context
    mvkel ◴[] No.42175730[source]
    > time to run it after not touching it for 4 years

    > Two hours of my life gone...

    Two hours of work after 4 years sounds ... perfectly acceptable?

    And it would have run perfectly right away if the node version was specified, so a good learning, too

    This feels like making a mountain out of a mole hill

    replies(21): >>42175799 #>>42175818 #>>42175826 #>>42175846 #>>42176217 #>>42176305 #>>42176788 #>>42176958 #>>42181497 #>>42182299 #>>42182564 #>>42182778 #>>42183020 #>>42183093 #>>42183501 #>>42183725 #>>42184814 #>>42192770 #>>42193606 #>>42194518 #>>42211558 #
    ivan_gammel ◴[] No.42183093[source]
    I still can open my decade-old Java projects, run build with modern Maven/JDK and get working code - in a few minutes. Two hours of dancing with a drum doesn’t feel acceptable to me.
    replies(5): >>42183272 #>>42183987 #>>42184062 #>>42184422 #>>42187870 #
    1. KronisLV ◴[] No.42183987[source]
    > I still can open my decade-old Java projects, run build with modern Maven/JDK and get working code - in a few minutes.

    Try any old Spring project, where anything newer than JDK 8 will be incompatible. The only saving grace is that JDK 8 is still available, but even it will eventually reach EOL. And then you look at JDK 11 projects and realize that they won't run on anything newer due to Lombok issues, so that's another thing to update and fix.

    I think the experience of code rot is universal and increases with the amount of dependencies you have.

    replies(3): >>42184173 #>>42187355 #>>42211544 #
    2. mperham ◴[] No.42184173[source]
    > I think the experience of code rot is universal and increases with the amount of dependencies you have.

    This is true but there's also a factor from the language/framework in use. Node is especially bad because of it generates huge package dependency trees. Go is especially good because of the large stdlib (which I use to minimize deps in https://github.com/contribsys/faktory) and excellent backwards compatibility.

    replies(2): >>42185563 #>>42187619 #
    3. dilap ◴[] No.42185563[source]
    Plus even if you were using lots of deps, the Go code would almost certainly keep working, thanks to minimal version selection and the Go module mirror. (And of course for maximum reliability, could even easily vendor deps with "go mod vendor".)
    4. nitwit005 ◴[] No.42187355[source]
    Spring generates bytecode, and Lombok is a language extension. You're effectively writing code in another language that's very similar to Java.

    The company I work at has a ton of projects stuck on ancient spring versions and Java 8 (or Java 6 in one instance). They still insist on Spring despite being essentially unable to upgrade to a version newer than a decade old.

    replies(1): >>42191475 #
    5. guappa ◴[] No.42187619[source]
    > Go is especially good because of the large stdlib

    Come on… compare it with what java and python have.

    replies(2): >>42187755 #>>42188024 #
    6. dartos ◴[] No.42187755{3}[source]
    What does Java or Python have in their stdlib that go doesn’t?
    replies(1): >>42188499 #
    7. blizdiddy ◴[] No.42188024{3}[source]
    Java can't even read/write json without third party libraries.

    Tell me a single thing that Oracle has added to the standard library. As far as I can tell, more and more of what was once standard is now getting offloaded and trademark-washed with the eclipse and apache foundations.

    8. guappa ◴[] No.42188499{4}[source]
    Well python has syslog, mmap, just to name a couple of things.
    replies(1): >>42193768 #
    9. KronisLV ◴[] No.42191475[source]
    > Spring generates bytecode, and Lombok is a language extension. You're effectively writing code in another language that's very similar to Java.

    That's the reality of using the language in production projects.

    Same as how you're likely to see more than just Python or Node being used in projects that list them in the tech stack, because there's native dependencies and tooling used.

    10. dartos ◴[] No.42193768{5}[source]
    They had mmap, but it was dropped at some point, I guess.

    They do have syslog though https://pkg.go.dev/log/syslog

    11. signal11 ◴[] No.42211544[source]
    Old Spring versions < 6.1 are obsolete, so you do have to upgrade Spring in many scenarios as well. No security fixes for them unless you pay for support.