Live data from Hacker News

The Go Programming Language and Environment

cacm.acm.org

91–100 of 250 posts

Re: The Go Programming Language and Environment

#91

I think it misses * Made by really famous veteran language designers * Backed by Google Not saying it doesn't deserve its popularity, but most of the things listed are not necessary for explaining its popularity, and none of them (even taken together) are sufficient.

>> Made by really famous veteran language designers Yeah that’s a positive >> Backed by Google But that’s a negative, https://killedbygoogle.com/ I definitely think you’re too fast to dismiss the language features contributing to popularity. As an example: Fast builds are a positive developers immediately warm to when they experience them (stand by for rustacean “i need time to make tea and my compile times are exact…

>> Made by really famous veteran language designers > Yeah that’s a positive

No, that's also a negative. C is close to assembly and produces fast code but it's weakly typed and very unsafe. Pascal was the strongly typed and safe option but people went for C because speed was considered more important than safety back when processors were slow.

In today's online world, we've realized safety is more important than speed. We write web apps in slower interpreted languages and Rust is a response to unsafe code that can be hacked like a hot knife through butter. I consider it a move in the right direction.

So I don't consider Go being made by really famous veteran language designers to be a plus because they produced a poor language that only won out because it neglected safety in a quest for speed. That wasn't as bad when computers weren't online, but it still allowed programmers to make errors that caused code to crash. Today it's become a critical issue.

Interestingly, Go is more like Pascal, Modula-2 and Oberon than like C, except in syntax. With Go, the creators of C have admitted Niklaus Wirth was right.

Re: The Go Programming Language and Environment

#92
post #30

Earlier quoted context omitted.

In my case "backed by Google" was a deterrent, not a feature. I gave the language a chance after trying Rust (backed by Mozilla - which was a feature to me ;-) and I found it easy to start. Go is very well documented: That was the killer feature for me. No more search tutorials / videos etc. - just get the go book, read it, and start coding. Of course there are tutorials and videos everywhere for fun stuff. But good…

To me, in the old Go vs Rust debate, there are two things that are abundantly clear in making a compelling case for Go. First, I don't think even the most devoted rustacean can deny that Rust has a hell of a learning curve. But perhaps most importantly is that Go has a strong and extensive standard library that covers many 21st century applications (e.g. talking to REST APIs). The problem to me with the Rust "no stdl…

This hasn't been a big issue for me with Rust. You do have to spend a bit of time looking around initially, but there are lots of good-quality libraries that aren't going away anytime soon, you make your pick and move on and after doing that a few times you pretty much have a standard library of sorts. For me personally, that wouldn't be a reason to pick Go over Rust.

What's moving the scales in favor of Go, for me, is Rust's borrow checker. I'm aware that it has a bunch of advantages over a garbage collector, but those are paid for with a pretty noticable productivity hit that doesn't seem to go entirely away with experience either; experienced Rustaceans I've consulted with less-common patterns still spent a lot of energy finding a way to make them work with the borrow checker and still sufficiently efficient, and most of that could have been saved for more productive work in a language more open to existing design patterns. Usually I'm neither out for the maximum safety at all costs nor resource-constrained, so I'd rather take Go-ish levels of safety and Go-ish performance and get work done faster.

If there was a Rust with a first-class garbage collector, but keeping all the neat functional elements, the neat semantics, the great libraries and ecosystem, strong types, single binary etc. pp., I'd pick that right away. Go is "easy" at the cost of expressiveness to a degree that makes for reams upon reams of repetitive code or code generation, and Rust-ish functional patterns could greatly condense that and make much more readable, at the expense of having a somewhat higher learning curve. That's a trade-off that I'd much prefer, reading and reviewing Go codebases can be very tedious.

Re: The Go Programming Language and Environment

#93
GoLang works for my team because it's boring, small, compact, not fancy, easy to pick up and start writing real production code in less than a week. It hits the sweet spot with regards to language constructs, performance, features, superb documentation, and a de-facto set of practices and design principles that make it easy to pick up a completely new codebase and understand it very quickly.

It works very well with VSCode and even better with IntelliJ IDEA, debugging is painless, and it even runs on our Raspberry PIs and other IoT devices. We use GoLang on a whole bunch of MIPS and ARM devices, it's a great option seeing as how quickly we can get production code up and running on small edge devices, routers, etc.

Sure, we can write embedded code in C, but GoLang allows us to roll out new features three to five times quicker.

Re: The Go Programming Language and Environment

#94

I think it misses * Made by really famous veteran language designers * Backed by Google Not saying it doesn't deserve its popularity, but most of the things listed are not necessary for explaining its popularity, and none of them (even taken together) are sufficient.

We can sort of evaluate of much "backed by Google" means by looking at other languages backed by Google. The main one I have in mind is Dart. Here's a few links:

- https://madnight.github.io/githut/#/pull_requests/2021/4

- https://www.tiobe.com/tiobe-index/

- https://redmonk.com/sogrady/2022/03/28/language-rankings-1-2...

Dart seems to be doing relatively well. Considering Go has more things in its favor than Dart, it's logical that it's doing better. Still, the Google boost seems to be really big.

Re: The Go Programming Language and Environment

#95
post #94

I think it misses * Made by really famous veteran language designers * Backed by Google Not saying it doesn't deserve its popularity, but most of the things listed are not necessary for explaining its popularity, and none of them (even taken together) are sufficient.

We can sort of evaluate of much "backed by Google" means by looking at other languages backed by Google. The main one I have in mind is Dart. Here's a few links: - https://madnight.github.io/githut/#/pull_requests/2021/4 - https://www.tiobe.com/tiobe-index/ - https://redmonk.com/sogrady/2022/03/28/language-rankings-1-2... Dart seems to be doing relatively well. Considering Go has more things in its favor than Dart, i…

Dart is barely doing well. It was pretty much dead before Flutter kind of imposed it.

Dart is actually the counter example for “ Backed by Google “

Re: The Go Programming Language and Environment

#96
post #51
post #44

Earlier quoted context omitted.

Yes, When Docker migrated away from LXC the new code was in Go, https://www.infoq.com/news/2014/03/docker_0_9/ Kubernetes moved when some Go advocates joined the team and pushed for a rewrite, https://archive.fosdem.org/2019/schedule/event/kubernetesclu...

> Kubernetes moved when some Go advocates joined the team and pushed for a rewrite Frankly, that hardly says anything about the technical merits of that switch. In fact, it reads like a poorly-though tautology.

But nobody is talking about the technical merits of that switch or of Go, we're talking about the popularity of Go. If tomorrow I create a language called "Gorilla" that is a worse language than Go, that Kubernetes switches to Gorilla and that Gorilla gets popular, there's a good chance that the switch will help the popularity of Gorilla. If instead I create a language called "Whale" that is a better language than Go, and the same thing happens, again the switch will have helped the popularity of Whale. The exact same thing will happen with a language exactly the equal of Go. All of that to say, technical merit has nothing to do with it, it was never the subject.

Re: The Go Programming Language and Environment

#97
post #75

I think it misses * Made by really famous veteran language designers * Backed by Google Not saying it doesn't deserve its popularity, but most of the things listed are not necessary for explaining its popularity, and none of them (even taken together) are sufficient.

>- Made by really famous veteran language designers - Backed by Google Looking at decades of how various programming languages gain popularity, those proposed reasons don't seem that convincing when we look at counterexamples . E.g. counterexamples of unknown (at the time) creators creating popular languages : Bjarne Stroustrup (C++), James Gosling (Java), Rasmus Lerdorf (PHP). E.g. counterexamples of famous computer…

>This is a compelling advantage over Java,C#,Python,Ruby that require runtimes or complicated virtual environments.

You can deploy c# app without having to install anything.

Re: The Go Programming Language and Environment

#98

Earlier quoted context omitted.

>> Made by really famous veteran language designers Yeah that’s a positive >> Backed by Google But that’s a negative, https://killedbygoogle.com/ I definitely think you’re too fast to dismiss the language features contributing to popularity. As an example: Fast builds are a positive developers immediately warm to when they experience them (stand by for rustacean “i need time to make tea and my compile times are exact…

I really dislike this meme of pointing out that Google has deprecated a lot of projects. Do people actually expect Google to staff people & resources running every project they've released forever? A more interesting comparison would be open source projects that Google has abandoned or failed to properly hand over control of to the community, especially if we're talking about Go.

I agree.

It is true that Google has some poor product management and has some hilariously inept examples or product coherency (chat being the biggest disaster). But people praise startups for pivoting (read: killing a product) and (in general) demand innovation over glacial iteration. Trying new stuff necessarily means killing things that don't work (or paying a whole bunch of engineers to maintain a dead product for eternity).

Re: The Go Programming Language and Environment

#99
post #75

Earlier quoted context omitted.

>- Made by really famous veteran language designers - Backed by Google Looking at decades of how various programming languages gain popularity, those proposed reasons don't seem that convincing when we look at counterexamples . E.g. counterexamples of unknown (at the time) creators creating popular languages : Bjarne Stroustrup (C++), James Gosling (Java), Rasmus Lerdorf (PHP). E.g. counterexamples of famous computer…

>This is a compelling advantage over Java,C#,Python,Ruby that require runtimes or complicated virtual environments. You can deploy c# app without having to install anything.

>You can deploy c# app without having to install anything.

The C# option of self-contained executables is very recent with VS2019 & VS2022 and was not available when Go came out in 2009.

Before that, you had extra steps of ClickOnce installer deployment or obscure AOT experiments that nobody was using in production. (Also as trivia, the new C#/NET6 self-contained executables don't work on Windows 7 and Server 2012. You still have to install .NET Framework runtime for those older systems.)

So during most of Go's history, the C# executable would get the following error if deployed on a computer without the .NET Framework runtime already installed:

https://www.google.com/search?q=%22This+application+requires...

Re: The Go Programming Language and Environment

#100
post #86
post #48

Earlier quoted context omitted.

> If that were enough Angular would be more popular than it is. What are you talking about? Angular is already one of the two major frontend frameworks, the other one being Facebook-backed React. A couple of years ago Angular was the undisputed popularity king, to boot.

Angular is dead.

So being the 3rd most popular framework in the world now passes off as dead?

https://qreuz.com/insights/market-share-of-top-javascript-fr...

Post reply on HN