Thread 105665224 - /g/ [Archived: 801 hours ago]

Anonymous
6/21/2025, 11:00:58 PM No.105665224
golang
golang
md5: 2662cdfc565169f858932f5c2ef8dc29🔍
should I learn this?
is it well designed?
is it useful?
what are the money making prospects of this language?
Replies: >>105665355 >>105665468 >>105665518 >>105665677 >>105666389 >>105666854 >>105668106 >>105668764 >>105669342 >>105669959 >>105672401 >>105672828 >>105674903 >>105674975 >>105675725 >>105675983 >>105676295 >>105676347 >>105676361 >>105677767 >>105682314 >>105683454 >>105683758 >>105684112 >>105687006 >>105687217
Anonymous
6/21/2025, 11:20:29 PM No.105665355
>>105665224 (OP)
No
No
No
No

At least it's not Python.
Replies: >>105671309
Anonymous
6/21/2025, 11:36:20 PM No.105665468
>>105665224 (OP)
>should I learn this?
Yes, it will take you less than a day to learn the whole thing, so you little to lose.

>is it well designed?
Its simple to a fault, so there are things from other languages things you might miss, but there are very few things that are outright "bad", there are almost no gotchas that I can think of. If you can get over having to do if err != nil { return err } every other line, you will have little to complain about.

>is it useful?
Very. It has performance on par with Java, can interop with C/C++ with almost no effort for the parts where performance matters, but it has the initial development speed of python, but that speed keeps going even when things get more complex. The standard library is probably the best in the business, and there's a huge open source ecosystem around it, so you can knock together web crud in an hour or two that will keep working even when you actually get a meaningful number of users.

>what are the money making prospects of this language?
I mostly write in it nowadays, and my TC is just shy of 200k USD, but I also do a bunch of cloud and sysadmin stuff as well. It works very well as a language for moving beyond "code monkey" to "actual engineer".
Replies: >>105672904 >>105674927
Anonymous
6/21/2025, 11:38:06 PM No.105665477
As far as it's usecase, yes, it's good.
It will kill python (and that's a good thing).
Anonymous
6/21/2025, 11:43:57 PM No.105665518
>>105665224 (OP)
>should I learn this?
Yes.
>is it well designed?
No.
>is it useful?
Yes
>what are the money making prospects of this language?
Good
Anonymous
6/22/2025, 12:09:18 AM No.105665677
>>105665224 (OP)
>is it useful?
for google
>what are the money making prospects of this language?
depends on your h1b
Anonymous
6/22/2025, 1:48:23 AM No.105666389
>>105665224 (OP)
I’m using it for backend, and I like it. It’s compiled, but without the boilerplate clusterfuck that Java has become, and it doesn’t have the AIDS dependency hell that Python does. it’s pretty straightforward for AWS Lambdas.
I don’t really get the hate this board has for it. Is it just because it’s from Google?
Replies: >>105666539 >>105666786 >>105666796 >>105666845 >>105669369 >>105669890 >>105678649
Anonymous
6/22/2025, 2:09:40 AM No.105666539
>>105666389
As a wise man once said, an idiot admires complexity. If you build your personal identity around understanding and using something highly complex, then something new comes along that does 90% of what it can for 10% of the complexity, you're going to lash out at it, because it has effectively erased who you are.
Replies: >>105666929
Anonymous
6/22/2025, 2:55:17 AM No.105666786
>>105666389
>I don’t really get the hate this board has for it. Is it just because it’s from Google?
No. Golang is not simple it's more like rudimentary, an incomplete language masquerade as a simple one.
Anonymous
6/22/2025, 2:58:18 AM No.105666796
>>105666389
there's a difference between simple as in elegant and simple as in unga bunga grug brain. go is the latter and just leads to a different kind of complexity where you have to reinvent every damn thing
Anonymous
6/22/2025, 3:09:52 AM No.105666845
>>105666389
students and FP cultists love to masturbate about language features, it makes them feel intellectually superior (even though they are nothing more than glorified technicians lmao)
actual tech workers love to produce useful software.
Replies: >>105666860 >>105666905
Anonymous
6/22/2025, 3:11:35 AM No.105666854
>>105665224 (OP)
it was a literal meme for the (many, many) years it literally didn't have generics. It's okish now but not really the best for anything in particular.
Anonymous
6/22/2025, 3:12:50 AM No.105666860
>>105666845
pre-Generics Go was literally a less featureful language than every modern implementation of Object Pascal
Replies: >>105666885
Anonymous
6/22/2025, 3:18:04 AM No.105666885
>>105666860
yet companies and people already had shipped a LOT of software made in Go at the time.
curious, isn't it?
Anonymous
6/22/2025, 3:20:36 AM No.105666905
>>105666845
Every time someone posts something like this I imagine them to be the kind of person who failed high school math and tells himself he doesn't need it for SWE anyway.
Replies: >>105666917
Anonymous
6/22/2025, 3:22:26 AM No.105666917
>>105666905
>programming languages = math
keep telling yourself that.
meanwhile, actual mathematicians laugh at CS kiddies lmao
Replies: >>105666922 >>105675001
Anonymous
6/22/2025, 3:23:56 AM No.105666922
>>105666917
>actual mathematicians laugh at CS kiddies
Actual mathematicians write code that would make Indians retch. Doesn't stop them from being higher IQ than (You) though.
Replies: >>105666943 >>105669489
Anonymous
6/22/2025, 3:25:05 AM No.105666929
>>105666539
how does go simplies writing software? it doesn't.
the only thing that is simple about go is compiler implementation.
Replies: >>105667428 >>105667443
Anonymous
6/22/2025, 3:27:08 AM No.105666943
>>105666922
>they don't need to masturbate over language features to make useful programs
thanks for proving my point, retard
now go masturbate about your favorite FP lang elsewhere
Replies: >>105666988
Anonymous
6/22/2025, 3:33:19 AM No.105666988
>>105666943
Go is extremely primitive compared to other employable languages, yet developers in those other languages don't ever seem to get bogged down in this mythical "academic masturbation".
Replies: >>105672466
Anonymous
6/22/2025, 4:51:36 AM No.105667428
>>105666929
It has an out of the box build system that is nearly impossible to mess up (no makefiles, linker errors, bloated shit like maven), makes compiling to pure static binaries trivial (no glibc version horseshit), uses source control for dependency management (no pypi or npm shenanigans), provides a standard library that provides basically anything you need to write modern software (don't need 32 spring dependencies for a web "hello world", don't have to roll your own date/time, json, etc), uses unicode for all text (no worrying about localization), and it either disallows, or flat out does not provide the the ability to make mistakes that even experienced developers make.
Replies: >>105667443
Anonymous
6/22/2025, 4:54:10 AM No.105667443
>>105666929
>>105667428 (cont)

C is complex because just getting it to build takes effort, both because of no build system, and the hilarious notion that imports are done by literally copy-pasting someone else's source files into your own, and because you then have to manually download any other dependencies and manually pass their locations as make/cmake flags. Even when you get it to build, getting it to run is a chore, because worrying about glibc versions is no different to worrying about JVM, python, or node version.

C++ is complex because it has all the problems of C, but on top of that, it keeps adding shit, so its an entirely different language every 5 years, yet has to support all of the garbage of all the previous standards.

Python, Node, and Java are complex because you need dozens of dependencies to do anything, and god help you if you have version conflicts, to say nothing of the mess you sign up for with OOP, plus the fact that they are either actually dynamic like python, or functionally dynamic, like Java, because everything inherits the god class.

Functional languages are complex because require abstracting so far from the hardware that getting decent performance requires either bending the language into an unrecognizable shape, or just giving up and implementing the important parts in another language, and now you have two problems to solve.

Go just makes things work. It has problems, sure, its not the best language in any one respect, every other major language out there has something about it that makes it better than Go, and yet, something catastrophic flaw that makes Go still the clear choice for most cases.
Replies: >>105668023
Anonymous
6/22/2025, 6:51:41 AM No.105668023
>>105667443
anon, don't spoonfeed retards. you might end up converting them and things might end up getting worse as these dumbasses take over the development of Go
Anonymous
6/22/2025, 7:06:21 AM No.105668106
>>105665224 (OP)
> Brain-dead simple syntax
> Great stdlib
> Loads of libraries
> Decent enough C inter-op
> Compiler compiles around 100k lines of code per second (so pretty much instant).
> Green threads make it really easy to do stuff in parallel.
> Very fast garbage collector.
> You can embed assets into the exe file making distribution a breeze
It's well worth picking up. If you're a solo dev I can't think of a better language to use if your aim is to shit out products.
Anonymous
6/22/2025, 9:32:21 AM No.105668764
>>105665224 (OP)
>should I learn this?
Yes, it only takes a weekend and then you have it on your resume and there's a lot of jobs available.
Anonymous
6/22/2025, 10:53:49 AM No.105669226
Has anyone tried the 100 days of golang, is it any good? As a newb to programming im going to give it a try.
https://www.geeksforgeeks.org/blogs/100-days-of-golang/
Replies: >>105676006
Anonymous
6/22/2025, 11:09:28 AM No.105669342
>>105665224 (OP)
Yes to all
Its about as comfy as you can get
Getting it installed takes like a minute and learning the language takes an afternoon
Give it a go
Anonymous
6/22/2025, 11:12:48 AM No.105669369
>>105666389
People who shit on it dont actually make anything
Most of the loudest voices on this board are nocode larpers
Anonymous
6/22/2025, 11:39:19 AM No.105669489
>>105666922
I've studied math and no, most of us don't use Haskell, LISP or whatever. Most of my peers in school used either Python(for numerical computation) or MatLab, personally I use Go just fine because it's easy to write/read, it compiles fast and it has good performance.

No math major(except for FP spergs) likes functional programming, it's a joke paradigm and It's a stereotype that mathematician want to program using category theory and abstract algebra(btw Haskell category is not a real one).
Anonymous
6/22/2025, 12:54:53 PM No.105669890
>>105666389
>I don’t really get the hate this board has for it.
Most of the feedback I've seen for Go on this board has been positive. Sounds like you might have been coming across people who have been memed into using C for everything.
Anonymous
6/22/2025, 1:11:39 PM No.105669959
>>105665224 (OP)
Why use this instead of c# if you're fine with GCed language?
Replies: >>105671226
Anonymous
6/22/2025, 4:29:35 PM No.105671226
multiple_times_memory_usage
multiple_times_memory_usage
md5: aa0e0f2007bea46f07221bb28b1a0695🔍
>>105669959
I like solving the same problem using only a fraction of the memory
Replies: >>105671368
Anonymous
6/22/2025, 4:40:46 PM No.105671309
>>105665355
This.
Anonymous
6/22/2025, 4:48:58 PM No.105671368
>>105671226
Imagine wanting to program in more primitive language with worse dev experience to save 20mb of 32gb of memory
Replies: >>105671436 >>105671619
Anonymous
6/22/2025, 4:59:02 PM No.105671436
>>105671368
>Imagine wanting to program in more primitive language with worse dev experience to save 20mb of 32gb of memory

containers are usually given <1gb ram.

also, as a C# dev i can tell you it doesn't matter how "good" the language is because your coworkers at every single fucking job will just create AbstractProxySingletonFactories. You simply cannot give this type of freedom to the average developer because they will create a pile of shitheap. Go does the right thing by taking away the features necessary to create this type of cancer even if it would give a 10% productivity boost in capable hands (less than 1% of .NET community). Also managed runtime languages failed. Java and C# will stuck around but no one will make new ones anymore. it's a failed experiment. Look at all the new languages coming out: rust, zig, hare, odin, jai, vlang, swift..... all of them are strongly statically typed, they compile to native code ahead of time and they don't support exceptions. Everything is an object failed. heavy managed runtimes failed. exceptions are just goto's on steroids and they failed
Replies: >>105671909 >>105672041 >>105672248
Anonymous
6/22/2025, 5:20:53 PM No.105671619
>>105671368
you act like a computer only runs one program at a time. a computer has 100+ processes running at the same time and those 20mb's add up. you are simply admitting the only usecase for your language is your app thats the only thing running on a server.
Anonymous
6/22/2025, 5:55:21 PM No.105671909
>>105671436
>Look at all the new languages coming out: rust, zig, hare, odin, jai, vlang, swift
A bunch of tranny shit nobody uses?
Replies: >>105672014
Anonymous
6/22/2025, 6:07:40 PM No.105672014
>>105671909
truth hurts. not even microsoft is using C# anymore. they chose to rewrite the typescript compiler in go instead of C#. they chose to make their new terminal text editor in rust instead of C#. they are rewriting key parts of azure infrastructure to rust from C#. They killed hololens. They killed xna. They killed kinect. They killed the windows phone. They killed silverlight. All places where C# shined. in the meanwhile microsoft does not even dogfood their own shit anymore. they give you blazor but all their webapps are electron + react.
Replies: >>105679332 >>105679360
Anonymous
6/22/2025, 6:11:08 PM No.105672041
>>105671436
>AbstractProxySingletonFactories
It's true shit like this is common in c# but it's a culture problem and not what language allows or not. You could do similar crap in go.
>rust, zig, hare, odin, jai, vlang, swift
The only ones that are even used are rust and swift, and the second one isn't used for anything else than apple. The rest of them is literally what?
>they don't support exceptions
Go's panic, recover, defer is literally try, catch and finally.
> Everything is an object failed
You can use structs and static functions in c#, it's, again, a matter of culture or programming style or whatever. There's nothing wrong with using objects if you avoid inheritance.
>managed runtime languages failed. no one will make new ones anymore
I doubt that another one will be made too because what's the point. There are 3 big vms with a couple of languages each, why would anyone create new one and be decades of development and research back. The only compiled static languages that don't run on one of those vms that matter are c/c++. The rest of them, including rust and go, are basically irrelevant as of now, a niche of a niche.
Replies: >>105672457
Anonymous
6/22/2025, 6:35:32 PM No.105672248
>>105671436
return is goto on steroids
defer is goto on sterioids
destructor is goto on steroids

managed runtimes are future and still be a future. nobody really cares about another memelang#110. the web is powered by managed runtime, and it has exceptions, so is python, 2nd most popular managed runtime in the world.
Replies: >>105672306 >>105672519
Anonymous
6/22/2025, 6:41:48 PM No.105672306
>>105672248
U mean locked down goto?
Anonymous
6/22/2025, 6:53:36 PM No.105672401
gopher10thfinal
gopher10thfinal
md5: 9cd01fb4381028965a21af1a52647eb1🔍
>>105665224 (OP)
yes
yes
yes
jobs relating to cloud & server-side infrastructure and web services and so on, some back-end stuff like java
Anonymous
6/22/2025, 6:59:51 PM No.105672457
>>105672041
>Cope the post
Anonymous
6/22/2025, 7:00:58 PM No.105672466
>>105666988
>yet developers in those other languages don't ever seem to get bogged down in this mythical "academic masturbation".
Strangely, they don't seem to actually make anything either. When was the last time you or I used something written in Ocaml, Lisp, or Haskell? Meanwhile Go code is firing every time you hit a google search.
Replies: >>105672677
Anonymous
6/22/2025, 7:06:02 PM No.105672510
GsC1uomXMAEAnzA
GsC1uomXMAEAnzA
md5: 955cf78662b2635b11f8d58aca24bba8🔍
Rust and Go won
Replies: >>105676697 >>105678350 >>105678566 >>105684465
Anonymous
6/22/2025, 7:07:34 PM No.105672519
>>105672248
return, defer and destructor's are structured programming because their control flow is deterministic. exceptions are not
Replies: >>105672932
Anonymous
6/22/2025, 7:19:23 PM No.105672626
all of these wildly successful C# libraries have been rugpulled and turned into paid products by the way.

identity server, fluent assertions, automapper, mediatr, masstransit, imagesharp, questpdf, avalonia
Anonymous
6/22/2025, 7:26:07 PM No.105672677
>>105672466
>When was the last time you or I used something written in Ocaml, Lisp, or Haskell?
I said employable languages. C# is a very complex language and yet the .NET job market completely mogs your language.
FP weenies live rent free in every gopher's head, and that is why we call you retards.
Anonymous
6/22/2025, 7:38:34 PM No.105672806
retard gopher
retard gopher
md5: 4c8e45e29ed69ad4ede61e9d60d3897f🔍
>literally the only languages are go and haskell
Anonymous
6/22/2025, 7:41:01 PM No.105672828
>>105665224 (OP)
>what are the money making prospects of this language?
we're hiring two or three cloud systems engineers, don't be afraid to apply if you don't know everything
https://job-boards.greenhouse.io/runpod/jobs/4142227008
Anonymous
6/22/2025, 7:45:40 PM No.105672886
tempted to pick it up simply for the job prospects. it doesn't really appeal to me otherwise
Anonymous
6/22/2025, 7:47:21 PM No.105672904
>>105665468
everything here is correct, never touched go in my life before but it just werks. You generally understand what's going on in the codebase just by simple inspection
Anonymous
6/22/2025, 7:49:40 PM No.105672932
>>105672519
it seems that everything that isn't if, else, return keyword appears to be underteminstic in go programmer's mind.
Replies: >>105672977 >>105673034
Anonymous
6/22/2025, 7:54:16 PM No.105672977
324654
324654
md5: 0b1caf62bf7f421a7329efa3d6445f2d🔍
>>105672932
Replies: >>105674118 >>105675356
Anonymous
6/22/2025, 7:55:25 PM No.105672990
How hard is go to master if I know erlang and elixir?
Anonymous
6/22/2025, 8:00:29 PM No.105673034
>>105672932
Value-based errors are perfectly fine. The actual problem is that the Go developers are such anal retentive faggots that they refuse to add any sort of syntactic sugar for it.
If you want a laugh, read the Go dev blog's most recent post: https://go.dev/blog/error-syntax
>we found a way to fix this massive design defect!
>we're not gonna use it tho lol get fucked
Replies: >>105675299
Anonymous
6/22/2025, 9:55:21 PM No.105674118
>>105672977
So what's the difference between throw and panic?
Replies: >>105674272 >>105674349 >>105674499
Anonymous
6/22/2025, 10:11:48 PM No.105674272
>>105674118
Panic halts program execution immediately.
Replies: >>105674349
Anonymous
6/22/2025, 10:18:42 PM No.105674349
>>105674118
Functionally, very little, its a way of suspending control flow and resuming it somewhere non-local. In practice though, it is very different in how its used.

Panic is a supplemental way to handle errors, and is generally only used when control flow crosses an api boundary from within a framework, libraries are strongly discouraged from panic-ing if they can, and frameworks only recover because they cannot guarantee that the code they call into won't panic. When using errors as values, there is never any ambiguity of what will happen when an error occurs, and panics are reserved for truly exceptional situations, usually programmer errors like null/nil pointers, out of bounds array access, out of memory, or the like.

Meanwhile, when exceptions as the primary error handling method, it requires extra inspection of the code to figure out what the code will do when an error occurs, and even to figure out where an error could occur. Exceptions have to be made very complicated to handle all the different ways to handle an error, and which errors to handle.

Panic/recover is deliberately clunky and opaque, because it is only needed for situations where there really isn't much you can do other than log it, return a pre-baked response, etc, and hope it doesn't happen again, but you are able to keep the process going.

>>105674272
Completely untrue. Panics can be handled, and even handled recursively.
Replies: >>105674408
Anonymous
6/22/2025, 10:27:08 PM No.105674408
>>105674349
whats the point of handling a panic if its not gonna terminate the program?
why not use just errors in that case?
Replies: >>105674761 >>105675025 >>105675253
Anonymous
6/22/2025, 10:38:02 PM No.105674499
>>105674118
go and rust differentiate between recoverable errors (Result<T> or value, error = something();) and non-recoverable errors (panic). in languages with exceptions there's no distinction. or rather, they are all recoverable.
Replies: >>105678026
Anonymous
6/22/2025, 11:10:37 PM No.105674761
>>105674408
out of bound access panics, otherwise u would have to check for error everytime u access any memory which would very be expensive for every little gain since it basicly should never happen.
Anonymous
6/22/2025, 11:24:05 PM No.105674903
>>105665224 (OP)
it's a shitlang
Anonymous
6/22/2025, 11:26:37 PM No.105674927
>>105665468
>so you little to lose.
saar
Anonymous
6/22/2025, 11:31:08 PM No.105674975
>>105665224 (OP)
>should I learn this?
Yes
>is it well designed?
Haskell is exceptionally well designed. Tho I don't see anyone using it in production
>is it useful?
Yes, you can do most webshit with the standard library and net.http
>what are the money making prospects of this language?
if you're learning programming for the solve purpose of getting a job you should quit and go into engineering or some other field with more stability. Learn a language because it's fun.
Anonymous
6/22/2025, 11:34:04 PM No.105675001
>>105666917
>meanwhile, actual mathematicians laugh at CS kiddies lmao
most mathematicians could be programmers. Most programmers couldn't be mathematicians
Anonymous
6/22/2025, 11:36:36 PM No.105675025
gotard
gotard
md5: 1bea95be3130373f651191756eb89171🔍
>>105674408
in context of http server, "a program" is a request handler. you may want to terminate the request, but not the server.
Replies: >>105675253
Anonymous
6/22/2025, 11:40:54 PM No.105675062
exceptions is a useful mechanism to terminate certain behaviors without killing the whole execution process.
Replies: >>105675095
Anonymous
6/22/2025, 11:44:38 PM No.105675095
exceptionfagsbtfo
exceptionfagsbtfo
md5: 7a6729a4c3d5c07013782897ab5250ab🔍
>>105675062
errors are values that should be handled as such
Anonymous
6/23/2025, 12:01:16 AM No.105675253
>>105674408
>>105675025
Also, in some cases, code can be much easier to read and maintain if you use panic as an exception. Generally this is if you're doing some kind of operation that involves deeply nested iteration and whose work can be safely discarded if you hit any error, like parsing. In that case, you have a bunch of unexported functions that could hit errors that bubble up to a single call point, and you can have that single call point recover from any panics downstream. That makes the lower-down code much more terse and understandable. Of course, it doesn't have to be written like that, it's just a valid option given the natural shape of the problem.

The JSON parser in Go works this way IIRC.
Replies: >>105684056
Anonymous
6/23/2025, 12:05:44 AM No.105675299
>>105673034
Sounds like the real issue is that it's obnoxious to add fmt.Errorf() to decorate each of your errors, such that returning err itself is preferable.
Replies: >>105675615
Anonymous
6/23/2025, 12:12:57 AM No.105675356
>>105672977
if you have trouble understanding exceptions, then imagine that compiler just adds error as additional returned value of every function, and injects if err != nil after every function call. you just don't need to type it manually.

this gives you the following reasoning:
* all functions throws (you dont need to make it visible, because it is reduntant)
* there is exit point after every function call (you dont need to make it visible, because it is reduntant)
* finally blocks exist to handle exit points
Anonymous
6/23/2025, 12:16:13 AM No.105675381
C and Go. It's as shrimple as that.
Anonymous
6/23/2025, 12:49:15 AM No.105675615
>>105675299
>Unfortunately, as with the other error handling ideas, this new proposal was also quickly overrun with comments and many suggestions for minor tweaks, often based on individual preferences. Ian closed the proposal and moved the content into a discussion to facilitate the conversation and to collect further feedback. A slightly modified version was received a bit more positively but broad support remained elusive.
Read between the lines and you quickly realize how disingenuous they are. Of course you won't get universal consensus for a language change, if they cared about that they sure as hell wouldn't have added Go's generics, which are so badly designed that they feel almost spiteful.
They will never fix Go's defects because in their minds, Go does not have defects. It is a moron's Platonic ideal of programming.
Anonymous
6/23/2025, 1:05:13 AM No.105675725
>>105665224 (OP)
Idk about the simplicity. Shitting out code in java is way easier for me.
Replies: >>105675768
Anonymous
6/23/2025, 1:12:54 AM No.105675768
>>105675725
how many times do we have to repeat this... simplicity is not ease of use. Python is easy tho it's not simple, C is hard (for an indian) tho it's simple. Simplicity means less abstractions, less abstractions means you understand how your code actually works, which in turn leads to less bugs and more debuggable code. OOP by definition is a massive overbloated abstraction that is an absolute mess to work with, ESPECIALLY if you follow all the "clean code" ways to do OOP abstractions.
Replies: >>105675797
Anonymous
6/23/2025, 1:17:10 AM No.105675797
>>105675768
C ain't simple. Python ain't simple either. Golang ain't simple
Replies: >>105675816
Anonymous
6/23/2025, 1:20:00 AM No.105675816
>>105675797
simple as
Replies: >>105675874
Anonymous
6/23/2025, 1:28:36 AM No.105675874
>>105675816
Lisp. C is complex because of rules made by the committee and a lot of UB, most people think that it's simple but they ignore a lot of implicit things C is doing under the hood.
Replies: >>105675956
Anonymous
6/23/2025, 1:42:11 AM No.105675956
>>105675874
C translates neatly into assembly, and what the compiler does under the hood is irrelevant, you can write a compiler for C yourself in under a week.
Replies: >>105676078
Anonymous
6/23/2025, 1:46:16 AM No.105675983
>>105665224 (OP)
Yes, it's very nice and straightforward.
I don't see why you wouldn't.
Anonymous
6/23/2025, 1:48:47 AM No.105676006
>>105669226
You can learn all that in 2 weeks. You don't need 100 days.
Up to "concurrency" you can learn everything in 2 days. After that (advanced concepts and projects) you need more time to grasp the concepts and truly understand them
Anonymous
6/23/2025, 1:59:52 AM No.105676078
cute cailee - civil war
cute cailee - civil war
md5: 096e91ceae5976e9866cce58e1aec4be🔍
>>105675956
>C translates neatly into assembly
Hmm
Replies: >>105676086
Anonymous
6/23/2025, 2:02:09 AM No.105676086
>>105676078
it does tho, if you discard compiler optimizations you can 90% of the times know the assembly generated based on the C code, which is not the case for other languages with more abstractions layers
Anonymous
6/23/2025, 2:45:42 AM No.105676295
>>105665224 (OP)
I learned go 5ish years ago because everyone on /g/ hated it, so I wanted to try it. It quickly became my favorite language and now I make $150k/year writing only go. It is dead simple, sometimes to a fault admittedly. You can get shit done so fast, it compiles fast, and the performance is "fast enough". Just give it a shot anon so you can learn if you like it, who gives a shit.
Replies: >>105676301
Anonymous
6/23/2025, 2:47:02 AM No.105676301
>>105676295
How did you get a job?
Was it hard, like did they ask too many advanced questions or library-related questions?
Replies: >>105676367
Anonymous
6/23/2025, 2:54:04 AM No.105676347
>>105665224 (OP)
I find it so funny that retards in this board let obvious malicious retards influence their opinions on things, like in this case, a simple and easy to learn programming language.
Anonymous
6/23/2025, 2:55:30 AM No.105676361
>>105665224 (OP)
do the Go tour: https://go.dev/tour/welcome/1 or learn from this book: https://www.golang-book.com/books/intro
Anonymous
6/23/2025, 2:56:10 AM No.105676367
>>105676301
Reach out to recruiters at companies that you know are using go. I didn't actually do that for this company, but a recruiter reached out to me on linkedin. I wasn't asked a single go-related question in any of the interviews. I asked all of the go questions to the actual devs and hiring manager at the final interview, which I think got me a lot of "bonus points". All of my leetcode-style questions I did in python because go is frankly awful at that.
Replies: >>105676414
Anonymous
6/23/2025, 3:00:57 AM No.105676414
>>105676367
Congrats.
I'm looking to get a Go job myself, I've been studying for the past year.
But I'm also sending Python resumes because there's not a lot of Go jobs here (most of them require previous experience and Docker knowledge)
Replies: >>105676512
Anonymous
6/23/2025, 3:15:36 AM No.105676512
>>105676414
Docker isn't too hard, I also use it often. Definitely worth learning. You should obviously try to get a job in your favorite language, but still getting any experience on your resume as early as you can is valuable. Good luck anon.
Anonymous
6/23/2025, 3:45:13 AM No.105676697
1_i2skbfmDsHayHhqPfwt6pA
1_i2skbfmDsHayHhqPfwt6pA
md5: 578bb2b580b3c4ad5cc7a139447beb23🔍
>>105672510
You will never be a woman. Get your disgusting hands away from my chudlang.
Anonymous
6/23/2025, 4:50:00 AM No.105677073
C
Go
Erlang
Shan’t need anything else unless it’s domain specific (SQL)
Anonymous
6/23/2025, 7:01:13 AM No.105677767
>>105665224 (OP)
It is good but it tends to get high on its own farts. Definitely learn it, though, it's better than the alternatives.
Replies: >>105680826
Anonymous
6/23/2025, 8:04:43 AM No.105678026
>>105674499
Yea but you can return Result<T> in any lang, it's just a convention. And go can recover from panic which is basically a catch.
Anonymous
6/23/2025, 9:12:10 AM No.105678350
>>105672510
Cute pic.
Rust is this autistic crap headed to c++ land.
Things that annoy me about go (today).

No unions.
bool “true” can’t be used as 1 for many computations that need that, like computing words in a certain number of bits.
Elses have to be cuddled. Fuck.
Hello world is 1 MB. Why?

Might try tinygo one day.
Already switched to pcc from gcc the other day.
Replies: >>105678519
Anonymous
6/23/2025, 9:40:07 AM No.105678519
>>105678350
Because it's including a runtime and garbage collector in that 1mb. Tinygo does it in 10k with everything stripped out.
Replies: >>105678624
Anonymous
6/23/2025, 9:47:40 AM No.105678566
>>105672510
>tfw no CGF
Anonymous
6/23/2025, 10:00:31 AM No.105678624
>>105678519
The assembly code go generated looked on par with C except for some bounds checking calls which I could NOP out if I cared enough. Used objdump. Never used it before.

I tried godbolt but import fmt kills the compile on cpu limit. Nice! POS.
Anonymous
6/23/2025, 10:04:52 AM No.105678649
>>105666389
Go has some very regarded design decisions and the worst part is they stem solely from the language creators huffing their own farts
Some examples:
>the absolutely retarded error handling
>no generics (the pushback on this was so big they had to walk that one back and actually implement generics kek)
>using an actual date for formatting, good luck memorizing it lmfao
Replies: >>105681944
Anonymous
6/23/2025, 12:26:48 PM No.105679332
>>105672014
One guy chose to rewrite tsc in go and he got fired for it
Anonymous
6/23/2025, 12:32:19 PM No.105679360
>>105672014
Retard
Replies: >>105679710
Anonymous
6/23/2025, 1:41:52 PM No.105679710
>>105679360
not an argument
Anonymous
6/23/2025, 4:29:12 PM No.105680826
>>105677767
Do you get high on other people's farts?
Anonymous
6/23/2025, 6:53:10 PM No.105681944
>>105678649
>the absolutely retarded error handling
I didn't ind it that bad. Multiple returns are fine.
in 2017 our C++ fellows discovered hacks to allow multiple returns and they rewrote stuff to be one big function with 8 return values and one argument to specify what function it was. Yes, they’re retarded.
>no generics (the pushback on this was so big they had to walk that one back and actually implement generics kek)
Again, coming from a C++ shop where generics were abused, I never wanted to see sny more templates. In go, I didn’t use them except for a couple of template one-liners to fix deficiencies in ‘go’… seems fine, don’t need it though because I can use CPP with ‘go build’ if necessary.
>using an actual date for formatting, good luck memorizing it lmfao
Not sure what this means, it sounds like I will be annoyed when I encounter it
Replies: >>105682045 >>105684236
Anonymous
6/23/2025, 7:05:40 PM No.105682045
>>105681944
>Multiple returns are fine
if _, _, err := c1.WriteMsgUnix(wb, nil, a2); err != nil {
t.Fatal(err)
}
if _, _, _, _, err := c2.ReadMsgUnix(rb2, nil); err != nil {
t.Fatal(err)
}
if _, err := c2.WriteToUnix(wb, a1); err != nil {
t.Fatal(err)
}
if _, _, err := c1.ReadFromUnix(rb1); err != nil {
t.Fatal(err)
}
if _, err := c3.WriteToUnix(wb, a1); err != nil {
t.Fatal(err)
}
if _, _, err := c1.ReadFromUnix(rb1); err != nil {
t.Fatal(err)
}
if _, err := c2.WriteToUnix(wb, a3); err != nil {
t.Fatal(err)
}
if _, _, err := c3.ReadFromUnix(rb3); err != nil {
t.Fatal(err)
}

Totally fine amirite fellow sois
>mfw this is the most concise way to write this in go
Replies: >>105682170 >>105684909
Anonymous
6/23/2025, 7:23:44 PM No.105682170
>>105682045
If ur that annoyed just recover the panic but u will lose context like u would with normal exceptions
Replies: >>105682197
Anonymous
6/23/2025, 7:27:40 PM No.105682197
>>105682170
>the only way to write concisely and clean in the language is to use retarded hacks everyone says are a big nono
Thanks for proving my point
>like u would with normal exceptions
Gobabby never worked with a real language
Replies: >>105682317
Anonymous
6/23/2025, 7:46:41 PM No.105682314
>>105665224 (OP)
>should I learn this?
Yes, primarily because it's very simple and takes a low amount of time to learn
>is it well designed?
Absolutely not
>is it useful?
I don't know, I use Go for these small projects that I don't really feel like "deserve" to receive a fully featured good language and I regret it every time. And yet I keep using it, something about it is appealing, goroutines probably.
Replies: >>105683297
Anonymous
6/23/2025, 7:46:57 PM No.105682317
>>105682197
I prefer error as values everyday, u just complained about shit u don't care about
Replies: >>105683087
Anonymous
6/23/2025, 9:13:28 PM No.105683087
>>105682317
But it should be Either on which you pattern match and not this if err != nill crap
Anonymous
6/23/2025, 9:42:12 PM No.105683297
>>105682314
for me, it's because it's fast and concurrency is trivial, perfect for script and small programs
like you, I don't use it for sufficiently large systems
Anonymous
6/23/2025, 9:59:22 PM No.105683454
>>105665224 (OP)
>is it well designed?
It's simple and there's no magic. I've heard it described as a 'chainsaw' of a language with no elegance(not having any sophisticated error handling has been a persistent sore spot).
>is it useful?
If you want to design a CLI tool like docker, kubectl, hugo, trivy, etc. then it's an extremely good choice. It's also great for writing server handlers and data transforms.
>what are the money making prospects of this language?
Almost anywhere Python can go, Golang can also go and be more performant. The one exception is being an embedded scripting language, but anything standalone I've mentioned like server software or CLIs you'd write in Python can be written faster in Golang. Plus, because Golang is simple, the transformations are pretty straight-forward.
Anonymous
6/23/2025, 10:14:43 PM No.105683599
for all the gofags: IGNORING COMPLEXITY DOES NOT SOLVE IT
Anonymous
6/23/2025, 10:37:01 PM No.105683758
>>105665224 (OP)
this retarded beaver looked at the evolution of programming languages and just said "nah, I'd win"
Anonymous
6/23/2025, 11:14:31 PM No.105684056
>>105675253
In the context of go this makes sense, but in general why use a language construct meant for handling exceptional events for simple control flow (it is called panic after all)? For example in elixir you can throw and then catch a value if you need to break out of a deeply nested call, to bubble an exception you can use raise and rescue. If go is a ‘simple’ language why have panic mean more than one thing?
Replies: >>105684533
Anonymous
6/23/2025, 11:22:27 PM No.105684112
>>105665224 (OP)
I hate how retard golang library is, it's like a mixture of suckless + more incompetence, for example gzip implementation is very straightforward but also it's times slower than a modern zlib implementation, my guess is that other part of the golang library are also slower than original implementations.
Anonymous
6/23/2025, 11:38:24 PM No.105684236
>>105681944
>Not sure what this means
These are the time package's constants:
const (
Layout = "01/02 03:04:05PM '06 -0700" // The reference time, in numerical order.
ANSIC = "Mon Jan _2 15:04:05 2006"
UnixDate = "Mon Jan _2 15:04:05 MST 2006"
RubyDate = "Mon Jan 02 15:04:05 -0700 2006"
RFC822 = "02 Jan 06 15:04 MST"
RFC822Z = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
RFC850 = "Monday, 02-Jan-06 15:04:05 MST"
RFC1123 = "Mon, 02 Jan 2006 15:04:05 MST"
RFC1123Z = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
RFC3339 = "2006-01-02T15:04:05Z07:00"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
Kitchen = "3:04PM"
// Handy time stamps.
Stamp = "Jan _2 15:04:05"
StampMilli = "Jan _2 15:04:05.000"
StampMicro = "Jan _2 15:04:05.000000"
StampNano = "Jan _2 15:04:05.000000000"
DateTime = "2006-01-02 15:04:05"
DateOnly = "2006-01-02"
TimeOnly = "15:04:05"
)

Instead of using placeholders like %d, time formats are written in terms of the reference time Layout: Monday, January 2 2006, 03:04:05 p.m., UTC−07:00. This has the benefit of showing you what the formatted time will actually look like.
Replies: >>105684909
Anonymous
6/24/2025, 12:07:06 AM No.105684465
>>105672510
holy waifu
Anonymous
6/24/2025, 12:17:07 AM No.105684533
>>105684056
you argue over semantics. none of this matters once you realize that exception is just the same error value, delivered via language built-in dedicated error path instead of conventional "return" path.

does it really matter how you get the error object?
Replies: >>105686976
Anonymous
6/24/2025, 1:09:35 AM No.105684909
>>105682045
> If _, err := foo(x); err != {
I’ve never seen two if conditions like that.
Nice, I’ll start using that if my old go version supports it. Thanks.
Yeah, those returns are a bit over the top.
I came from C so, I’m desensitized to it.

> you'd write in Python can be written faster in Golang
Let’s leave python programmers to python as a retard containment facility.

>>105684236
Everything but 2006-01-02T15:04:05
LOL!
Replies: >>105685285
Anonymous
6/24/2025, 2:05:20 AM No.105685285
>>105684909
>Everything but 2006-01-02T15:04:05
Use RFC3339 for that.
Anonymous
6/24/2025, 6:22:47 AM No.105686687
bump
Anonymous
6/24/2025, 7:17:02 AM No.105686976
>>105684533
I understand the control flow, my point is that it would be simpler for the human reading the program if ‘panic’ didn’t signify two things; an early return from a nested call, or an unexpected event that should crash the program if unhandled. Go equates small syntax with simplicity, but I don’t think the two are the same.
Anonymous
6/24/2025, 7:23:35 AM No.105687006
>>105665224 (OP)
good morning saaaaaaaar
Replies: >>105687086
Anonymous
6/24/2025, 7:37:04 AM No.105687086
>>105687006
Hey buddy I think you got the wrong thread. Java{,script}'s two blocks down.
Anonymous
6/24/2025, 7:59:01 AM No.105687217
>>105665224 (OP)
>should I learn this?
Yes
>is it well designed?
Fuck no
>is it useful?
You can write software in it
>what are the money making prospects of this language?
It's this generation's java