Why is golang gaining so much steam lately ? What is it used for...

Why is golang gaining so much steam lately ? What is it used for ? I just dont really get what it does better than other languages, it just seems like a middle of the road language.

I guess I could see it eventually replacing Python for machine learning because of the better performance but then again most ML libraries are likely already build on C and just wrapped with Python right ?

I mean if we wanna talk about rapid prototyping and ease of use Python beats Go. And if we talk about speed and potentially replacing C then Rust would be the only real option.

So what does Go do ? What is it most used for ?

Attached: go.png (607x318, 17K)

Go has a simply syntax so it's easy to learn.
It dosn't have try/catch, so it's easier to handle erors. It compiles fast. You can cross compile to another architecture.

One of the best things is that you can compile all dependencies into the application. So that the whole programs is a single binary file, so that you dont have to worry about dependency tracking.

Because of this it's very easy to deploy in Go code in containers.

Also Go is a comfy language with alot of built in functionality which other languages doesn't have. Concurrency is also a big thing for Go.

It's a meme by and for Ruby and server-side JS hacks.

It has pointers -> it MUST be fast!
It is compiled -> it MUST be fast!
It has a GC -> it MUST be safe!
It has concurrency (ok, I'll give it this one given JS/Python GIL)
It is statically typed -> it MUST be a serious language for serious projects

Meanwhile, the people it was aimed at are using languages which have every feature Go 20xx wants already included. Go devs rarely complain about this because they just don't know what they're missing (generics? isn't generic? error handling? aren't errno and return codes errors? functional purity? what's a function, don't you mean a def block? higher-order function? isn't that just sort by ascending?)

Like seriously, the language is the IKEA bookshelf being sold to an industry of carpenters. If you want a bookshelf, it's amazing. If you want to do ANYTHING else, you'll have to bend over backwards to make your structural beams from my leftover SKOLLPRAGR chipboard.

it's actually trending downward, maybe go 2.x will help

From my understanding it's being controlled very tightly from a feature stand point, which is a huge selling point for people who have been burned by C++. It's syntax is absolutely brain dead easy to read if you come from a C/C++ background, even more so as it literally will yell at you if you format it improperly. This is important as it makes code readability a priority, which helps on very large projects with a lot of contributors. It also has built in GC with comparable speeds to C/C++ without having to spend time optimizing. It also has built in concurrency features.

I'm not a coder, I've just watched a fuck ton of talks on Go from various conferences. It seems like the most well put together language created after Y2K, and it's a google project for a reason.

>Why is golang gaining so much steam lately ? What is it used for ? I just dont really get what it does better than other languages,
You can easily create a nice stand-alone binary that accepts traffic from your reverse proxy to process a web front end. Its easy to use and is simple like C and performs very well resource wise and it allows for easy multitasking using "go routines" if you so choose.

Attached: 5B4A67F3-DF22-4513-AA55-121BAB73F4BB.gif (320x240, 2.65M)

I've worked at a company using Go in production before and the main benefits I thought it had are:

1. Someone who knows Java/C/whatever can learn it really quickly.
2. Super easy to Dockerize (we were deploying the application microservices in Kubernetes).
3. Super easy concurrency (especially compared to Java)
4. Can pass functions as parameters to other functions without jumping through hoops (which IMO is an advantage over Java).

The downsides I found (coming from Java at the time):
1. Not as many libraries as Java.
1.5. No good mocking library that I'm aware of for unit tests (which is really annoying so I felt the need to mention it specifically).
2. Supposedly not as performant as Java.
3. IMO it's not quite as structured as Java so it leaves you open to writing spaghetti code.
4. No try-catch for error handling (I personally don't like this anyway).

I do like Golang a lot and if I was going to write a simple "backend" application (like a few APIs or something) or a microservice application and run it in Docker I'd probably use Golang. For a big monolith I'd go with Java since there are lots of people that know how to make clean, non-spaghetti Java monoliths. And for a web application I'd probably go with something that has more libraries for web e.g. Node.js, Java, or Python/Ruby or something.

Just to mention, I've only used Java, Node, and Golang in production (plus Scala, Python, and PHP for tests and internal company stuff). And I specialize in APIs but have also done web apps in Node, PHP, and Spring/Java.

Like java but simpler. Well suited for the corporate environment. I really don't see how you could not get that. Are you some kind of underage retard or something?

why so harsh?

>Why is golang gaining so much steam lately ?
easy to learn
hard to make mistake
gc
not much oop trash
goroutines make multithread easy
it fits really well as a backend server, lighter than node/java and can achieve more
>What is it used for ?
sysadmin networkin tools
backend server
proxy, load balancer
prototyping C++ programs
>I guess I could see it eventually replacing Python for machine learning because of the better performance but then again most ML libraries are likely already build on C and just wrapped with Python right ?
python is the scripting language, NNs are built in C/C++ already
scientists already know matlab and python so no point in changing
>And if we talk about speed and potentially replacing C then Rust would be the only real option.
go has a gc which disqualify it as a potential C++ successor pretty much everywhere

G e n e r i c s

Right click -> refactor

>using the mouse while programming

because there are a lot of brainlets in this industry

Attached: go.jpg (680x697, 247K)

Because google pays wumaos to shitpost across programming forums about how much they love it.
It does nothing unique, and what it does do, it does worse than the competition.

If the world were fair, Rust, Nim, or Crystal would be pushed by Google and this abomination would have withered and died

>easier to handle erors
if err != nil

It came from Rob Pike, which is about as far from the elegance of Ruby as possible. I'd say it came from retarded python nigs more than Ruby

>wumaos
Is this the new slang term? Are we borrowing from fucking Mandarin Chinese now? Or is this just you being pathologically unable to type?

If the shoe fits

Duanxiu

I'm in the same boat, what the fuck is going on? Jow Forums used to despise this language, I'd see a new meme calling it retarded every week. Suddenly everyone loves it

see

They failed at making a better C++, but they made a better Python

Attached: gopher-chan.jpg (1280x720, 298K)