News for hackers. Stuff that matters.
Re:Racket Frustrates Me by 0cf8612b2e1e on Friday June 30, 2023 @06:07PM (#36543097)
>… Obviously, the reason Go gets picked out in these discussions is that it's quite successful as a language…

When I wrote Go, the official language policy is that you do not need versioning and should not make breaking changes. Throw everything into a vendor/ if you must. For me, that kind of stance on package management definitely warrants attention.

Re:Racket Frustrates Me by tptacek on Friday June 30, 2023 @06:42PM (#36543511)
People have all sorts of thresholds past which attributes of package management warrant attention. Some of them are even reasonable. But it's not legitimate to claim that a language doesn't have any effective package management, at least when that language is (a) popular and (b) idiomatically dependent on 3rd party packages, simply because those thresholds get crossed. Go self-evidently has effective package management, and has for over a decade.

There are lots of things I don't like about NPM. But imagine claiming that Node doesn't have real package management. You can't even write a for-loop in Node without a package. Go isn't quite that far gone, but it's pretty hard to write idiomatic Go of any significance with zero packages.

Re:Racket Frustrates Me by akerl_ on Friday June 30, 2023 @07:12PM (#36543857)
I'm not sure when you wrote go, but versioning is even more clearly part of the package management than with other languages. Major versions of a library have different import paths, such that you can look at the top of any file and know exactly which major version of a dependency it's using.