Live data from Hacker News

I want off Mr. Golang’s Wild Ride (2020)

fasterthanli.me

291–300 of 477 posts

Re: I want off Mr. Golang’s Wild Ride (2020)

#291

What would be a good alternative to Go, with - large and well maintained standard lib - great runtime characteristics - esp. reasonable memory usage - developer ergonomics - matureness - long term stability - preferably managed memory I really have used a lot of languages. They all have some downsides. I like Kotlin a lot but the JVM is just to cumbersome and resource heavy. Grade is way to complex. Rust is way to cu…

I'm not up to date on Core but .NET/C# on Windows with Visual Studio is by far the best development experience I've ever had. It's so mature and well integrated. If Core offers 10% of that I'd highly recommend looking into it.

Re: I want off Mr. Golang’s Wild Ride (2020)

#292
post #125

The author fundamentally misunderstands language design. He picks an arbitrary design constraint, in this case correctness, and argues that any language that does not provide 100% correctness is bad. He uses Rust for his examples, a language that has correctness as one of its top design goals, and contrasts it with Go, for which correctness is not that important. So of course Rust will come out on top when the only m…

What an extremely convenient template to dismiss any nuanced argument against "worse is better". You even get to question my credentials a couple times! (I apparently pick metrics that are convenient to my argument, and fundamentally misunderstand programming language design). Even if I accept the premise that "I'm challenging Go on things it doesn't promise to deliver" (which is disingenuous to begin with — correctn…

> What an extremely convenient template to dismiss any nuanced argument against "worse is better".

You say that like its a bad thing.

If there is an easy template to dismiss your argument, it means you did a bad job arguing. Part of making a good argument is anticipating likely objections and addressing then in your argument

Re: I want off Mr. Golang’s Wild Ride (2020)

#293

Earlier quoted context omitted.

I've only been doing Node for about a year now, and already I've been bit by gotchas. Obviously all languages have their warts, and I can compensate. Using Typescript with it, I've actually been quite productive. It's higher level of expressiveness relative to Java is also a breath of fresh air. But some languages definitely have more warts than others, and Javascript/Node is on the higher end of that distribution. A…

Out of curiosity (if you're at liberty to say), what has bit you? I do Node / TypeScript basically all day these days, and I'm probably too close into the forest anymore; I'm wondering if other people are getting bitten by things that I just roll right past because I'm used to the pain. The extremely weak (and frankly incorrect) Date handling that's built into JavaScript is the first thing that comes to mind.

Fair question, here's a few:

- object methods cannot be passed as arguments to a function or another method like regular functions can because they lose their 'this' pointer.

- array.sort() is broken. It does the sort in-place and converts the elements to strings before sorting.

- const doesn't support separate declaration and assignment. This makes it harder to conditionally decide what to assign to a variable while still making it const.

- number types.

- the fact that you have to use '===' for the normal understanding of equality

- Date handling could be better

- NPM has a number of problems, including default behavior of updating your dependency versions.

Re: I want off Mr. Golang’s Wild Ride (2020)

#294
post #202

Earlier quoted context omitted.

Common Lisp, Smalltalk, Delphi, C++ Builder, Java, .NET languages... Plenty of examples preceded Go in what good tooling means.

I’ve used all of those except Delphi. I think Go got a lot right and is in a different (better) ballpark, tooling wise.

Only from the pre-historic UNIX CLI point of view.

Re: I want off Mr. Golang’s Wild Ride (2020)

#295

Earlier quoted context omitted.

> So, you unthinking prat, what do you recommend he should have done, carried on coding much near-duplicate code by hand or get the computer to do the repetitive job infinitely faster and more safely? No, my recommendation would be to use a different language that doesn't need a preprocessor. Use any more insults and I'm just going to flag you.

You don't get always to choose your language, and even then there will be stuff that needs automated cut & paste at a level that the language can't provide (even down to the lexeme level). Which is why I use generated code for my C# work. I use python rather than a preprocessor but either would do. Prepros and code generation in general are just tools, no more nor less, and not good or bad intrinsically. There is no…

Macros and templates are the proper solution to the problem, not unhygienic hacks.

Re: I want off Mr. Golang’s Wild Ride (2020)

#296
post #241

I liked the article. I think it was really well written and these are great points. So if not Go, then what's the alternative? I too am starting to feel a bit burnt out by some of Go's deficiencies, but one of the things I really like about Go is its concurrency model. What other languages have great concurrency models? Please keep in mind that I want to keep things simple... having a single binary to deploy is incre…

Nobody will suggest Java, but honestly Java. Java has pretty great flexibility when it comes down to concurrency. It sets the standard which all the other languages have to compete with.

Apart from that, I like languages and frameworks that scale out of their box and into the world of distributed systems. Elixir is very cool, because the concept of distribution with message passing is built into the core of the language. Alternatively, Scala's Akka Framework operates on a similar concept of passing messages to Actors. My bias here is that I don't like to deal with very large super-computers, and would rather have multiple smaller machines that are allowed to blackout occasionally. This is especially relevant for websockets because the stateful connection to a client can be made on any single machine in a cluster, but the state itself is (often) global.

Re: I want off Mr. Golang’s Wild Ride (2020)

#297

Earlier quoted context omitted.

Huh, I had sort of found the opposite, that the Go community I had interacted with was more aggro and prone to offense. I'm forming this opinion from the reddit and the discord though, so if there is another community you favor I'd genuinely love to hear about it.

I concur. I was used to a professional tone, then joined discord-go. Showed some of my online code to receive a "shit structure" response by some anime girl avatar youngling. When I started explaining how I don't think docker is the way to go I was met with passive aggressive behavior and plain false responses trying to justify its use. But Go's discord server wasn't to only bad experience. Angular might as well have…

You can't base your opinion on anything, particularly computer languages, off of your Discord experience, come on.

The Discord demographic is teenagers and young adults, that's the last place where you'd find professional and mature advice about a programming language. I mean, even Reddit is better, and it still is a cesspool.

Re: I want off Mr. Golang’s Wild Ride (2020)

#298

Earlier quoted context omitted.

The fact remains that you need a separate implementation (cgo) if you want to do FFI. It might be something else goroutine-related that blocks FFI in the default Go implementation, but the issue is still there either way.

What do you mean "a separate implementation"? CGo is part of Go, it's not another implementation of Go.

Separate in the "CGo is not Go" sense.

Re: I want off Mr. Golang’s Wild Ride (2020)

#299
post #4

> It is a minefield of subtle gotchas that have very real implications Perfectly describes my 10+ years with the Node ecosystem. Not that it's a bad thing necessarily. I've made it my niche and the knowledge I've accumulated has made for a great career. But still, I understand the narrative.

And the most interesting thing to my mind is how little the subtle gotchas matter. The key is they're subtle. If a subtly-wrong design takes only 20% of the code of the truly-correct design to express and understand and it works for 99% of the cases, then there's actually a benefit to a lot of users of using that architecture. If you end up in the swamp outside the happy path you can get badly burned, but that's the…

This is my take as well. From the article I can see why writing a library that works on anything and with anything would be hard in Golang, but I bet that's not what Golang is mostly used for. If I'm writing a millionth custom warehouse inventory app, I really don't care about hexadecimal filenames, I just want to ship it and get paid and Go is great for that.

Re: I want off Mr. Golang’s Wild Ride (2020)

#300

What would be a good alternative to Go, with - large and well maintained standard lib - great runtime characteristics - esp. reasonable memory usage - developer ergonomics - matureness - long term stability - preferably managed memory I really have used a lot of languages. They all have some downsides. I like Kotlin a lot but the JVM is just to cumbersome and resource heavy. Grade is way to complex. Rust is way to cu…

How is the JVM cunbersome? I do understand your concern about it using more memory (though I feel it is often overblown. Sure, it’s not a hand-optimized C executable, but the performance is top-notch and the memory usage can be very well controlled)
Post reply on HN