[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
Golang confirmed designed for retards
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /g/ - Technology

Thread replies: 115
Thread images: 10
File: golang.sh-600x600.png (69 KB, 600x600) Image search: [Google]
golang.sh-600x600.png
69 KB, 600x600
Rob Pike, designer of Go, has said this about it and its use at Google:

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

Source: https://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/From-Parallel-to-Concurrent

For emphasis:
>They’re not capable of understanding a brilliant language

So Go was designed for people whom he thinks aren't very good at programming.

We hear a lot about using software that doesn't respect the freedom of its users, and there are good points on both sides of the debate.

But why would *anyone* use software like Go, that doesn't even respect their intelligence?
>>
>>53542528
they need to make a better logo more than anything
>>
>>53542528
>has to be easy for them to understand
What? I thought they only hire the smartest people around.
>>
>>53542897
>only hire the smartest people
they hired moot so thats out of the window
>>
>>53542897
From what I can gather they don't know what the fuck they're doing
>>
>So, the language that we give them has to be easy for them to understand and easy to adopt.
Pike has never heard about scheme.
>>
>>53542991
DELETE THIS
>>
File: laughing whores naruto.png (571 KB, 1136x757) Image search: [Google]
laughing whores naruto.png
571 KB, 1136x757
>>53542991
kek
>>
It's like one huge troll. Rob Pike's wild ride.
>>
>>53542853
this.
Whenever I see that Golang or Plan9 thing I almost understand the fluffy abuse threads on /b/.
>>
>>53542897
The smartest people around tend to understand the potential ethical connotations of what they create. Google simply couldn't run if they did.
>>
>>53542528
what a dick. guy grew up before systems design died, and back when education meant learning how computers actually worked, not flavor-of-the-month abstractions.
>>
>giving people tools appropriate to their ability and have them be able to use them well rather than throwing them in at the deep end and have them write shit is somehow a bad thing.
>>
>>53542897
idk, they hired the token girl from my school
>3.05 GPA
>sits on tumblr all day
>only writes shit in python
>can't understand pointers or memory management after taking 4 years of that shit

I honestly think they just hire token minorities and google fanboys who will spend every waking minute at the office
>>
>>53543561
I mad.
>>
I honestly don't know how or why people use this as some kind of criticism.

The language forces you to deal with errors and not be sloppy, it simplifies things like threading with goroutines and channels, it shows how to make useful apis with interfaces and receivers on datatypes, and it's strongly typed compiled language so there's never any surprise mistakes at runtime.

I feel like it would be hard to write bad Go code with the design decisions they made in the standard, even for inexperienced programmers, it should whip them into shape.

The language itself seems fine too, it's not like there's any drawbacks to making a simple and safe language with a good standard toolset.

I really see no problems with making a language that is as he said, easy to understand and easy to adopt as there's no compromise that has to be made.
>>
>>53542991
who?
>>
>>53543847
>The language forces you to deal with errors and not be sloppy
In the most tedious way possible.

>it shows how to make useful apis
Are you shitting me?

>it's strongly typed compiled language so there's never any surprise mistakes at runtime
Except you have to use
interface {}
everywhere to get any kind of code reuse, and then you lose typechecking!
>>
>>53543871
If dubs this is bait
>>
>>53542897
They outsource over 90% of all labor. The "smart people" are part of google research and google subsidiaries, not of google software or IT.
>>
>>53543561
It takes all kinds of people. She probably does boring fucking work that smart people don't want to do. Doesn't take a brilliant genius to write internal tools. Nobody gives a shit if the company contact book has slow queries. Plus, they can pay her much less than real programmers and she won't get bored, because she's an idiot.
>>
>>53542528
In the rust v.s. go v.s. D debate, rust is the clear, objective winner. In a language war where everything is allowed and libraries count, ocaml is the clear winner (lacks libraries, but features/ffi/what libraries do exist makes up for it). For systems programming, there's nothing better than ATS.
>>
>>53543966
> dubs
amen
>>
>>53543966
>strict
trashed
>>
>>53543966
The thing is that D and Go, for all their faults, actually exist, while Rust lost all momentum as soon as the community tried to give the SJW mouse a cookie, and they spend all their time bickering about tranny pronouns now.
>>
>>53543847
The type system is extremely weak, the error model is shit-tier and forced error handling in that manner (as opposed to optional types, or exceptions) is tedious and reduces readability. While goroutines and channels "simplify concurrency", it doesn't do so any better than in competing languages. In fact, it's several steps back from what can be found in other modern languages.
>>
>>53544004
> goroutines and channels "simplify concurrency", it doesn't do so any better than in competing languages

totally agree with this. picked up Go for a month and realized other languages accomplish their concurrency patterns with small libraries, with the added bonus of not being new languages. What's the point? Not going to force my developers to learn Go if they can already do the same job with a different language.
>>
File: himouto-title-pic.jpg (17 KB, 525x295) Image search: [Google]
himouto-title-pic.jpg
17 KB, 525x295
>>53542853
I suggest pic related, both are hamsters and Umaru is infinitely more memeable.
>>
>>53543966
> ocaml
hey anon, first-class closures = spaghetti stack = mandatory GC = not an actual systems language

Go might be another GC piece of shit, but at least it doesn't think being able to make ad-hoc implementation of shitty flow control mechanisms like exceptions is somehow a positive.
>>
>>53543997
Go has the same issues, and D is just C++++ (where over 50% of its features are actually shit whereas 99% of C++ features are used in modern C++ projects). That's why rust is the winner: it actually brings new things to the table as well as keeping aspects familiar to the unwashed masses (uniqueness types in a mainstream language, providing a GC-less memory-safe language; ML-style programming constructs in a familiar C-style syntax language, etc.). That's why rust is the clear winner here.

Beside, whereas there are several legitimate rust projects out there, I have never heard of a single D project; as for Go, which has even more legitimate projects than rust, their quality speak for itself (they are all buggy and are unable to fail gracefully, quite indicative of the quality of error model the go developers chose).
>>
File: fag.jpg (26 KB, 500x335) Image search: [Google]
fag.jpg
26 KB, 500x335
>>
>>53543997
What are you talking about? Rust has been picking up momentum ever since 1.0
>>
>>53542528

"Go" is the generic title of a board game. It's not capitalized like a brand-name product would be.

>But Wikipedians do it!

And they're full of shit. They persistently lower-case chess, backgammon and any other generic board game title.
>>
>>53543901
>In the most tedious way possible.
I feel like it enforces good design, you should be checking for errors as frequently as Go demands in any language but people usually don't because they either don't know better or don't want to because it's "tedious". Enforcing error checking and handling seems much better than ignoring them or using exceptions, the good thing about Go is that it's their regardless of the programmers experience, good programmers would do it anyway and bad programmers will be forced to learn how to handle them. It's only tedious if you don't know how to design and layout your programs honestly.
I think this is a genuinly good article on errors in Go https://blog.golang.org/errors-are-values

>Are you shitting me?
Maybe it's a stretch but if you're writing in the language I'd assume you'd be using and reading the standard library often enough to take something away from it, interfaces are all over the Go standard library and documented well.

>Except you have to use interface {} everywhere to get any kind of code reuse, and then you lose typechecking!
You're not wrong but it's strongly discouraged to use it like that, however nothing explicitly prevents people from doing so. Even still you'd have to know about type assertion to get any use out of an empty interface which should mean you know what you're doing or have at least read the spec. Much like with unsafe, it throws type safety out but is not used by people who don't know what they're doing.
>>
>>53544074
0/10
>>
>>53544047
Never said we were comparing systems languages. If you kept reading, you'd see that I nominate ATS as the best systems language.
Note that Go, D and rust are nowhere near able to perform systems programming tasks. However, ocaml is the language in which the most popular unikernel out there (mirageos) is programmed, which makes it objectively the better systems language for the time being.

Also, everything has first-class closures, what the fuck are you even talking about? It never has and never will result in anything spaghetti, unlike the lack thereof. Enjoy your 2-liners just to wrap a function name in a structure that can be transported, pending unpacking immediately after the jump.

Not to mention that it doesn't in any way imply mandatory GC, as rust, clean, ats and many others clearly show. Meanwhile, you're pretending that Go, a mandatory GC language (with a really poor GC at that) is a valid systems language.
>>
>>53544116
do you understand the distinction between spaghetti code and a spaghetti stack anon?
>>
>>53544163
Do you know what a closure is, gonad?
Do you realize that ocaml has first-class exceptions as in any other classical language you love so much, on top of having continuation-based and type-based error mechanisms?
>>
>>53543933
WOW
>>
>>53544076
>not used by people who don't know what they're doing.
And what I mean by this is more like, you have to go out of your way to break the language.
>>
>>53544163
Do you?
More like, you have no idea what a closure even is.
>>
>>53544076
>I feel like it enforces good design, you should be checking for errors as frequently as Go demands in any language but people usually don't because they either don't know better or don't want to because it's "tedious".

The problem is that enforces it in a verbose way. You can have error checking that's as explicit but with none of the boilerplate or noise.
>>
>>53542528
i think /g/ is just butthurt over Go because they don't like that their precious baby C has a competitor now.
I program in Go, its incredibly fast, quick to make things in. you can basically do anything you could in C.
Just because something isn't hard to learn and do. doesn't mean is bad.
But why /g/ doesn't like programming to be made easy and rages about it. is because they are constantly scared that they won't be able to look smart to other people and feel good about themselves.
>>
>>53544258
t. pajeet
>>
>>53544076
>enforces good design
But not really, seeing as you can easily do something like res, _ := blah() or just blah(). Using tuples is a step in the right direction, but still not the right approach. Languages like Rust and Haskell have it right with monads, in the case of Rust Some and Result. These force you to either explicitly unwrap or match against your values, and give you the ability to easily chain multiple functions of this type and return early when necessary.

>strong discouraged to use it like that
In numerous libraries interface{} has to be used simply because generics are the proper answer to a solution sometimes. And frankly interface{} is a real crappy answer at that.

Having learned both Go and Rust, I can safely say that Rust is superior as a language. It offers virtually everything Go does, but also so much more. Rust honestly feels like the good parts of C++ mixed in with FP, and it's definitely getting close to an ideal systems programming language(at least for me). I think that Go is alright as a language, but in his quest for simplicity, Pike failed to realize that sometimes offering a simpler constructs can inadvertently lead to users having to architect needlessly complex solutions.
>>
>>53544199
exceptions were a bad idea (in hindsight at least) popularized by OO to make RAII terser.
copying them into other languages/paradigms is an even worse one.

first-class continuation are complete shit, since all anyone ever uses them for are rolling custom versions of exceptions or co-routines, which also happen to be worthless constructs that nobody outside of academia ever look twice at.

>>53544216
yes I do. stay mad, faggot.
>>
>>53544281
No disrespect Anon but I just realized how tired I am, I'm not fit to actually discuss this or do anything right now, I'm sorry but I have to lay down. I hope you're not disappointed in me.
>>
File: galong.jpg (70 KB, 960x1280) Image search: [Google]
galong.jpg
70 KB, 960x1280
>>53542528
note how he also mentions C , C++ and python as a language his "google'ers" would use.
so what is this "brilliant language" in his opinion if these are all not it ?
haskell or lisp or something ?
>>
>>53542853
you know you're on /g/ when you see a post like this
>>
>>53544357
No worries Anon, sleep well.
>>
>>53544352
>I have never successfully written a hello program in my life!
>>
>>53544036
this
>>
>>53543933
congrats
>>
>>53544116
>Also, everything has first-class closures
Maybe you're a pure FP guy, but systems languages usually provide VERY rudimentary facsimiles of first-class closures if any.
Global state tends to be mutable and often contain async handles, so you can't just make copies.

>It never has and never will result in anything spaghetti
I've never heard of a language implementation using either first-class closures or continuations that didn't boil down to parent-pointer trees.
Do you have a source for an example?
>>
>>53544378
C# masterace.
>>
>>53544417
> I can't actually disprove his rebuttal, so I'll just try to sound condescending!
>>
>>53543093
>understand
He very undoubtedly has, and people can't understand any sort of representation beyond the math they learned in kindergarten

>(+ 1 2) == 1 + 2
The horror!

>recursion
The horror!

>linked lists as a fundamental part of the language
The horror! Java CS babbies can hardly implement lists their selves
>>
>>53544495
>>53544537
>>53544352
>>53544258
>>53544163
>>53544076
Do go shills really need to be this transparent and ignorant? I thought google only hired the smartest people!
>>
>>53544560
Is anybody here actually seriously promoting Go as a good choice?

I only saw this faggot:
>>53543847

everyone else is just flinging shit in random directions
>>
>>53542528
>But why would *anyone* use software like Go, that doesn't even respect their intelligence?

First, let's deal with the elephant in the rom: you're probably one of the novice programmers he's talking about, unless you're an experienced programmer, have spoken at conventions, or really done anything besides hacking on personal projects.

So why would somebody who fancies themselves to be a smart programmer who could use and understand a brilliant language decide to use Go? Because you know that other people will have to read and modify your code (including you in a couple years, potentially), and there's a very good chance they AREN'T capable of understanding the brilliant language or your brilliant code. Keeping code as simple and "dumb" as possible is the best way to make sure it's maintainable and accessible.
>>
>>53542528
i don't think you quite understand what he means by "our programmers anon.
>>
>>53544606
Speak of the devil: >>53544621
>>
>>53544606
Yes, I do (and my favorite languages are Haskell and Rust, which have all of the "brilliant" features Go is missing). I think it's a good language because:

* the specification is small
* the language is generally pretty consistent with itself
* the standard library is very good
* the way it approaches OOP is extremely simple and encourages simple architecture over the sort of complex nightmares Java seems to encourage
* it is a compiled language, and can cross-compile to dozens of architecture/OS combinations very easily

There are tons of issues with the language, but I do enjoy using it, and I think it's a good choice for novice programmers and the sort of code that would be written in Java or PHP normally (web backends, CRUD apps, etc).
>>
>>53543561
How do you know her exact GPA and what she does all day?
>>
>>53544621
>u don't like go bcuz u don't understand it bcuz ur dumb
>>
File: seriously.jpg (48 KB, 625x626) Image search: [Google]
seriously.jpg
48 KB, 625x626
>>53544258
>>
>>53544621
>let's deal with the elephant in the rom
My fursona is an elephant :3c
>>
>>53545759
>fursona
christ, they weren't kidding when they said /g/ was full of furfags
>>
>>53544378

Lisp obviously, haskell is just an meme.
>>
>>53546984

Or Forth for that matter, babbies cant handle
>muh reverse polish notation.
>>
>>53546165
>what is joke
>>
>not being able to program in binary

plebs get out of my /g/
>>
>>53547741
Able to != willing to. Anyone who's ever done 2 years of CS in a legitimate programme has programmed in binary.
>>
>>53542528
Note that he uses brilliant in the sense of "dazzling" or "befuddling". Haskell is a "brilliant" language.

Go's just a language to write compiled, cross-platform, concurrent, legible programs in. Nothing else. If you want to reduce it to an absurd level, it takes C and makes it less irritating to write cross-platform and concurrent programs in it.

You aren't as intelligent as you think you are, OP.
>>
>>53543901
Would you like to know how I know you don't have any experience with go?
>>
>>53547834
Would you like to know how I know you don't have any experience with go but google pays you anyway?
>>
>>53547869
If he worked at Google, he'd know how terrible interface{} is.
>>
>>53548014
Why would a janitor know how to build a nuclear reactor?
>>
>>53548060
If he worked at Google and used Go for his job. I've only used it a little (mostly work in C++), and I know the pain points.
>>
>>53548114
>if he's a janitor at microsoft, he is an AI researcher with 20 PhDs who works on operating systems
Found the google shill.
>>
>>53548138
Dude, calm down. I'm just trying to say that Google engineers are generally aware of the pain points of the language. Google probably has the largest Go codebase in the world, and it is in large codebases that type system issues really hurt.
>>
>>53544735
that poster is describing itself
>>
>>53542897

Google is literally killing itself with bad decision after bad decision. They're at GNOME developer levels of retarded now.
>>
>>53548156
Thank you pajeet. 3 rupees were deposited in your account.
>>
>>53544389
>you know you're on /g/ when you see a logo like this autistic gerbil/hamster/whateveritis
FTFY
>>
>>53547764
I programmed in hexadecimal, back when I didn't have an assembler. Was ok for simple 8-bit system. It was pretty common too, given how many BASIC dialects let you POKE machine code and call it.
So you don't need special CS stuff for this, just any old machine...
Anyway all these other languages suck ass. BASIC and machine language is all you need. I'm sure computers would have stayed simpler and less bullshity if programmerss stuck with the basics instead of jumping on all these fads. In 10 years there's gonna be more fads and all ths shit you're talking about today will be history. But same pattern, same bullshit arguments. I'm done with this shit.
>>
>>53542897
No they don't
>>
>>53543561
oh wow who would have thought they would hire someone with a decent GPA over an autistic weaboo
>>
>>53552704
it's a gopher you fucking moron
>>
>>53553119
Looks like a blue autistic peanut to me.
Something the average /g/ artisan would create.
>>
>>53543847
Cmdr. Kike pls go
>>
>So, the language that we give them has to be easy for them to understand and easy to adopt.
Wow, how awful.
What's the point of a language that doesn't make you appear smart?
>>
>>53553103
>3.05
>decent GPA
Pick one.
>>
>>53553291
I don't get this either, why would anyone need to shill a free and open language. Google is going to use Go regardless and they're going to maintain it regardless because they need it. They don't need to rope people into it and even if they did it's free and open anyway. They couldn't care less if people used it, they benefit if they do since it in theory would create more usable libraries and services but again it's not like they need it, they're doing it themselves in parallel.
>>
>>53553409
so what is a decent gpa
what is a good gpa

because good gpa is ~3.5
with the best being 3.9-4
in this case, decent is definitely ~3
>>
>>53553507
Good is 3.8-4. Decent is 3.6-3.8. University is a fucking joke, and if you can't get at least a 3.9 then you're basically just fucking around.
>>
>>53553565
Found the sub-2.0 shitter.
>>
>>53553571
>decent is 3
Found the sub-3.0 shitter.
>>
>>53553565
how is getting the top limit "good" lmao
>>
>>53543871
moot "headcuck" poole the president of reddit
>>
>>53553505

yeah sure rsc, keep telling that to yourself while guido's guidos will keep working towards your irrelevance
>>
>>53553588
Actually I have 3.89 because I'm not a fuckup.
>>
File: Capture.png (11 KB, 355x171) Image search: [Google]
Capture.png
11 KB, 355x171
>>53553507
>below average is decent
Brah.
>>
>>53553643
This includes legit and illegit colelges.
>>
>>53553656
(and also legit and illegit programmes. Women's studies will give 99% A's, for instance, greatly skewing the statistic).
>>
>>53553643
>taking statistics of GPAs of all university degrees
oh boy those arts fags and their A's!
>>
>>53542991
moot is with jewgle now?
>>
>>53553632
The irony.
>>
>>53542528
>For emphasis:
>>They’re not capable of understanding a brilliant language
What would a brilliant language be?
>>
>>53554128
C++, JavaScript, Perl, Haskell.
>>
File: doubt.jpg (18 KB, 282x415) Image search: [Google]
doubt.jpg
18 KB, 282x415
>>53554168
>>
>They’re not capable of understanding a brilliant language
That could be interpreted in multiple ways. Rob is either insulting programmers or programming languages. I think it's probably the latter knowing Rob Pike's autistic views on things.
>>
>>53554218
thank you, i was feeling insulted
/thread
>>
>>53553683
in all departments gaylord

>implying you wouldn't fail art
>>
>>53554218
I really like the way he takes the piss out of everything, he's pretty funny.
Thread replies: 115
Thread images: 10

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.