Live data from Hacker News

Why I Don't Like Golang (2016)

teamten.com

211–220 of 237 posts

Re: Why I Don't Like Golang (2016)

#211

Earlier quoted context omitted.

Is this a JetBrains commercial account ? Am I at fault for not liking their product that much, and thus not paying them their apparently deserved yearly subscription ? This feels pretty weird to be faulted for using other companies' products. And no, switching to Jetbrains' doesn't make me more money. Could be the reverse from my past trials.

It's not about liking or not liking a product. You're complaining about pay for a product. If you like a product and its helpful why are you against paying for it?

> If you feel a tool as as much downsides than upsides in your workflow, you don't use it, whatever its price is.

↑ that was in my answer (with the typo, on the “as as” instead of “has as”, my bad)

You might be confounding mine with another comment. I recognize the talent and expertise of JetBrain’s staff, but don’t like their products in general, and use VSCode as a primary editor, and (paid) Textmate for the rest.

To your general point, looking at project like Bitwarden, with their initial kickstarter and their current revenue, I don’t feel like people are restraining from paying for useful software, even when it has a generous free tier.

Re: Why I Don't Like Golang (2016)

#212

Earlier quoted context omitted.

No sane business wants to spend $100 to save $15-30 in taxes.

Tell that to Amazon or any FANG company that doesn't pay taxes because their clever use of writeoffs and "losses"

They're spending $100 to invest in the growth of their company, which is quite different from "love spending money" or "begging for something to buy" to reduce their taxes.

Re: Why I Don't Like Golang (2016)

#213
post #108

Earlier 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…

JetBrains' All-Products Pack costs me only 150€/year + VAT (250€ individual license minus 40% for subscribing for 3+ years) which is also fully tax deductible. In the end it costs me less than my cinema budget for a year of top notch products with proper support and bug fixing where I don't have to wait months for an answer.

I stand by my 2 by 4 comment because they get the work done, just slower and more awkward. It's always super amusing how software developers with one of the highest salaries around the world (yes, even in poorer regions) complain about costs when other jobs require tens of thousands in initial investment.

Re: Why I Don't Like Golang (2016)

#214
post #115
post #33

>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…

Go's method is like that because it didn't have generics, but it does have the advantage of allowing you to sort more complicated things, e.g. indexes into other data structures, or computed values.

Sorting by key is a special case (admittedly the most common special case).

Re: Why I Don't Like Golang (2016)

#215
post #108

Earlier 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…

As others have pointed out, you probably meant to link the all tools pack for personal use to make a comparison against: https://www.jetbrains.com/go/buy/#personal?billing=yearly

Currently that shows a cost of 250 euros per year, or about 20 euros per month (excluding VAT which varies).

For most developers, that is indeed a relatively small amount (even I opted for the ultimate package, despite earning in the low 2 figures in Latvia), whereas the 650 euros for commercial licenses would be doable for any organization that cares about their developers' experience.

All of that is excluding their loyalty discounts, programs for students and non-profits, startups etc.: https://www.jetbrains.com/go/buy/#discounts?billing=yearly

Personally, whenever I see commercial software or a SaaS/PaaS/IaaS solution, I'm tempted to throw a brick through someone's window (figuratively) because those are likely to result in unreasonable amounts of vendor lock (especially with cloud services around Kubernetes management), but personally I haven't found a better IDE than what JetBrains offer.

For Java, all of the alternatives are worse: Eclipse is buggy and crashes (though some swear by its incremental compiler and integrations), NetBeans is kind of dated and struggles with projects that have 4000+ source files (though it's cool that Apache keeps it alive and there's the whole module enable/disable functionality and their VisualVM integration is great).

For .NET, Rider is easily up there with Visual Studio, even when you're doing something more niche, like working with the Unity game engine (the performance hints are nice), or just working on .NET apps.

For PHP, Ruby, Go, Python and other languages their tools feel competent and oftentimes suggest you whatever it is that you might want to do, be it setting up your runtimes properly, your dependency management systems, install all of the dependencies, import the project config/launch profiles etc.

For Node/JavaScript I have never found a good IDE, but maybe that's because the language is sometimes a mess to work with - e.g. getting only some very basic completion in some garbage 3000 line AngularJS controller because even the IDE has no idea what the hell is going on there, or having Vue 3 use the tag for adding code imports, instead of detecting that i'd like to use but then again, they're pretty speedy with updates and if you don't do anything too crazy with projects, then it should be good.

I don't have much experience with their C/C++ offerings, or their lightweight text editor (Fleet) or the likes of DataSpell, though their DB management offering, DataGrip is pretty okay too! Though you can also configure the individual IDEs like IntelliJ to show up hints for most decent frameworks.

Re: Why I Don't Like Golang (2016)

#216

Earlier quoted context omitted.

> interface for external packages to implement so I can plug in logging libraries without rewriting the world. 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…

> 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. When I'm looking at an error, it's typically for one of two reasons: 1. To set a correct status code, such as http 5xx (internal server error, our disk flaked) or a 4xx (user error, you gave us invalid input). 2. To provide a better error message, such as to localiz…

> To set a correct status code, such as http 5xx (internal server error, our disk flaked) or a 4xx (user error, you gave us invalid input).

For this it's simple to wrap them at return site in something that offers `HTTPStatus() int` and check for implementing that interface, not any concrete types, in your handler.

Also, those error paths should be dangerously hard to mix in the first place, you shouldn't be letting invalid input anywhere near the disk to begin with.

Re. logging interfaces, I think you've missed the point. You want everyone to accept narrow interfaces so you can use the logger you want. You also want everyone to return wide error interfaces so you can categorize the entire universe of possible errors as you want. In the end this isn't a technical problem, it's an "I want everyone to cater for my use case" problem.

Re: Why I Don't Like Golang (2016)

#217

Earlier quoted context omitted.

Musicians and carpenters make far less than programmers, but they still buy their tools. Software people are too entitled. Even if you are not professional, you can still afford 54c a day ($200 a year). Even a programmer in India can.

I'm not paying that much for an editor that runs counter to my muscle memory, just so I can use a different programming language. If a language requires some IDE to make it usable, then I put it in the same camp as Java: Hope the competition are using it.

I'm tempted to ask what languages you're using and what has your best experience with them been like.

Because as messy as Java is, refactoring codebases in it that have been kept alive for close to a decade is surprisingly not madness-inducing (most of the time), at least in some of the sane frameworks. Apart from, you know, legacy projects basically killing your career in the long term.

I'm not sure what other language I'd feel comfortable with changing how some method works across 50 other places that call it and have the IDE do most of the heavy lifting.

Yes, I have Stockholm syndrome, probably. Yes, I'd prefer to retire to planting potatoes in a farm, rather than work with NullPointerExceptions.

Re: Why I Don't Like Golang (2016)

#218
post #85

Earlier quoted context omitted.

You forgot the additional $1000 for a computer powerful enough to run JetBrains.

Sorry I meant to type $1000’s. Corrected it. I ran JetBrains software on one of those 1.5ghz MacBook 12” and it was totally fine. I don’t think it needs “powerful” hardware. Not like visual studio. Now that’s a pain!

> I don’t think it needs “powerful” hardware.

That depends. If you have multiple large projects open at the same time, it'll eat a lot of RAM, even if it won't be too CPU intensive.

I run it on a ThinkPad that has 32 GB of RAM, when I have about 6-7 instances of the IDE open and all of these services running locally (generally Java projects, the largest of which is around 4000+ source files), then it gets close to the resource limits.

Re: Why I Don't Like Golang (2016)

#219
post #96

Earlier quoted context omitted.

Yeah, "If I do in , and it doesn't work how I like, I don't think it's good"

Naming a file is an obscure thing?

__main__.py? PRN? index.html? "This filename does something special" is hardly a situation unique to Go.

Re: Why I Don't Like Golang (2016)

#220
post #25

Earlier quoted context omitted.

What's even worse is getting companies to pay for this stuff. Getting a company to buy software to help you do your job is like pulling teeth.

any company will let you expense a few hundred dollars for a tool you use literally every day many hours a day. if you’re having trouble they are not good to work for or you’re asking the wrong way

> if you’re having trouble they are not good to work for

That is true, but also in some places that is also the status quo: especially in countries where the developers don't get 6 figure salaries and don't create as much value to their respective companies.

Post reply on HN