4 ms·
>If we preferred a higher-level language with a Gc, Java/Kotlin/C# would be, IMHO, much better. Writing code in Java\Kotlin requires quite some investment into
by konart 4y ago
>If we preferred a higher-level language with a Gc, Java/Kotlin/C# would be, IMHO, much better.
Writing code in Java\Kotlin requires quite some investment into the language and tooling (at least that's my Java impression).
With Go - you can start getting the job done from day one most of the time. Some parts of Go may be harder than the others, even challenging maybe, but not as hard as Java.
Lack of OOP (at least in Java's traditional scence) also helps quite a lot (but that depends on project of course)
- shakow 4y agoTo be honest, I think that go packaging is ghastly (just accessing dependencies in private repos requires changing global git settings, which is an abomination), but I can see how Java can be very heavy on that. However, I would not weight too much the time-to-first-makefile of a language if a project is supposed to live for years.
- konart 4y ago>just accessing dependencies in private repos requires changing global git settings, which is an abomination Just put a .netrc file in your homefolder with your username + token and use GOPRIVATE env variable. No need to change any git settings. After go modules became mainsream most go packaging issues where out of question, imo. At least for me the 'private repo packages' was the only issue. I'm pretty sure that there are millions of js projects out there, many of them been there for years and will be there for many years to come, all despite npm and js packaging issues in general... At the same time Go provides enough stdlib to forget about dependencies completely if you are afraid that use of some of them (or packaging system in general) may result in some negative scenario. This is where Go shines: it can offer enough to be powerfull without becoming java. But without a doubt Go has many things to improve too.
- shakow 4y ago> Just put a .netrc file in your homefolder with your username + token Lol yes, let's just put sensitive information in plain text in my home folder and change the machine-wide configuration, because Go guys decided that if it worked in 1970, it is good enough for today. > the 'private repo packages' was the only issue. That's quite a big one for a language targeting companies. > I'm pretty sure that there are millions of js projects out there Sure, if your gauge is the JS ecosystem... > At the same time Go provides enough stdlib to forget about dependencies completely Go stdlib is decent, that's it. It does not even has basic data types such as sets (no, map keys are not a decent replacement for a set), queues or stacks.
- konart 4y ago>Lol yes, let's just put sensitive information in plain text in my home folder and change the machine-wide configuration, because Go guys decided that if it worked in 1970, it is good enough for today. That't just your login and a token that gives read-only access to some repo. Hardly an issue imo. At least if this is your work PC. (also - while home folers is the default the file can be places somewhere else) >Sure, if your gauge is the JS ecosystem... Why not? Because some guys on HN is salty about it? JS is extremely popular and widespread. Much better gauge than something being used by a few guys. >It does not even has basic data types such as sets (no, map keys are not a decent replacement for a set), queues or stacks. I'd argue that channels are your queues. Maybe sets and stacks will be added now that generics are part of the language.