The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young...

>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. – Rob Pike

Go was a language designed to get smoothbrained codemonkeys pumping out code at Google.

Attached: 68747470733a2f2f7261772e6769746875622e636f6d2f676f6c616e672d73616d706c65732f676f706865722d766563746f (1634x2224, 111K)

Other urls found in this thread:

deno.land/
youtube.com/watch?v=PAAkCSZUG1c&t=8m43s
vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/
twitter.com/NSFWRedditVideo

blue collar programmers are necessary to drive down wages and satisfy the CEO, OP

That mascot is so fucking ugly

Not only the mascot is ugly. The language is ugly as well.

>Think you have an easy to write in fast language for web apis
>Get fucked by Node
>Get Double fucked by Net-Core
>Get Triple Fucked by Rust and Rocket

It's not like your face is any better

is node faster than go at this point?

>t. rob pike

glad two other guys already said this. was about to post the same. the mascot is so damn ugly, holy shit. I can not respect any language with something like this.

>google designs a child proofed programming language because they hire people who can't be trusted to write C code properly

what about Perl6

Yeah but the catch is that is works really well and despite Rob Pikes condescending view of programmgers, you will eventually start using it because its a useful language.

its just another google product where they built something which already exists and make it ok enough to work

>Yeah but the catch is that is works really well and despite Rob Pikes condescending view of programmgers, you will eventually start using it because its a useful language.
I had to hack on a large programming written in go for several weeks. it was awful. it's literally C for javascript hacks who don't understand a byte of assembly language of basic computer architecture. it's a shit subset of C that's stuck in the 1970s.

It prevents you from casually writing terrible code and promotes legibility. Also does away with formatting wars thanks to gofmt. In my books those are positives.

Also kind of love that my Uni has gophers running around everywhere. They're really cuter little guys

>it's a shit subset of C that's stuck in the 1970s.
Every aspect of C is stuck in the 70s, the entire point of Go is to make them more convenient and add GC for non-systems work. Both of them suck ass for complex non-systems work, that is not what they are for.
Keep in mind that in the late 70s, C was considered a brainlet language too.

Smoothbrained virgin codemonkeys toil alone with useless shit like Haskell and Rust sad they dropped out of their useless PhD program pretending they will ever build anything useful while Chad Code Architects build software that people actually use with shit like Go, PHP, and JS

no

Yes

that's exactly what I'm saying: why would anybody use a 70s programming language wearing a autism helmet for a new system, especially given that its performance and memory footprint are worse than that of modern languages like rust and even java and python? for the record I don't enjoy writing C code but at least I didn't have to spend time figuring out how to solve namespace collisions in its own standard library or fighting with its weird toolchain workflow.

its niche is toy CLI programs python can handle or memeservices

I don't even know what this post means.

> Language was designed for ease of programming with a succinct syntax that developers could easily memorize

oh god oh no the horror.

Attached: 1518278016950.jpg (557x800, 193K)

i like go

Attached: 1552605286782.png (1029x1527, 1.26M)

Best language I have ever used. Just works

Is Haskell faster than Node?

>It prevents you from casually writing terrible code
Golang encourages copy/paste programming because it doesn't give you tools to make your code, ahem, generic.

The next version of node is out, its called Deno, its written in Rust.
deno.land/

Doesn't Haskell generate shittons of garbage per second? If this is for a server, you'll probably start swapping if you don't have gigabytes of ram

>Also does away with formatting wars thanks to gofmt
tabs? the fuck is this?

Attached: Untitled.png (811x81, 5K)

>tabs
Absolutely based

What's the problem with a language that's easy to be productive in? I mean, that's what programming languages are ultimately for, writing programs and libraries. Not intellectual masturbation.

>why would anybody use a 70s programming language wearing a autism helmet for a new system
Because sometimes it's all you actually need, which makes developing much faster and comfier.
>especially given that its performance and memory footprint are worse than that of modern languages like rust and even java and python?
Go is about as fast as Java with no colossal JVM, and is extremely faster than Python.
>for the record I don't enjoy writing C code but at least I didn't have to spend time figuring out how to solve namespace collisions in its own standard library or fighting with its weird toolchain workflow.
The Github fetish problem has already been solved.

Only if you use it like C and create a bunch of thunks which that you will never evaluate.

It encourages lazy design and several aspects of it are bone headed. Error handling is just done wrong (See: Rust), the type system is braindead, and general ergonomics are poor. It really feels like a toy language. Doing simple things like talking to a database (even with an ORM) is just tedious. It's a good language for the dev who doesn't value his time. Then there's the matter of the tediousness causing bugs as you're just so fucking bored you're not paying attention. I feel like I'm laying bricks when working in it, not designing a house.

All subjective statements there. I for one enjoy Go's back-to-the-drawing-board approach at programming.
Way better than living on the edge wondering how the morons @ ISO will butcher C++ next?

Is Go intended to be a modern replacement for Java?
Any other neat things compared to Java, besides not having to deal with the JVM?

There is a fine difference between something designed to require minimum effort, and something designed to require minimum intelligence.

>muh computer architecture
>muh assembly
Cancer, you shouldn't need a CE degree to make computers work. If you have a problem with that, don't run Go code.
You're breaking the abstraction layers when you constantly think about byte code and such crap. It's a huge productivity boost to imagine there is no hardware, there is no operating system, memory is free to grab. Gets the job done, you don't need to know how a computer works to make it work.
Everyone screaming about data locality and SIMD should rather sit down and write better optimising compilers for Go.

Go is pretty good. I prefer strictly typed functional Lang's like ocaml and f# but going from that to go makes me appreciate just how easy everything is to do in go as far as tooling gos.

Consistent large standard library. Easy deployable static binaries. Code is cross platform with no need to even think about it. All the code is backwards compatible, there's tons of libraries for it already. It generally has good performance and it's profiling tools are dead simple and pretty extensive. Testing is baked in.

Go as a language isn't particular impressive, but the ecosystem around go is just pleasant.

Oh.
Oh, okay I guess we should all switch to prolog.

The JVM ecosystem is a big part of why you use Java. Go still has it's own run-time environment which isn't as robust.

Java is more modern than Go. Go is just designed for the lowest common denominator to encourage rapid pump and dump development cycles.

>Oh, okay I guess we should all switch to prolog.
that actually sounds comfy as hell.
declarative programming was a good idea that never got its due.

>Go as a language isn't particular impressive, but the ecosystem around go is just pleasant.
i mean, yeah, that's what happens when Google decides to support something.
Christ, just look at node.js.

>Missing features and requiring measurably far more boilerplate is subjective.
I guess COBOL is as good as any language because it's all just subjective right? You don't need anything else really and it's so much easier to start out with.
>back-to-the-drawing-board
You could get the same experience by just picking up any statically typed garbage collected language. Go wasn't back to the drawing board at all. It's got nothing that differentiates itself from the crowd except sponsorship and marketing from Google. There was no new research and design. No actually novel design to make development easier. Just strip out the good shit from a modern language (and when you do take a feature, take the worst implementation!) so first year students can work on your codebase for half the salary.

>Java is more modern than Go
In what ways?

>good shit
Like what? It's like switching from C++ to C.

Go has shortcomings, there's no two ways about it. However, I feel like the language is a few features away from being a great language, and I like how the language designers are taking their time when it comes to said new features, as opposed to other languages that either never grow or add too many features that ends up leaving a gigantic fucking mess in their wake.

Every language designed to take down C++ has been exactly that.

I see you have a job as well, my friend.

Not him but it has a half assed attempt at generics at least, and the bytecode/jit method of cross platform is better than static compilation unless you need extremely fast start times. But at that point please use C or Rust.

I *literally* work for Google.

Generics, dynamic dispatch, actual OOP, more choices for concurrency and parallelism.

If I was your boss you would be fired.

But you're not my boss. You're not anybody's boss and you never will be.

The real smooth brains are the gaybois caring about what languages others are using. Go build stuff in c if you want or go do it in go. It really doesn't matter.

The problem with C++ isn't that it has lots of features. The problem with C++ is that there is absolutely no consistency, and mistakes from 40 years ago haunt it to this day. The biggest problem with C++ is they bolted on basically everything they could think of without waiting to see if the concept held any water.
Leaving out quality of life features that we know work well is retarded.

based
/thread

>Actually admitting to being a paid shill
I never thought I'd see the day. That's pretty brave, user.

Attached: 1499988497372.jpg (500x500, 26K)

Boy how I wish that were true because it would mean I wouldn't have to spend any more time managing incompetent engineers like you.

I don't think anyone itt cared if retards are using Go. This is a thread for making fun of gopher fuckers.
It's going pretty good so far. They're on peak damage control.

it's an oberon/modula-2 rip off.

both of these languages have been used to create operating systems so they are capable.
oberon has built in garbage collection. Modula-2 is more like c with pascal syntax.

design language before compiler exists. write compiler in said language. Compiler self compiles with a lil' help from assembly.

niklaus wirth is the fuckin man.

yikes
though its probably good for employment

Fits with what OP has quoted. A retarded mascot for a retarded language.

I'm not shilling, I'm tired of bullshit by amateurs. Especially when someone tries lecturing me about data locality.
Look, there's no "cache" keyword in C, C++, Go, Rust, Java, etc. Leave it to the compiler. Granted, that's what we need - better optimising compilers.

>incompetent
If you had a job at any company, you'd be fired because you wouldn't keep up your SLOC or feature development quota relative your colleagues what with your outdated boilerplate generator languages.

like it or not Go is the way to go
just wait until someone based makes first usable native gui library

Attached: 1554478659576.jpg (569x760, 46K)

>Go is the way to go
do you print t-shirts?

Drag and drop code blocks is the way to go.

The meme that programming is just googling is only true if you have not learned it correctly.
Sitting down and working out a solution before hand is far superior then just googling shit as you go.

I did. We transitioned from node/typescript to go for a reason.

It takes lots of effort and brainpower to create a simple, elegant tool.
Don't underestimate the value of simplicity.
From the little experience I've had developing with Go, it starts out feeling like you're laying bricks (like one user pointed out), but I ramped up into abstractions so quickly it became a rather pleasant experience, and it isn't as brain numbing as OOP junk.

>your SLOC or feature development quota
Why would I be doing things which have nothing to do with management?

Your point is?
If it's easy and does the job, why do you care about this?

> which already exists
?

I just display tabs as four spaces.

Go is meant to replace C/C++. Go is systems programming language.

Attached: rmm19vt8vp911.png (2512x1018, 421K)

It's not the "next" version. It's a complete new project unrelated to Node by one of the founders of it. He left because he saw how Go did things better than Node

>garbage collected
>requires a run time environment
>retarded package management which is unusable for large scale projects
nope, its a cheap crud lang and that's all

>the state of Jow Forums
enjoy being a clueless code monkey

That was a useful comment.

This mindset is what causes distributed systems to fail. People who don’t reapect the hard logical and physical limits in computation which can only be overcome by understanding the problem deeply. Instead they mindlessly throw more servers and abstractions at the problem until the whole thing stops working.

>meme that programming is just googling
but that is the case for many.

i give you example from my past where for certain reason i made a browser based on a quite nice and capable engine with a great interpreter made by some burger, therefore we can say a simple ui

ran into few problems and a person i knew who was working as a pro at the time offered to help. couldn't solve the problem, tried for few hours. had g**gle up during that time.

next day i figured it out and done what i wanted.

if one only memorizes syntax, libraries and general concepts for whatever language here you have a modern day dev

>Java is more modern than Go.
What is "modern"? An endless pile of poorly thought out fads? It's not the 90s anymore either, it's now common knowledge that OOP is just more work for no benefit.
>Go is just designed for the lowest common denominator to encourage rapid pump and dump development cycles.
All simple tools are idiot-accessible. That does not make them only useful to idiots. Using a complex tool for a simple task doesn't make you smart, it makes you autistic, and using Go for inherently complex tasks is using it for something it was not made for, like how idiots think Perl is bad because they shoehorned it into the dumbest possible uses.

>Generics isn't important!
>Concise expressiveness isn't important!
>Performance isn't always important!
>Good error handling isn't important!
>Parametric polymorphism isn't important!
>Good typing in general isn't important!
>Metaprogramming isn't important!
>A good debugger isn't important!
The worst part is eventually generics and parametric polymorphism WILL be bolted on, as the language is in a sorry state without them. Once the implementation is complete, the language will be in a sorrier state for having them as an afterthought. Go is unfixable without a hard Python 3 style break, and the community will never recover. It's fucking pottery.

>it's now common knowledge that OOP is just more work for no benefit.
Only sheep’s think this. OO has plenty of worthwhile applications when used intelligently where it applies. The dynamic elements of OO specifically address the interface issues in C, and by extension Go.
If Go was modern it would be implementing more functional aspects and a modern type system. It barely does the first and utterly fails at the latter.

Wait, why are Googlers so retarded if they ask technical interview questions? Are Linked Lists and binary trees really not that hard?

- hate the mascot
- GOPATH is dumb as hell, packaging is mediocre
- organizing a project is annoying compared to basically every other language

minor nitpick:
- parsing and dumping timestamps does not use the most basic, standard date format that basically every other language uses, instead some asinine timestamp that you have to look up to use, dumb as fuck

>they’re not researchers
You missed the point, researchers write horrible code.

>so first year students can work on your codebase for half the salary.
implying this isn't the ultimate goal of nearly all modern software development practices

Shut up who cares

youtube.com/watch?v=PAAkCSZUG1c&t=8m43s

>What's the problem with a language that's easy to be productive in?
Nobody said Go is easy to be productive in, and in fact it's not. It's lacking multiple significant, well-established abstraction mechanisms, and forces programmers to repeat endless boilerplate for no good reason. if err != nil { fucking_end_me_please() }

This user fucking nails it:
>I feel like I'm laying bricks when working in it, not designing a house.

The goal was accomplished with Python and Java a long time ago. But both those languages allow a far more rapid rate of development when your babies get a year or two of practical work under their belt, and allow experienced developers to work extremely quickly even when the design is complex. Golang has no learning curve, but that also means someone who worked with it for five years is unlikely to be much better than someone who worked one year, and both will get btfo by someone who has done a few years of java.

>Are Linked Lists and binary trees really not that hard?
Wtf, are you one of those css artisans? It's literally the intro to all algorithms tutorials.

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

>our programmers are Googlers, they’re not researchers
>and yet entry level jobs require shittonnes of CS type data structure tests

Attached: Google.png (1321x588, 206K)

Seems legit. See vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/

/thread

Let's say you're white (and thus writing quality code is a requirement of your job) how do you write something like this in go:
def fuck(POST):
try:
username = sanitize(POST['username'])
password = sanitize(POST['password'])
...
except:
# Do something if bad input was received