>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.
blue collar programmers are necessary to drive down wages and satisfy the CEO, OP
Matthew Reyes
That mascot is so fucking ugly
Jack Diaz
Not only the mascot is ugly. The language is ugly as well.
Isaiah Watson
>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
Joshua Long
It's not like your face is any better
Ryder Lewis
is node faster than go at this point?
Isaiah Adams
>t. rob pike
Landon Baker
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.
Joshua Jenkins
>google designs a child proofed programming language because they hire people who can't be trusted to write C code properly
Samuel Bennett
what about Perl6
Austin King
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.
Robert Lee
its just another google product where they built something which already exists and make it ok enough to work
Aaron Garcia
>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.
Camden Bennett
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
Juan Thomas
>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.
Ryder Howard
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
Elijah Sanchez
no
Ethan Peterson
Yes
Lincoln Wright
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.
Christian Hughes
its niche is toy CLI programs python can handle or memeservices
Robert Diaz
I don't even know what this post means.
Colton Perez
> Language was designed for ease of programming with a succinct syntax that developers could easily memorize
>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.
Sebastian Reed
The next version of node is out, its called Deno, its written in Rust. deno.land/
Connor Davis
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
Charles Ross
>Also does away with formatting wars thanks to gofmt tabs? the fuck is this?
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.
Matthew Barnes
>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.
Jeremiah Edwards
Only if you use it like C and create a bunch of thunks which that you will never evaluate.
Landon Cook
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.
Nathan Cruz
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?
Jaxson Jenkins
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?
Landon Cook
There is a fine difference between something designed to require minimum effort, and something designed to require minimum intelligence.
Anthony Sanchez
>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.
Ian Foster
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.
Jeremiah Gutierrez
Oh. Oh, okay I guess we should all switch to prolog.
Angel Rodriguez
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.
Jayden Davis
>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.
Hudson Morales
>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.
Landon Jackson
>Java is more modern than Go In what ways?
Brandon Roberts
>good shit Like what? It's like switching from C++ to C.
Jeremiah Gray
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.
Hudson Wright
Every language designed to take down C++ has been exactly that.
David Scott
I see you have a job as well, my friend.
James Martin
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.
Jordan Sullivan
I *literally* work for Google.
Hudson Moore
Generics, dynamic dispatch, actual OOP, more choices for concurrency and parallelism.
Colton Cox
If I was your boss you would be fired.
Jeremiah James
But you're not my boss. You're not anybody's boss and you never will be.
Ethan Miller
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.
Ethan Cooper
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.
Connor Foster
based /thread
Bentley Murphy
>Actually admitting to being a paid shill I never thought I'd see the day. That's pretty brave, user.
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.
Luke Powell
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.
Ryder Butler
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.
Caleb Perry
yikes though its probably good for employment
Benjamin Sanders
Fits with what OP has quoted. A retarded mascot for a retarded language.
Alexander Morales
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.
Caleb Jones
like it or not Go is the way to go just wait until someone based makes first usable native gui library
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.
Jace Stewart
I did. We transitioned from node/typescript to go for a reason.
Kevin Kelly
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.
Levi Gray
>your SLOC or feature development quota Why would I be doing things which have nothing to do with management?
Nicholas Bennett
Your point is? If it's easy and does the job, why do you care about this?
Elijah Scott
> which already exists ?
Austin Lewis
I just display tabs as four spaces.
Logan Nelson
Go is meant to replace C/C++. Go is systems programming language.
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
Nicholas Adams
>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
Aaron Bell
>the state of Jow Forums enjoy being a clueless code monkey
Jack Garcia
That was a useful comment.
Jaxon Gonzalez
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.
John Butler
>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
Jonathan Williams
>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.
Luke Robinson
>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.
Henry Roberts
>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.
Noah Martin
Wait, why are Googlers so retarded if they ask technical interview questions? Are Linked Lists and binary trees really not that hard?
Michael Russell
- 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
Jason Butler
>they’re not researchers You missed the point, researchers write horrible code.
Ryan Ramirez
>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
>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.
David Barnes
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.
Lincoln Harris
>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.
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