Whats your opinion on Google GO?

Whats your opinion on Google GO?

Attached: 241142124.png (607x318, 58K)

Other urls found in this thread:

channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/From-Parallel-to-Concurrent
golang.org/pkg/sync/
talks.golang.org/2012/splash.article
twitter.com/NSFWRedditImage

>The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt.
Good for Megacorps

Kinda sucks but at least the concurrency primitives work well.

It's C with none of the benefits but all of the drawbacks.
Imagine if you de-clawed C but kept all the 1978-era language design decisions.
No pointer arithmetic and no type generics?
Even google admitted it's a dumbed down C for their supposedly smart new hires.
You can tell how well that worked, even google refuses to use Go for anything important.

>even google refuses to use Go for anything important
Thats cause the language is young as fuck and still a WIP(tm)

Somehow Google turned Rob Pike into a homosexual and this is what he made after the process was complete.

not worth touching until version 2 possibly

version 2 looks like actual trash

Explain?

It can’t compile itself and embeds a GUID into every binary so Google can track who made what software.

is that true?
link

the generics proposal is fucking retarded since it's not actually based on interfaces and error handling is even uglier than it already was

>Google
Botnet

Attached: 5515B4B4-ED8C-4F3C-8BE5-DB3C2F3494C9.jpg (348x145, 17K)

a worse java

the productive man's language

>It's C with none of the benefits but all of the drawbacks.
>No pointer arithmetic and no type generics?
another brainlett echo chamber thread, these threads are not even funny anymore

It's ok, not great, but not bad I guess.

- Lack of generics is pretty lame. Lots of people write it like Java, even though it's not Java which is weird.
- Error/exception handling is just balls compared to most other languages.
- I don't like anything about how packaging works really in it.
- Pretty verbose still for a modern language, so doing anything requires plenty of boilerplate.

It's shit. Use C++, Rust or D.

It's OK but feels like a poor man's C. Everytime I use it I wish I was just using C. Also it's regex is supper fucking slow and limited.

straight from the horse's mouth

Attached: rob pike on golang.jpg (1024x683, 253K)

sauce? I keep seeing that quote

The source is Rob Pikes talk at Lang.NEXT 2014: channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/From-Parallel-to-Concurrent

timestamp 20:40

webm:

cool thx

Here's the other 'horse', literally the most important programmer in the history of computing, no one has every affected the IT industry more than ken. Ken has more programming languages for breakfast than all the people who have made (((brilliant))) programming languages together have made in their lives.

Ken didnt make Go for dummies and flunkers, he made it for himself because he HATED C++, period, end of story

Attached: ken_thompson.jpg (300x297, 49K)

Here's the other 'horse', literally the most important programmer in the history of computing, no one in the world has every affected the IT industry more than Ken. Ken has made more programming languages for breakfast than all the people who have made (((brilliant))) programming languages together have made in their lives.

Ken didnt make Go for dummies and flunkers, he made it for himself because he HATED C++, period, end of story

Attached: ken_thompson.jpg (300x297, 49K)

You're wrong, Go wasn't made by Rob and Ken for Rob and Ken. It was made by Rob and Ken for the average google programmer, whom Rob (and probably Ken) has a low opinion of.

Rob Pike has confirmed this numerous times.

Attached: deleted.png (1099x180, 86K)

>whom Rob (and probably Ken) has a low opinion of.
>Rob Pike has confirmed this numerous times.
anyone here can simply check youtube for interviews of Ken stating why he made Go, this is all Bjarne-FUD, you're language is dying get used to it Bjarne

This.
Every justification is just so that they can justify it to companies, people, and their employer.
But in reality, they just hated C++, which they had to use every day, and wanted to make a language for building systems that is completely simple, like every single fucking thing they did.
But for some reason retards are completely outraged over the fact that a language can try to be simple.
How can they feel big-brained and intelactual when they are using something that is 'simple'.
Ironically they rave about UNIX concepts at the same time, not realizing that similar core concepts to UNIX is what is driving go.

I just gave you a video of Rob Pike admitting that Go was designed for google programmers who are "not capable of understanding a brilliant language". It was designed as a lowest common denominator language for people with mediocre capabilities and experience.
You can deny this if you want, but you're just making yourself look silly.

Go the language is shit, very unexpressive language. Go the ecosystem is the best language that exists right now. There are libraries for everything made by all the best companies in the business. Nothing comes close. Also Kubernetes is Go and if you aren't doing container orchestration you might as well kill yourself boomer.

>Go wasn't made by Rob and Ken for Rob and Ken
Why are you lying?
On their blogs and in various talks they have stated that they were just fed up with all the shit that they had to do during their average C++ programming days.
Pretty much every design choice in go is so that it isn't like C++.
Also languages they made before they were at google already were like go. Newsqueak and similar.

That is a justification. Marketing so to say. How else would you get companies to use the language? And also it works.
A few design choices were maybe influenced by being around terrible programmers, and that is a good thing, because this means this language is idiot colleague proof.
Would you rather program in a language where everyone in your team fucks up all the time, and you have to fix the shit your team-members produce, or something where you can get your job done?
I would prefer the latter. But you are so big brained that you don't actually need to work. You just imagine yourself programming, and come to Jow Forums to complain about shit that you have no fucking idea about.
go in itself is a continuation of languages that were already developed by these guys before they were at google. Languages like newsqueak where already pretty much like go.
Go is just the polished version of newsqueak with a pretty good compiler and tools.

>Go the language is shit, very unexpressive language.
Define expressive.
Probably you are just a terrible programmer if you can't see that the language is quite nice in a lot of ways.

for me it's C with strings, automatic memory management, a big and useful standard library and easier portability.

if you're a C programmer, you will love Go. sometimes i still miss C because i've been programming in C for last twelve years, but Go is more more practical these days.

if you're a C++ or Java programmer with lots of programming paradigms and tools, such as oop, generics/templates etc. you'll probably miss them, and you'll end up with the idea that Go is shit.

If you're a C programmer who likes minimalism, never use ide, use vanilla makefile, never use bloated 3rd party libraries etc, you'll absolutely love Go.

In the end, it comes to the conclusion bjarne stated once;

>There are only two kinds of languages: the ones people complain about and the ones nobody uses.

at the end of the day, lot's of people use Go and more seems to adopt it every day.

Bad attempt at making nu-C and strictly inferior to Rust except for raw concurrency

How go came about; Rob to Ken:

Rob: God damn it, this fucking noob forgot to free his fucking memory again. I fixed it, but it took fucking hours to recompile everything again. Then I realized he introduced a race condition, and I had to recompile another time!
Ken: I know, right. Too bad the only other option that google would be ok with is fucking java. And there these pajeets sit around for hours building useless type-hierachies instead of doing their fucking job.
Rob: It can't be helped. I wish we were still back at bell labs, back in the good old days.
Ken: You know what, I wish we could just use the language you invented, newsqueak.
Rob: That would be awesome.
Ken: Maybe try asking the higher ups.
Rob: Nah, that won't work.
Ken: Just rebrand and market it and maybe they'll accept it.

Rob then asked the higher-ups if he could work on a language for google, he took out his shoeshine, polished the idea of newsqueak with other bell-labs people, and it succeeded.
We finally have a simple and sane mainstream language.

Jow Forums rightly shits all over Go for being designed for brainlet pajeets, but if you've ever worked on a project with brainless pajeets, it is an absolute god send.
It's one of those languages I wouldn't use for personal projects but I'd be happy to program in it if I was forced on a team.

I agree. I'm a C programmer too, and this is why I like go. I just always enjoyed simplicity.
The standard library is well designed and shows other programmers how to do things in a great, but simple way.

>Jow Forums rightly shits all over Go for being designed for brainlet pajeets
It's designed for Rob, Ken and all other bell labs employees.
Basically I think it's a modern software-engineering language for C programmers that hate C++.
Also I don't know why you wouldn't use it for personal projects.
It's my go to language for everything that doesn't require C by now.
Not much reason to use anything else really.

I guess if you want a well-performing serverside language with an already existing ecosystem, it's your best choice.
Next to C#, at least.

As a C programmer, using Go makes me just want to use C. The only thing I like about Go is its standard library, working on strings, and networking stuff is easier. Other than that, I much prefer C. Plus Go is way too opinionated for something that is supposed to be a general purpose language.

Well, it's natural for C programmers to want to use C.
Go makes a lot of stuff easy though, basically everything that involves strings, networking, and importantly concurrency.
Easy concurrency is why I prefer go over C for most stuff. Easy and cheap thread spawning and communication between them is really great.
I use C more often though, because I'm working on stuff it is better suited for (soft-realtime performance critical programs).
If it isn't soft-realtime, then I would use go in most cases.
>Go is way too opinionated for something that is supposed to be a general purpose language.
I just don't see how it is. But I guess being simple and straightforward is 'opinionated' in a world of bloat.

By opinionated I was referring to:

- Only have for loops, if you want to use a while loop you have to use a for loop with a fucked up syntax

- using camel case

- the whole single variable bullshit for receivers

It really doesn't seem like that much when you list it out, but in practice I find these design choices really poor and something that should be left to the developer anyway.

>while is bloat if you have for
>a name is exported if it begins with a capital letter
>all go code looks the same
wtf i love go now

But not if you want to do traditional concurrent datastructures and the likes. The go-thread things can be good though.

I work with it a lot. It's pretty fun, and shares a more simplistic syntax than C, and is closer to Python.

It's an incredibly opinionated language and the compiler will refuse to do things that sometimes gets very annoying. For example, if you have an unused variable that's considered a syntax error and it will not compile. Or if you do not handle a returned error, it will fail to compile. This makes great sense from a code cleanliness PoV and stability, but it also gets VERY annoying when you're just trying to debug a single block of code. You end up having to either write everything perfectly, or comment out large swaths of code just to debug something.

It's strict data structures makes it annoying for any complex data handling, especially for web server backend stuff. But it's got great native JSON support so it's somewhat offset. You can just state how a data structure looks like in JSON right in the declaration.

The ability to import libraries from GitHub natively is also really cool. The downside to that is $GOPATH and how fucking annoying Go can get with folder structure. I just ended up making my own virtualenv-esque for Go so that my $GOPATH isn't a cluttered shithole.

>But not if you want to do traditional concurrent datastructures and the likes
The fuck are you talking about?
What traditional concurrent datastructures? You mean golang.org/pkg/sync/ ?

>while loops are bloat but somehow a slow ass garbage collector isn't
Not having while loops is just dumb. Also, maybe instead using capital letters, Go could just use a package system that is explicit so this isn't a problem.

unironically this

>Also, maybe instead using capital letters
Or it just can't.
This way it is very easy to see what gets exported and what not, and it's also very simple for infrastructure surrounding the language to know what gets exported just by looking.
And it's literally as convenient as possible for the programmer and readers of the code. Just change a letter.
No fucking around with anything but the source. Done.
It's the easy way, and I don't understand how people can have anything against it.

>GOGC=off
>for x < 100
>edit a single letter
is plebbit down?

terrible language with decent concurrency primitives as far as imperative languages go. i wish go programmers would learn haskell but theyre the most close minded anti abstraction cult in existence

GO more like NO

Cope noobs

>would learn haskell
I programmed haskell for several years before I tried go. I was actually payed for writing haskell once too
I used to post a lot about haskell on Jow Forums when I was still active on here. In my eyes Jow Forums just got dumber and dumber, and I left only to return once in a while. Maybe I just got smarter and actually spent more time programming instead of arguing with people who don't program
Go is better as a tool for writing programs. It's a great language with a good ecosystem, and the only reason why you think it's 'terrible' is because you think disliking simple things will make you seem big-brained
Nitpicking about a few small details doesn't make it bad either
Haskell is a very interesting language, and great for domain specific languages, but for writing programs it doesn't have much of a real benefit, just promised benefits
Promised benefits the language doesn't really keep and introduces a lot of complexity for. This added taxonomy always has to linger in your head while you write, while not adding any benefit (at least it's type checked, so that is already better than most languages)
The abstractions become quite messy after a while too. I often cringed when I pulled in some libraries and saw conduit and pipes pulled in. It's ridiculous.
Meanwhile in a low abstraction language you just have what is actually there in your computer, a buffer. The concept is universal and simple.
With low abstraction languages you have to mind things while you are programming, but in comparison these things you have to care about bring a real benefit.
Go positions itself where it is safe-enough and fas enough, covering a lot of ground.

Overall I have seen zero benefit in Haskell over go
The only thing I would wish to see in go from haskell is easy currying. partial function application is possible in go, but a bit bothersome to write.
Haskell is fun for some toy problems and doing cool stuff with the type-system, but overall it's not too great.

>even google refuses to use Go for anything important.
Google uses a lot of Go internally for important stuff. Kubernetes is written in Go, which is basically the open source version of Google's own orchestration.

Go came about because Rob and Ken had nothing to do while waiting for C++ to compile (muh templates).
talks.golang.org/2012/splash.article

Google doesn't use k8s they use borg and some other thing.

Borg is basically k8s, and Google is pushing internally to move to GCP.

> pay $300k salary
> get programmers incapable of understanding a brilliant language
Why do they do this?

lol

Attached: Screenshot from 2018-10-31 17-11-13.png (1622x1038, 172K)

I tried a toy project in it and found it alright. It's not too bad syntax wise, but it's kind of amusing (or rather pathetic) that a language with that kind of design has piss poor performance. I wonder what exactly is the point of it?

I think Haskell mostly suffers from piss poor libraries including or maybe especially prelude. So many packages have piss poor performance (while promising the opposite) and completely incompatible designs with each other it becomes a real struggle to get anything done in it, let alone in an elegant way. However, I think many people can appreciate the core of the language itself.

> slow as fuck FFI which takes 10 times amount of time LuaJIT does.
I have nothing against the language, just runtime is too crappy for my use case.

>while loop you have to use a for loop with a fucked up syntax
>Not having while loops is just dumb.
foreach (for maps, slices etc)
for key, val := range someMap {
//...
}


regular for loop
for i := 0; i < 10; i++ {
//...
}


while loop
for cond {
//...
}


to your basements nigger monkeys.

Why not just, you know, include while loops then? What the fuck is the point of using syntax that almost universally has a different connotation and expectation in just about every other language? I get that you can manipulate for loops to behave like a while loop but this seems much less clear then just using a while keyword in terms of communicating what are the expectations for the bounds of the loop.

It's okay I guess. A lot of the c features I like were removed (real enums, unions, macros) but it's nice to have a standard build system and package manager especially now that go mod is here. Still think it's a little too verbose and autistic about what "correct code" is.

>Ken didnt make Go for dummies and flunkers, he made it for himself because he HATED C++,
Source?
Ken is probably the best C programmer alive. I hardly think he needs Go.

>Ken is probably the best C programmer alive. I hardly think he needs Go.
do you know what's plan 9 c compiler? 6c, 8c?
ken wrote extensions to C that are precursors to Go.

All the people posting the Rob's quote misunderstood it.
PIke has a suckless-like mentality, and 90% of people are not researchers. That doesn't the language is made for stupid people, it means it is simple, and that's is the most important quality in Rob's mind.
The language is pretty much a fusion of Rob's (news)squeak and a bit of Limbo/Alef, which were made before he started working for Google.