Live data from Hacker News

The Go Programming Language and Environment

cacm.acm.org

81–90 of 250 posts

Re: The Go Programming Language and Environment

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

C++ was born at AT&T, shared the UNIX throne with C, adoption grew from there.

Java was created by Sun, was remarkable in having the JDK available as free beer in the age of comercial compilers, Sun bankrupt themselves pushing Java everywhere.

PHP provide a saner way to use a Perl like language on ISPs, whithout the mess of mod_perl, while most ISPs would charge extra for something else.

Smalltalk was gaining adoption, before its main backer outside Xerox (IBM) decided to join forces with Sun and Oracle, and move into Java instead, famously rewriting their flagship product into Eclipse. One of the main architects behind this effort is now leading Visual Studio Code development.

Compiling to single executables has been the way compilers worked before dynamic libraries became widespread in 32 bit platforms.

Re: The Go Programming Language and Environment

#82
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.

No post body was provided.

Re: The Go Programming Language and Environment

#83

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…

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.

Re: The Go Programming Language and Environment

#84

Earlier quoted context omitted.

I'd add "well designed" to the standard library point. When I first started using Go, one of the things that struck me was that not only was there tons of standard library functionality to do things I'd normally have to install 3rd party modules for in other languages, but those standard library modules (mostly) had well-designed, easy-to-use, and consistent interfaces. Mostly. I'll still never forgive them for makin…

I don't think Go's stdlib is particularly well-designed. It's not bad, not at all, but it doesn't seem to stick out in that respect.

What's wrong with it?

Re: The Go Programming Language and Environment

#85
post #65

I'd add one more thing: it doesn't change. Compared to most languages, Go hasn't changed at all over its 12+ year history. It took that long to get generics, ffs. It can be a good thing. It certainly reduces the cognitive load needed to learn the latest and greatest addition to C++ or JS.

[deleted]

Re: The Go Programming Language and Environment

#86
post #48
post #19

Earlier quoted context omitted.

If that were enough Angular would be more popular than it is.

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

Re: The Go Programming Language and Environment

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

Google doesn't have the best track record of maintaining their projects, but I've had a similar experience with Android/Kotlin. Always had a dislike for "strong" OOP, but then had to do a small android app for a university project, and the tutorials, documentation and tooling for Android with Kotlin were pretty amazing. This took away most of the problems of understanding the syntax/language and gave me the leeway an…

Surprised to read that! Android has that "initialization through mutation in a set of lifecycle callbacks resembling plate tectonics" so deeply baked in that even kotlin just shrugs and learns to love the lateinit. I consider that a prime example of how OOP can lead one astray.

Re: The Go Programming Language and Environment

#88
post #3

* "easy" concurrency * rich standard library, particular for internet facing apps * "simple" language * single binaries * massive corporate support * rich or full toolset The first and second point fortunately "coincided" with: the move to multi-core chips, and the "second" dot.com boom of the 2010s. Which you could probably attribute to the rise of (Google) Chrome, and the decline (finally!!) of IE6, which held back…

The concurrency is "easy" in that the syntax for spawning a thread is simple... but that's kind of it. Like other languages, it has a concurrent queue abstraction, and it has some syntax sugar to make using the concurrent queue nicer than some other languages. But like other languages, you end up in concurrency hell with mutexes and condition variables and semaphores and deadlocks.

It has a concurrency story that's about as good as the likes of C++, and inferior to Rust (which errors at compile-time if you do something dangerous) or JavaScript (where the core event loop makes concurrency less necessary and concurrency is achieved with multiprocessing).

In my experience, debugging concurrent Go is way harder than debugging concurrent C++, since the cheapness of spawning a new thread makes people much less careful about their threading model.

Re: The Go Programming Language and Environment

#89
post #49

1 - Golang was created for sub-average programmers, thus half of us soon discovered a way to ship more bugs around, more quickly. 2 - Many unlucky ones in the other half found themselves stuck in environments where the former half was over-represented.

This is bait
Post reply on HN