Earlier quoted context omitted.
Enjoy duplicating your workflows anyway for CI. Or do you make a release by clicking the play button in your IDE?
Someone apparently isn't aware that IDEs can consume build scripts as project definitions. I don't duplicate anything, my CI/CD pipelines consume MSBuild, Ant, Gradle, Maven, CMake, XCode, package.json, gulp, webpack files just as easy as my IDEs.
Why I Don't Like Golang (2016)
181–190 of 237 posts
Re: Why I Don't Like Golang (2016)
#182Earlier quoted context omitted.
Pretty simple for me: I like working with Free and Open software much more than proprietary software. I think it's important for society, and I have more fun that way too! Also the payoff for me has been very good, I can learn emacs once and enjoy using it for the rest of my life for all significant written language tasks on a computer. Perhaps I could be a little more efficient if I were using a jetbrains IDE, but t…
This argument is not convincing to me, especially considering JetBrains publishes their IDE base as open source. Everytime I have to use VSC to develop typescript and angular, I am having problems with finding definitions (works 30% of the time), code search (it takes longer due to the constricted interface), git operations (want to do more than a simple pull and push? good luck), and much more. WebStorm on the other…
This is a far from convincing argument. Jetbrains IDEs are not the equivalent of a professional lift and the competing (often free) products are not the equivalent of a 2x4.
Is Jetbrains good? Well, I've used it for Java and was pretty impressed.
Is it $199/year[1] better than the free stuff? Well many people don't think so. It's fine if you only every use a single stack, but most of us use multiple languages and multiple stacks, now you're looking at $649/year (see link below) for all tools. Considering that my current personal development computer cost less than that years ago, is it now wonder that the price is considered too much?
I think the problem is that developers are looking at the Jetbrains products and comparing it to the value they get from other development purchases.
Compare:
A single $1k computer will last for many years, do every single development task needed to make money, be used for entertainment, and write all the actual software that will be sold. When it is too slow for dev (in a decade from now), it'll be repurposed for something else.
A single annual payment of $649 to JB results in a tiny increase in dev speed, which will disappear at the end of the year anyway. It won't make the code more robust, it won't help solve business problems any faster, it will only make code navigation faster.
For a dev, look what $1000 buys, and then look at JB for $650, and it doesn't look like all that good value for money anymore.
[1] the cost for Goland at https://www.jetbrains.com/go/buy/#commercial
Re: Why I Don't Like Golang (2016)
#183Earlier quoted context omitted.
I find 15:04:05 on Monday Jan 2nd 2006 a lot easier to remember than all those strftime %-verbs. I certainly don't see how "%B %e, %Y" is any better than "January _2, 2006". %B for what? Bonth name? And %e for "d for day plus one so %e".
1999-12-31T23:59:60 would make it easier to remember what the constants are.
2006-01-02T15:04:05Z-0700
It's unfortunate that the year is 2006 and sandwiched between the minute and TZ offset, but this keeps the day at Monday (1st day of the week, for many anyway) so that's nice.Re: Why I Don't Like Golang (2016)
#184I know Go isnt great or perfect, but still, why so much hate? I seriously want to know
Re: Why I Don't Like Golang (2016)
#185Earlier quoted context omitted.
This argument is not convincing to me, especially considering JetBrains publishes their IDE base as open source. Everytime I have to use VSC to develop typescript and angular, I am having problems with finding definitions (works 30% of the time), code search (it takes longer due to the constricted interface), git operations (want to do more than a simple pull and push? good luck), and much more. WebStorm on the other…
> Every workshop has higher costs than a software developer. Imagine a car mechanic propping up a car with 2 by 4 because they use what's available for free. No, they buy their $30,000 lift because they need it to get their work done quicker. This is a far from convincing argument. Jetbrains IDEs are not the equivalent of a professional lift and the competing (often free) products are not the equivalent of a 2x4. Is…
The individual-license pack for all of their IDEs would set you back $250 as opposed to $650 commercial license.
I used to use "IDEA Ultimate", which is 30% cheaper than the All-Pack and supports installation of most of the other language plugins, allowing me to use a single IDE for everything. Nowadays I'm using separate IDEs as that seems to work faster.
I personally find the price worth it, as even a simple "expand selection scope" operation which I use many times per day just doesn't feel right in VS Code.
Re: Why I Don't Like Golang (2016)
#186They've fixed the import / modules situation to a point where it's usable and much improved, and generics have been added. However, the issue this brings up about structs / types not explicitly declaring which interfaces they implement is a real and unaddressed problem, especially in large codebases. The only tool that I'm aware of that finds implementations is GoLand, at steep JetBrains prices. Figuring out what typ…
To be fair, most APIs need documentation and code is just plainly not enough. At least if we are talking about specialist interfaces that aren't just another web framework.
Re: Why I Don't Like Golang (2016)
#187Earlier quoted context omitted.
Odd, I find the standard library very full-fledged and useful, including the strings package. I've almost never needed to reverse a string, except in interviews. :-) The stdlib has a full (and good) HTTP server with HTTP/2 and TLS support, HTML templating, excellent I/O support, compression, even image encoding/decoding and drawing. That said, the container types are pretty sparse, but that may change a bit now that…
Not that person, but I'll call out a few issues I've had with the go stdlib: First, it has a lot of useless packages you typically wouldn't use, like "log" and "flag" (which work, but are way worse than third party alternatives like logrus and pflag), but also like "syscall" (as it says 'deprecated, use 'golang.org/x/sys' instead), "image/draw" (nope, you wanted 'golang.org/x/image/draw' usually), "path" for working…
Well, it's structural, so you don't need other packages to implement an interface rather you need them to accept an interface. That also makes it clear it's a bigger ask - you're not asking a dependency "please also do X" but instead asking "please never need to more than Y".
> Want to figure out what errors you might have to check for 'tar.Writer.Close()'? Well, the docs says "returns an error", the interface is "error", you have to read hundreds of lines of code to figure out the possible concrete types it could be.
The concrete types it could be are unbounded, because `tar.Writer` wraps arbitrary `io.Writer`s. If you need multi-pathed error handling (usually people don't and are just making it out of habit!), worry about what things can do, not what they are.
Re: Why I Don't Like Golang (2016)
#188>The tried and true approach of providing a compare method works great and has none of these drawbacks. Agreed! https://pkg.go.dev/sort#Slice is wonderful. (Added a bit after this article was written, I think.)
Lets see what the Go doc example looks like: sort.Slice(people, func(i, j int) bool { return people[i].Name In Python one might write: people.sort(key=lambda person: person.name) Or in Rust: people.sort_by_key(|person| person.name); // sort_by is also an option... I think it's worth calling out exactly what is happening in the Go example: - We create a closure that captures the people slice - We pass the people slice…
I’m looking forward to generics improving this too. (e.g. https://github.com/golang/go/issues/47619#issuecomment-91542...)
Re: Why I Don't Like Golang (2016)
#189Why does Go get so much hate here? Almost all front page articles are about how Go suCkS mAn I know Go isnt great or perfect, but still, why so much hate? I seriously want to know
Now there's a lot of Go code in the wild, projects people want to use or extend and programmers who will choose it by default, and it's starting to displace C#, Java, and C++ where the comparisons become a lot more preferential and vague. Do you want a faster GC or deterministic allocation? Nominal or structural interfaces? People fear change, especially in a field where change is only loosely correlated with improvement.
Re: Why I Don't Like Golang (2016)
#190Why does Go get so much hate here? Almost all front page articles are about how Go suCkS mAn I know Go isnt great or perfect, but still, why so much hate? I seriously want to know
But also, I don't think it's specifically hate, it's more of a reaction to the overwhelming wave of posts here (and basically on every programming forum) from around 2014 to 2018.
Go was so hyped it was unavoidable that if you were starting a project, dozens of comments would be shouting at you to use go.
Some posts are people finally getting to say, "I told you so, but I was against the crowd a few years ago" Some posts are people saying, "Go doesn't really fit this use case" Some posts are people just academically sharing the language features you don't get when you choose go.
Basically, in my opinion (and as a developer of a large go codebase that I really love), thousands of people hyped up go as a silver bullet or a "near-perfect" language. This is obviously not true, go has many downsides. When you tried to bring them up before, you were downvoted and pushed aside for the hype. Now that people are maintaining legacy go code, there's more appetite for these conversations about go's tradeoffs.