[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip / qa] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


File: 1743348499.jpg (11 KB, 474x335)
11 KB
11 KB JPG
Daily reminder that Go is the only white male's language that didn't jeetfied or trannified (yet). Made my white males which were Bell Labs workers. sheesh truly is the /ourlang/ lang, /g/o. Shame that Go generals dont exist here
>>
what are its cons, other than a smaller community to get advice from?
>>
>>93665661
none
>>
>>93665661
>small community
not at all
>>
>>93665661
>other than a smaller community to get advice from
useless now that you can just use LLMs to debug code/explain documentation to you
>>
>>93665661
No default arguments, no template literals, no try catch. Not big enough reasons to stay away.
>>
>>93665768
Do you think GPT-4 would be able to tutor me in Go if I asked it to? I have a plus sub and api access
>>
File: 1660718066076.jpg (89 KB, 1280x720)
89 KB
89 KB JPG
>>93665635
>go the white mans
you mean tranny
>>
File: 1664411641094.png (575 KB, 1125x583)
575 KB
575 KB PNG
>>93667845
actually, both are technically white men so OP you are sorta correct.
>>
Language so retarded even the trannies don't want to have anything to do with it
>>
File: 1402156806390.png (449 KB, 838x855)
449 KB
449 KB PNG
>>93665635
>Go is the only white male's language that didn't jeetfied or trannified (yet)
https://github.com/opal/opal/issues/941
https://go.dev/conduct
https://www.youtube.com/watch?v=ZACOc-NwV0c
>>
>>93665661
cgo sucks performance wise, and its very tight (relatively) when it comes to its use case, which may or may not be a good thing.
>>
>>93667889
a tranny-free programming language? sounds like the holy grail t b h
>>
>>93665635
>the confused ramblings of a retard
>advertising Go
No surprise there. Carry on.
>>
>>93665635
Why you, an ESL, pretending to be white?
>>
>>93668823
The real white people are mostly ESLs. Muttland is barely white.
>>
>that didn't jeetfied or trannified (yet)
they had the BLM banner forever
>>
>>93665635
>you VILL set le $GOPATH to write any nonfizzbuzz code and you VILL do it ONLY in that directory (all go code goes in $GOPATH/src/)
>you VILL have to know most implicit behavior to understand even slightly complex code
>you VILL use defer despite its performance drawbacks
>you VILL implement a le heckin interface just to sort an array
I like go because its compiled and holds my hand through some stuff, but to claim this is a good language would be far from the truth.
The above was just in ~2 days of writing go code
>>
>>93665635
>jewogle back doored complier
>>
>>93670537
>setting $GOPATH
are you retarded? gopath is not a problem anymore since go mod become available fee releases back then
>>
>>93670537
>you VILL set le $GOPATH to write any nonfizzbuzz code and you VILL do it ONLY in that directory (all go code goes in $GOPATH/src/)
not since 2018
>you VILL implement a le heckin interface just to sort an array
not since 2017
other two are somewhat vague but I expect them to also be out of date by 5 years.
>>
>>93667845
In the talk, this tranny dude does know Go. He's copying and pasting from straight white men
>>
>>93671902
Edit
*doesn't know Go
>>
>>93667818
>no try catch
instead it forces you to handle errors in a much better way?
>>
>>93671947
>instead it forces you to handle errors in a much better way?
Actually in a much worse and retarded way. You have to do shit like:
result, err := doSomeOperation()
if err != nil {
// handle the error here
}
>>
>>93672544
I was filtered by this in a summer internship, ended up rewriting the microservice in Python and they liked it enough

Then I rewrote it again in Rust and they liked it very well

Ah... I hate Rust.
>>
>>93667834
Go ahead and ask it, you'll be pleasantly surprised with the results.
>>
>>93672544
Yes, this is better than try catch
>>
>>93672728
>>
> only white male's language that didn't jeetfied
LOL, don't mind me then.
>>
>>93665661
It might be a meme, but if err != nil { return err; }
is kind of annoying. I would prefer the ? syntax as well
In my project, currently 6000LoC, 1000LoC are return statements. 500 return statements are either return err, or return nil, err
>>
>>93673306
you should really start decorating your errors
>>
>>93673357
huh?
>>
>>93673306
Pour yourself a drink, then, ask yourself "do the extra statements matter at all?"
>>
>>93673387
I don't believe that more LoC => better product, so yes, I would prefer to have 500 lines of code less in my project.
It will make it less overwhelming to new people joining.
>>
>>93673368
huh? huh? huh?
>>
>>93673418
huh?
>>
>>93673413
Anyone using LOC as a metric for the complexity of a code base deserves to be filtered
>>
>>93673484
it is completely understandable to open a file, see that it is over 1k lines long and then not wanting to deal with it, if it isn't your code
>>
>>93673501
If there's a file that's over 1k, you done goofed
>>
>>93673564
Yeah, I try to split it as much as I can, so that every window and dialog gets it's own file, but the main window is over 1k and idk how to split it
>>
>>93673564
Also, yes that virtualisation project has 400 files, no I don't regret it
>>
>>93665635
Explain to me how this telemetry in the compiler works.
Does Google get to know when I build my waifu program?
>>
File: gopher brainlet.png (25 KB, 300x441)
25 KB
25 KB PNG
>>93665635
>No generics for over 10 years
>>
>>93673745
Past is irrelevant
>>
>>93673780
gophers glorify the past which is why they never evolved past Algol 68 with bolted on shitty generics
>>
>>93673745
I hope it's been enough to shape the culture. Every other language that has them abuses generics like crazy.
>>
>yet another google shill thread
>>
>>93673863
There are languages out there that hasn't completely botched up generics like C++ did
>>
>>93665661
It's vector and slice type are the same thing, leading to some seriously strange bugs if you don't understand the difference.
>>
>>93673971
There are none. All that have them have communities that overuse them. Hopefully we don't end up with some gay monads in go too.
>>
>>93672544
Errors as values is much better than any other alternative. Rust almost got this perfect, but then decided to give like a dozen different ways of handling the error instead of just one or two.
>>
>>93665635
>has embedded telemetry in its compiler
not superior enough to be our language
>>
>>93665635
Can you fit any more meme words in your post, or have you actually mathematically proved to have achieved the absolute maximum?
>>
>>93667896
robchuds... we lost
>>
>>93667845
... I would
>>
File: 1685118513507.jpg (382 KB, 787x800)
382 KB
382 KB JPG
>>93665661
I think I'm retarded but after the gorilla/mux purge, I can't really find a good router anymore that supports parameters.

I think that chi is the goto now? I just wish that it would be added to the standard net/http router already.
>>
>>93676077
wasn't gorilla/mux batshit slow?
did you try this anon? https://github.com/julienschmidt/httprouter
>>
>>93676077
whats up with gorilla mux? they suddenly just gave up or something?
>>
>>93676457
I like that, seems very native and how I would actually implement it, thanks
>>93676992
its no longer maintained
https://github.com/gorilla#gorilla-toolkit
>>
>>93676077
If it does what you need why change?
>>
>>93677418
actually my complaining is more about net/http not having this built in
golang is the only language that I adore its standard library and its really versatile with very little not being in there
i saw some seething about sha256 function not being fast enough by some retard like a week ago and I think he completely misses the point of how nice golangs std is to work with, you really don't need much external libraries to do what other languages struggle with

the http router parameters is just like my bucketlist thing I really wish they would just implement into it already. I think even Vlang has that while being less mature.
>>
Go's logo was literally drawn by a tranny you faggot
>>
>>93678629
it was drawn by rob pike's wife (a woman)
>>
>>93667845
>you mean tranny
Beautiful. I like her.
>>
>>93677696
I love go.
Read up on Vlang now.

Friendship ended with Go
Now Vlang is best friend

Ngl it looks nice but I bet there is something that sucks
>>
>>93680669
Vlang is basically a joke.
>>
>>93665661
terrible error handling, gc, non sensible design decisions, google...
>>
>>93665635
>Daily reminder that Go is the only white male's language that didn't jeetfied or trannified (yet).
Nigger what the fuck are you talking about? The only reason Go is even on the map is because Jewgle shoved it down everyone's throat. Go is objectively a bad language.
>>
File: literally_me.png (112 KB, 457x535)
112 KB
112 KB PNG
>so fast to compile it can be run like scripts
>two flags to target any common OS or arch
>single binary
>standardized formatting and toolchain
>stdlib is all you need

I also really like the syntax. Go saved me from Python
>>
>>93665635
Go was literally designed for pajeets too dumb to understand even basic concepts.
>>
>>93674043
>variants are numerical error codes
>rust invented variants
The absolute retardation of gotards never ceases to amaze me.
>>
>>93665635
absolutely false. you can tell that go tutorials are written by pajeets and other third worlders
>>
>>93674043
Go doesn't get "errors as values" right.
The ideal is
Either Value Error
. You pattern match, handle the case where there's a value, and handle the case where there's an error. That's it. Piss easy
What Go gives you is
(Maybe Value, Maybe Error)
Now you can have a value, an error, neither, or even both. That's two retarded cases that you have to check for in addition to the two you actually care about
>>
>>93681022
False
False
That's a bad thing
Forced != standardized
False
Obvious nocode is obvious
>>
>>93673997
Lisp does not have this problem. Neither does ocaml.
>>
>>93681335
Lisp does not have generics and ocaml absolutely does have this problem.
>>
>>93681370
Ocaml does not have this problem and you just showed you know nothing about it.
Lisp does monomorphisation of type specification with type parameters, which is what generics are.
>>
>>93665635
I USE GO
IT IS NICE
GET MAD NIGGAS
>>
>>93681398
wtf are you talking about lisp is dynamically typed
>>
>>93670568
it's open source, link the exploit
>>
>>93673745
took decades for everything to adopt it. so what?
https://retrocomputing.stackexchange.com/questions/24328/what-was-the-first-programming-language-with-generics
go use that language
>>
>>93681435
Lisp is statically typed. Types are specified in the standard.
>>
>>93673745
I have yet to use them or need them.
>>
>>93681477
there's optional typing nobody uses and compilers ignore and no type parameters.
>>
>>93681022
>>93681308
true*
true*
single binary is very based, especially for big things like gitea & all of it's web pages etc
>forced to do shit right
gonna cry, faggot?
true
>>
>>93681506
False on all counts.
>>
>>93681233
>Go gives you maybe value, maybe error
Wrong. It gives you value or error (as a value btw)
>>
>>93680854
>Go is objectively a bad language
kys
>>
File: 1659433896862352.png (316 KB, 838x1037)
316 KB
316 KB PNG
>>
>>93681922
why do you have above average on the right side?
shitty chart.
>>
>>93681544
the other guy is retarded. but you're even more retarded
normally a function returns both an error and some other return values
if there's an error, it will return it in the error part of the return
if there's not, it will return nil in place of the error

I never understood why people who have no idea what they're talking about and never used golang feel the need to participate in threads where they have nothing worthwhile to say
>>
>>93665635
Top five things to learn in golang to get me hired:
>don't tell me to learn syntax or golang itself, mention libs or APIs
>>
>>93682035
>he doesn't get the midwit meme
>>
>>93682758
above average IQ aren't midwits, retard
>>
>>93683237
>110/120
>not average
midwit cope
>>
>>93683341
>retard can't figure out what the average IQ is and gets angry
figures, stay sub 80 buddy
>>
>>93683355
You're the one who got angry KEK >>93682035
>>
>>93683439
where is there anger?
>>
>>93683724
You cursed
>>
>>93683844
so fucking what? retard..
>>
everytime i see critiques about go it's about intentional design decisions from plan 9 guys with reasonable decisions
expressiveness is also very exaggerated by go haters
>>
>>93684764
reasonable explanations*
>>
>>93665661

cgo is shit, and i dont see it improving
>>
>>93681544
It is under no obligation to give you either one or the other. Giving you both, or neither, is allowed by the type system
>>
>>93672544

With try catch, how do you know what can go wrong? How do you know when something can go wrong?

With errors as values, you are prompted to deal with the errors whenever you call a function that can return an error. It makes for nice habits.
>>
>>93686529
>With try catch, how do you know what can go wrong? How do you know when something can go wrong?
You just put code that may throw exceptions in a try block and catch the possible exceptions. You can even put a generic catch to catch every kind of exception possible. In Java, your code won't even compile if you don't catch checked exceptions or at least be explicit about the possibly exceptions that may be thrown.
>With errors as values, you are prompted to deal with the errors whenever you call a function that can return an error.
Not really. In Go, you have to add an if after every function that may return an error. One can simple forget to add it and not handle a possible error.
>>
>>93686529
>With errors as values, you are prompted to deal with the errors whenever you call a function that can return an error. It makes for nice habits.
in a language that does "errors as values" correctly, sure. But not in Go
>>
>>93682169
>if there's an error, it will return it in the error part of the return
>if there's not, it will return nil in place of the error
No, you really need to think it through before you post, with Go's approach there are at least two more cases:
It could return both a value and an error (there are legitimate reasons to do this)
Or it could return nil for both
Or it could return the default value which happens to be non-nil and a nil/non-nil error (fuck default values)

Basic sum types would cover this, which is what >>93681233 was getting at, but Go tards just scream autistically every time you mention sum types because C didn't have them - even though C had better support for them than Go. Using a union and manual tagging is actually better than what Go has. Go is unique, even comparing dynamic languages (all type annotation systems for python or javascript support sum types) in how it doesn't support them, but would clearly benefit from them.

>>93686529
Errors as values is something mindlessly parroted by Go drones without actually understanding it and thinking it means Go did errors well. It didn't, all Go did well is avoiding exceptions. That's good, but hardly unique or even rare. As far as languages with errors as values go (heh), Go has the worst implementation I've seen because the type system and the rest of the language actively work against sane patterns. They even had to hack in variable shadowing just because their language was too painful to use without it.
>>
>>93688942
>No, you really need to think it through before you post, with Go's approach there are at least two more cases:
>It could return both a value and an error (there are legitimate reasons to do this)
>Or it could return nil for both
Who gives a shit none of this is a problem
>>
>>93689033
>Requires an excessive amount of mindless boilerplate
>Except the 1% where it isn't, making bugs easy to miss
>Needlessly, if rarely significantly, slower because larger structs/tuples need to be returned with space for all possible values rather than one value and a tag
>Not even the Go devs themselves on their blog can come up with a decent way to handle errors as they are
Go drones will defend literally anything.
>>
>>93676457
that doesn't look maintained at all.
>>
>>93676077
>>93676457
isn't gofiber and gin the only good ones? why would you ever use gorilla mux
>>
>>93668877
>Repeating the same old tired meme
Putting down actual people won't make you matter.
>>
>>93689033
it nullifies many of the supposed advantages of Go handling errors as values. Therefore, either handling errors as values doesn't offer an advantage, or all of what you said is a problem. Either way, Go shills are dishonest
>>
>>93672544
That is so much better if you are actually interested in doing error handling, which in a real-world large-scale system you would.
>>
The reason there is no Go general is because it's not an exciting language.

I work full-time as a back-end developer using Go and I honestly don't even really think about the language. I can't remember the last time the language gave me any grief. It builds quickly; the error messages are obvious. It's easy to deploy.

The language was not designed to be elegant and sometimes it shows. But it's brutally effective. It's a language designed by engineers for engineers to solve engineering problems. And in terms of expressiveness if you're a good developer you can actually go a very long way with interfaces and anonymous functions without having to rely on programming constructs that will mystify people.
>>
>>93681922
literally zero reason to use Erlang over Go.
>>
>>93690664
it's barely an improvement, because you can easily write
value, _ := DoNotIgnoreTheError()
>>93690875
here's one reason: it's not Go
>>
>>93690875
Does Go have supervisor trees?
>>
>>93690795
People always post things like this as if, somehow, there's a dichotomy between a language being well designed and being "effective" or whatever. People can get shit done in any language. PHP, Rust, Haskell, C, C++, Java, if you're not an incompetent fuckwit you can "solve engineering problems" in any of them.

The reason there is no Go general is because the split is between people in their honeymoon phase who think Google is good at designing languages, and people who have actually used it long enough for its flaws to show through. There are things it does well, sure, but it's not a matter of it not being "elegant" instead of "practical", it's a matter of it being shit in ways that do impact its practicality. Like the amount of defensive copying you end up doing in any Go codebase since vectors and spans are the same type, or how thread safety is worse than in C/C++ or Java.

>It's a language designed by engineers for engineers to solve engineering problems.
No, it was designed by has-beens as a "better C" for onboarding incompetent new coders. They focused on superficial things, like keeping the syntax small, but ignored more important things, like keeping the semantics of said syntax simple. Whenever I see new programmers pick up Go they always leak goroutines and have deadlocks, without fail, and this isn't some instance where there's no easy way to improve it. A better channel API could have fixed it in the majority of cases without changes to the runtime, and changes to the runtime to break cycles could have fixed the rest.

>with interfaces and anonymous functions without having to rely on programming constructs that will mystify people
Ah yes, because "A or B" is so mystical, interface{} and if, else if, else panic is much better and way more readable.
>>
>>93670537
>>you VILL use defer despite its performance drawbacks
what drawbacks nigga? it's literally same speed as a function call
>>
>>93667896
>what living in SF does to a mf
>>
IQ 110 coder using Go, a 95 IQ language: "here, look, I made a distributed database. It took me the three days so I still need to do some polishing. It's already in production in my company of 25,000 employees by the way."

IQ 150 coder using Rust, a 130 IQ language: "here, look, I made a new version of htop called rtop. It took me three months to get it to compile but it refreshes the screen in 1.28ms, which is exactly 139% better than htop. I'm going to show it to my Hacker News friends now."
>>
>>93673745
At work we use a version of Go that has generics and I can't remember the last time I used them (possibly never).

If anything, I do refactor the code my boss has written that uses generics for no good reason.
>>
File: %22her%22.jpg (1.62 MB, 4164x2776)
1.62 MB
1.62 MB JPG
>>93679138
have you seen pictures of this "woman"?
>>
>>93689184
because it just werks
>>
>>93691029
>>It's a language designed by engineers for engineers to solve engineering problems.
>No, it was designed by has-beens as a "better C" for onboarding incompetent new coders
Go was designed with this principle in mind:

>Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it

People just have too high an opinion of themselves when picking a programming language.
>>
>>93691476
Looks like Rob Pike in really unconvincing drag.
>>
>>93691748
you might be on to something
>>
go build .
cppdrones can only seethe to this
>>
>>93691524
why not just use gorilla then?
>>
>>93694603
gorilla mux is slow af
>>
>>93667896

The "my world entirely in the network" thing is literally the vision of Plan9 you poser, go back to suckling Satya Nadella's cock.
>>
>>93690875
Erlang's pattern matching is unrivalled
>>
Consider the following source file

package whatever

type Command[T any] interface {
Execute() T
}


Running the official mock generation tool produces source code that does not compile. The maintainer of golang/mock claims that he has merged PRs that fixes it but building the latest version from the master branch still fails in the same way. Did I mention that he does it >for free?

Fine, whatever, generics considered harmful. What if you have two non-generic interfaces in the same file?

package whatever

type Tool interface {
Use()
}

type Craftsman interface {
Wield(t Tool)
}

func MakeItSo(c Crafsman, t Tool) {
c.Wield(t)
}


If you run mockgen on this file and write a test case for MakeItSo, you will find that it once again does not build because import cycles are not allowed. The only workaround is to put the interfaces in a separate package.

The language and its ecosystem is one giant cargo cult.
>>
>>93696051
>Running the official mock generation tool
There is no official mock generation tool: mocks are for idiots.
>>
>>93696191
Why is it in the golang namespace on github then?
https://github.com/golang/mock/
>>
>>93696297
Someone needed to do a project for a promotion 10 years ago. Seriously though, stop mocking, in all languages. You are writing self referential tests for shit code.
>>
>>93673997
>gay monads
As opposed to what? Straight endofunctors?
>>
File: laughing devil.gif (112 KB, 244x248)
112 KB
112 KB GIF
>>93696297
>Seriously though, stop mocking, in all languages.
>>
>>93672776
Ask better questions faggot
>>
>>93681308
>False
t. never used it
retard
>False
t. never used it
retard
>That's a bad thing
Quite literally the single most retarded post on /g/ right now
>Forced != standardized
there is no way to standardize formatting or any other bikeshedding topic in programming without (soft)-forcing it.
>False
t. never used it
retard

keep projecting neet
>>
>>93693180
make
>>
>>93690937
>you can easily write
yeah you can intentionally write bugs in any language anon
>>
gossucks
>>
Is there a slicker garbage collected language?
>>
>>93700252
lmao you seriously think that writing ass long cross platform make file with it's retarded syntax is better than go build, pls kys
>>
>>93700561
tinygo
>>
>>93665635
> that didn't jeetfied
Try again, jeet.
>>
>>93691379
Sounds like a personal problem.
>>
>>93691748
>>93691476
Exactly what I was going to say. It is actually very scary to look at, uncanny valley type shit.
>>
>>93691029
I agree with you because I went through the same "honeymoon" experience you describe. Although I only used it for small projects (under 5000 lines generally) I started to notice the "gotchas" fairly early on, such as the infamous loop semantics thing. I switched to Rust for CLI tools and use C++ for everything else, and I think they are both superior. I was amazed to see that C++, a language which is famously bloated, is easier to understand when you have actually spent time with it. And the same goes for Rust, but you don't even have to understand it first because it just won't let you compile.
>>
File: 1660440597633250.jpg (305 KB, 1920x1424)
305 KB
305 KB JPG
can I use go for stuff other than web backend? if yes, please give some example project ideas?
>>
>>93676457
Ahh yes, the "everything is built in" language where every baseddev recommends using drop in replacements for every module in the standard library.
>>
>>93667845
i need more of her now
>>
>>93695774
one thing is for sure, when you are writing your hello world app in Go that will never get above 12 commits, you cannot be using any deps that dont say "fast" in the name, fr fr.
>>
>>93696371
>stop mocking
No.
>>
>>93703564
him*
>>
>>93665635
I'll stay on C++, tyty.
>>
>>93700561
Lua
>>
>>93703518
spf13/cobra + spf13/viper + charmbracelet/bubbletea is the best combo for making user-friendly CLI apps
>>
>>93703638
*her
you can't censor us, commie
>>
>>93695774
it's also dead

https://github.com/go-chi/chi is much better and actively maintained
>>
>>93665661
>small community
Bro it's literally the new Java of the tech world. Jobs are fucking everywhere for this shit. It will become a standard in computer science degrees. It also pays more than most other languages as well. If you want a job in tech and don't want to get a degree then fucking learn Go.
>>
>>93707217
him*
thats a man, sir
>>
>>93707233
>https://github.com/go-chi/chi
ummm gosisters why are you recommending third party stuff? I thought standard library had everything haha??
>>
Go is fully chinked.

Also, what is the easiest way of using gRPC with go? google.golang.org/grpc is horrible
>>
File: Plan_9_v2.original.jpg (559 KB, 2621x1434)
559 KB
559 KB JPG
>>93667896

Plan9 idea was to be the evolution of UNIX, creating an operating system for a network reality. Go it is one of the projects of the whole initiative, intended as an evolution of C for the Internet age, and works in accordance.
>>
>>93708008
By my estimation, Go has about 4x less jobs than Java. It is okay to be excited about a language, but it isn't a good choice for those searching for a job, especially first timers in the industry.
>>
>>93696051
You are using:
- mocks
- generics

hence you are an idiot and your problems are irrelevant.
>>
>>93708008
>>93710853
bros how do someone find go freelance job, asking for a friend
>>
>>93667845
I see a white male in that picture…
>>
File: full_us_2023-03.png (167 KB, 744x873)
167 KB
167 KB PNG
>>93710853
>>93708008
actually it has less than 10 times less jobs
>>
>>93696051
>Two non-generic interfaces and import cycles

Oh, you've stumbled upon import cycles. That's part of Go's design, it helps avoid tight coupling and promote better code organization. If you can't design your code to avoid them, maybe you should question your understanding of software design principles before blaming the language.
>>
>>93717131
are you saying it would work if the interfaces were in different files?
I don't see where there's a cycle in that hierarchy. MakeItSo > Craftsman > Tool
>>
>>93665635
I'm not white and I love Go, get fucked cracker
>>93665661
you can't really tune the GC
lots of limitations for the sake of simplicity
many weird quirks that shouldn't exist in a 21st century language
not as many jobs as Java and C#
no generics until very recently
many features and stdlib packages that other languages take for granted are still in a proposal stage despite the fact that it's like 13 years old

that said, I still think it's great. The community likes to avoid dependencies, so even though you're constantly adding boilerplate that is equivalent to one liners in other languages, and even though it's common to reinvent the wheel, at least you're rarely, if ever, drowning in dependency hell and retarded bloated abstractions
>>
>>93681335
yeah cause no one uses them lol
>>
>>93708008
>Jobs are fucking everywhere
in China
>>
>>93717665
>the community likes to avoid dependencies
I've not been able to understand most GO projects I've seen because of how much functionality is hidden behind dependencies
>>
>>93667845
would impregnate
>>
>>93717782
sounds like a skill problem
>>
>>93717665
Kill yourself shitskin
>>
I have no clue about Go, but what is it with this "defer" feature? Why didn't they introduce a keyword like "using" in C# and then force the related type to implement some interface with "ReleaseResource" function?

This defer stuff looks so braindead stupid:
>acquire resource
>(defer) release resource
>work with resource

I'd rather use goto
>>
>>93718393
I'll knock up a white woman and you'll raise the kid
>>
>>93718647
because you'll be in jail?
>>
>>93718562
Go is not a OOP lang, blackboxing shit is not a Go style. everything must be explicit
>>
>>93718666
I'll be with your mother
>>
>>93718784
I understand, but since the use case of resource handling is so common, it could be an exception to the rule: Everyone would know exactly what happens if a "using" is attached to a declaration. The same way everyone knows what defer does.

Well I guess it's just not my cup of tea. I like C though.
>>
>>93718562
It's an easy way to ensure always cleaning up after yourself. If you don't need something beyond the current scope, defer closing it right away
>>
>>93667818
Exceptions are for NIGGERS and trannies and should not exist in real programs, only scripts and glue code languages. Even then, they are only used to make some cringe beta's life superficially easier and do not solve the real actual problem.
>>
>>93665635
All good languages have an extreme authoritarian/dictatorship style of governance. Go fits this criteria and the "community" is largely ignored.
>>
>>93680669
Meme vaporware, lurk moar
>>
>>93700252
build:
go build .
>>
>>93707189
Do you realize how cringe this sounds? Your opinion is predicated entirely to catering to sys admins and other baseddevs impressed by 2d text and rectangles in a fucking terminal?
>>
>>93702329
>cross platform make
How fucking new are you? Make is not only highly cringe, unproductive and un-debuggable but it also doesn't work everywhere portably and has not for decades.
>>
>>93719812
ironic
>>
>>93717665
Standard library does not matter in a language. Look at Node.js and Rust, both have slim core. Go is the opposite, including tons of shit, but guess what -- it does not matter. Everyone still recommends using modules that you can hotswap in right over the standard library because "muh speed". And to top that off, shit like the "plugin" module exists in standard library that isn't even cross platform. No progress has been made on that for literally years. Everyone on the github issues just shrugs and says "yeah its a lot of work lol" so what the fuck? I don't get people who like the Go standard library, it fucking sucks man.
>>
>>93721043
This has got to be the stupidest opinion I've read in a while.
Without standard library the only thing you have left is syntax and popularity.
>>
>>93721085
Clearly I'm not saying you should eliminate the entire standard library, simpleton. I'm saying what is the point of advertising this grand standard library when literally everyone is a "muh fasthttp" redditdev in the Go space?
>>
>>93721043
>Look at Node.js and Rust, both have slim core
Node.js is a runtime, not a language, retard.
Rust doesn't really have a slim core at all, it has a very complete standard library and they're constantly adding stuff to it.
> Everyone still recommends using modules that you can hotswap in right over the standard library
not true at all brainlet, stopped reading there.
>>
>>93721043
>Everyone still recommends using modules
Out of all languages Go is the one where 99% of the community recommends sticking to the standard library as much as humanly possible. So much so that I'd actually consider it a flaw of the community.
>>
>>93721043
I really cant agree with you here, in prod the only third party modules we use are gin, squirrel, protobuf, and connectors to storage like pgx, kafka, otel and redis. Anything in between is done purely with the standard library, and adding dependencies beyond those listed is incredibly seldom.
>>
>>93721286
Nobody needs to be told that Node.js is a runtime, that is obvious. When someone refers to Node.js as a language you should be smart enough to understand what is being said. Node.js provides a standard library, that is my point. The standard library is slim. In Rust, the standard library is also quite slim. You are retarded btw.
>>
>>93722057
That is wrong. In Go you have a divided community, half of them refuse to use third party libraries and the other half use drop in replacements for everything. This is much worse.
>>
>>93722947
Citation needed, nigger
>>
>>93722913
nice backpedalling retard
> Node.js provides a standard library, that is my point
your point makes no sense because Node.js is a fucking runtime, no one expects a runtime to have a big standard library. You're comparing apples to oranges.
> In Rust, the standard library is also quite slim
it really isn't, moron.
>>
>>93722947
You're seriously suggesting diversity in approach is a problem?

In the Go community, we have developers who faithfully stick to the standard library. Why? Perhaps because they enjoy stability and performance without needing a crowd of third-party libraries doing a conga line in their codebase. But hey, if you're scared of a little manual work, then by all means, fling yourself into the arms of external dependencies.

On the other side of the fence, there are those who, like magpies, are attracted to the shiny baubles of third-party libraries. Maybe they're dazzled by the fancy features, or perhaps they just like to live life on the edge, embracing the risk of dependency hell.

Now, in your world, this diversity apparently signals a civil war in the Go community. But in reality, it's developers with different needs and preferences. It's not a sign of weakness, it's a sign of versatility and adaptability. But don't let the facts get in the way of your assumptions.
>>
>>93665635
Go is the worst, most smooth brained language I've ever had the displeasure of working with.
All the performance of Java, all the readability of Perl, a pathetic standard library, and a community dominated by Troogle.
>>
>>93671947
Using the same syntax for control flow and error handling makes all of your code lack intentionality.
>>
>>93681022
>so fast to compile
If you could reason through code you wouldn't be hammering compile as a crutch.
>>
>>93665635
Reminder: You're completely wrong about literally every statement on this post because Go was made by Google
>>
>>93684782
There is no reasonable explanation for defer existing.
>>
>>93700283
Go is a loaded gun pointed at your crotch at all times, most modern languages at least make you perform some gymnastics to shoot yourself.
>>
>>93665635
As someone who worked at Coinbase for two years I laugh that you think Pajeets or Trannies don’t use Go. This goes for any language used in big tech.
>>
>>93723355
You are retarded and I'm not reading your niggerbabble.
>>
>>93723100
I'm not reading your bait anymore niggermonkey, enjoy Go like the tranny you are.
>>
I love it so much bros



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

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.