[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: aaaargh.png (798 KB, 1484x997)
798 KB
798 KB PNG
/tgdg/ - A general where we discuss the end of go.

Haskell edition !
Do you know the way of the monad anon ?
can your language even do tail call optimization ?

it's not about rust, it's about go being an insult to programming.

Actually i changed my mind, i love go now !
it contains the jeets !

> muh llvm 17 gorillions lines.
keep seething, llvm is optional.
>>
previous threads
>>103569313
>>103553290
>>
>>103572614
> muh colorless
all go functions are colorfull.
go cannot do colorless at all.
that's like if you made every rust function async, can you imagine lol.
>>
File: file.png (56 KB, 673x865)
56 KB
56 KB PNG
>>103578167
gophers thinks this is better than await.

seeth in your program closing too soon or too late because of off by 1 errors and you failed to count your waitgroups properly.
>>
since you refuse to tone down your -tism. you need to variate your trash talking points.
some candidates:
go generate
module paths are URLs (lol).
lol no package manager. reneged later just like lol no generics. and just like generics, it got implemented in the most retarded way imaginable. e.g. minimum version dependency resolution.
---
while it claims to be a simple modern C, go actually follows the "is this for real or trolling" C++ "design" and development strategy.
>>
>>103578481
i agree, maybe it changed since the last time i used it but i was really annoyed at having to set goroot gopath and whatnot for it to be even somewhat usable.

and yea you can't convince me import with a github url is a good design.

in rust you can do cargo add your_dep --features whatever,things,you_wanna_enable.

most other language have much better deps managment, heck even python with venv / conda / pipenv does it better imo.

they sell it as the simpler C but some design decision are so bad i also wonder if they were just trolling.

just the way you append an array

foo = append(foo, whatever)

who in their right mind thinks this is elegant?
>>
>>103578557
>>103578481
also, they like to boast about simplicity and that there should only be one idiomatic way to do things yet they have two ways to declare variable

a := whatever
let a = whatever.

i also don't like the fact that the language will refuse to build because an unused variable (couldn't it just be a compilation flag seriously)

but will let you _ errors.

legit sometime you just want to disable a small block of code to test something, but no, in go you have to uncoment that, then that, then the thing above, then the import at the top of the file.

and they say it's a language that doesn't get in the way.
>>
>>103578567
nvm it's foo := whatever
and var foo type = whatever

been 2 years you know, i didn't really want to touch that piece of shit again.
>>
>>103578557
back to the array thing.

i think foo.push(whatever) or foo.append(whatever)

is a better design, not only it's less boilerplate.

it also plays better with auto completion

i can do foo.<tab> and see all functions i can apply to foo such as insert, sort, last, etc...

with go you just can't do that.
>>
ITT autistic sped arguing with himself
>>
>>103578584
anyway, most avid gophers i know barely know more than one or two programming languages.

whenever i see a gopher actually learn something knew they very quickly start to dislike go.

but it's almost like a cult where they don't want to learn anything new out of fear of starting to dislike their idol.

at least i can say that i've known and used go but disliked it.
>>
>>103578604
yea man !
i mean i replied to someone, i won't just talk alone for an hour.
>>
>>103578607
>>103578584
>>103578571
>>103578567
>>103578481
>>103578196
>>103578167
>>103578107
>>103578084
>>103578612
i know that you're autistic, but you seriously need to get into a hobby suitable for people like you. maybe anime or dosing yourself with HRT or buying tons of useless CRT monitors.
>>
>>103578625
you don't know me, i got many different hobby.
my plan was to make the thread and mostly let it go.

regarding hobbies i already mentioned in the past.

sure there is cs.

but i also do mycology, some painting and hiking.
i also play a little guitar but i'm not great at it yet.

also the thing is, cs is not just a hobby, it's now a job, and trashing on go means i can maybe slightly reduce the chances to ever have to work with it again in the future.

also no, i don't like trannys and will never be one.

also, CRT look cool but i rather do something else with the space they take like have more tools for my lab.
>>
>>103578625
>>103578644
also, i generally don't spend much time on 4chan.
this is pm a once in a year event where i got annoyed at a gopher.

my guess is i'll be bored of it not long from now and the general will die if not more people want to keep it alive.
>>
File: i am a sad lonely faggot.png (1.06 MB, 1080x1611)
1.06 MB
1.06 MB PNG
>>103578644
>>103578660
>>
>>103578664
lol, seething gopher spoted.
>>
>>103578664
>>103578672
anyway, no replies to the argument and going straight to ad hominem pm means i was right and we can end the thread.
>>
File: crying wojak.jpg (8 KB, 225x225)
8 KB
8 KB JPG
>anyway, no replies to the argument and going straight to ad hominem pm means i was right and we can end the thread.
>>
>>103578681
you are only futhering my point lmao.
keep seething about your garbage curryniger language.
>>
File: 1719022070698r.png (842 KB, 1024x1024)
842 KB
842 KB PNG
>you are only futhering my point lmao.
>keep seething about your garbage curryniger language.
>>
>>103578557
>design decision
go wasn't really "designed", just like how JS wasn't designed. the team that shat go out just cooked up something quickly.
the only difference is that, unlike JS, the go team where both in no rush, AND tried to sell this as a good thing.. which actually lends to the "trolling" theory.
>>
File: (You).jpg (55 KB, 294x294)
55 KB
55 KB JPG
>go wasn't really "designed", just like how JS wasn't designed. the team that shat go out just cooked up something quickly.
>the only difference is that, unlike JS, the go team where both in no rush, AND tried to sell this as a good thing.. which actually lends to the "trolling" theory.
>>
op is trans btw
>>
>>103578084
This site is pathetic. 4chan is already severely autistic, and then you add a COMPUTER board lol. I'm surprised anyone on this board can even type with the levels of spergers present.
>>
>>103579089
https://www.youtube.com/watch?v=ZACOc-NwV0c
>>
>>103579089
rust trannys don't keep mentioning they are dudes.
also:
>>103579282
>>
OP probably went to sleep.
i'll bump on his behalf.
>>
>>103579887
thanks !

still awake but there is not much to say.
no point in talking alone, nor replying to insults.

they are seething and i'm content with that.
i'll reply to technical stuff or actual arguments.

also not sure OP can bump the thread anyway.
>>
>>103578567
>i also don't like the fact that the language will refuse to build because an unused variable
dont make unused variables then? honestly the worst part of rust is that they went with affine types instead of linear types. tired of retards who don't clean up after themselves.
>but will let you _ errors.
rust also lets you do this for Result returns though?
>>
>>103580156
have you never ever commented a bit of code just to check something ?

did you even read my post ?
with go sometime you just want to comment something to check something, but then it complains that is unused, that is unsued etc

so you need to go up your whole file commenting more up to the import just to check your trivial thing.

what could have been a single block commenting and then undo now turns into a bunch of commenting then a bunch of undo or git checkout ., don't tell me this is good design.

also rust will warn you about unused variable, but it won't bug you with it, and unused variables are not an issue as they are not ending up in the final binary.

also there are cases where you want to first define a bunch of variable you are gonna use latter to make some schema and organize stuff, it helps in the building process, go gets in the way and make you go back and forth between where you define your variables and where you use it, you thus have to move more with your editor than you would otherwise.

> rust also lets you do this for Result returns though?

yes, but you cannot actually use the data within the result if you do that, the only way to use the data within a result is to handle the error.

with go you can do foo,err = whatever and use foo without having checked that it didn't err, which will cause runtime errors, which could lead to other issue because it didn't stop early.
>>
File: IMG_3842.jpg (635 KB, 1206x1948)
635 KB
635 KB JPG
>>103580156
It’s especially easy to fuck up error handling in go
>>
>>103580182
>have you never ever commented a bit of code just to check something ?
no and you shouldn't either. you are not a junior anymore anon. you shouldn't act like one.
>did you even read my post ?
yes. do you know what linear types are? like rust's affine types, but you cannot have any unused types.
this restriction is good for you, like how borrow checker is good for you. it might be inconvenient if you're stuck thinking a certain way, but in the end is worth it.
>don't tell me this is good design.
it is. every language should do it desu.
>and unused variables are not an issue
yes they are. it's sloppy and bad practice. it both shits up the codebase and makes you do dumb shit like hacky modifications and tests.
you shouldn't be commenting things out and "testing". if you are changing code, change it. letting you get away with that makes you be lazy about it, and you make bad changes.
you should have your code fully worked out before you even begin typing it out.

go probably lets you ignore unused values anyways which is dumb and maybe worse than not erroring out at all. you should either care about it or don't. go has no opinion because it's a bad language.
proper linear types have no way to bypass the 1x usage requirement. that's how it should be. enforce zero sloppiness.

>the only way to use the data within a result is to handle the error.
that's true.
desu the standard procedure i've seen in other people's rust codebases is just naked unwraps on Results and letting the code panic. thats not handling imo.
it would be better if rust forced you to properly panic-proof your code imo, but i dont think the type system is powerful enough for that yet. hopefully someday.
>>
>>103580368
> no and you shouldn't either. you are not a junior anymore anon. you shouldn't act like one.
> yes they are. it's sloppy and bad practice. it both shits up the codebase and makes you do dumb shit like hacky modifications and tests
such as ?
> it is. every language should do it desu.
> you should have your code fully worked out before you even begin typing it out

that tells me you either are not an engineer, or you have worked only on very limited scopes, there are tons of cases where you cannot "fully work out" your code before writting it because you need to interface with things that are black boxes and must be reverse engineered in the process of interfacing with them.
that job would become 10x more a pain in the ass by using a language that tells you "muh unused variable i can't run", rust warns you about them, and i think that's enough, because my end code never has any unused variable left, but during the development process sometime you have no choice but to do such things and having to delete everything instead of just commenting out a block is ridiculous.
>>
File: file.png (37 KB, 408x73)
37 KB
37 KB PNG
>>103580368
>>103581264

> desu the standard procedure i've seen in other people's rust codebases is just naked unwraps on Results and letting the code panic. thats not handling imo.

i've not seen that, the most standard thing i see is people making a custom error wrapper type and use the "?" syntax, this way errors are propagated up and handled at a specific spot.

also i don't think there is any issue in using unwrap / except in cases where the program could no longer continue otherwise.
ie if i have a program that needs to connect to a database and do a bunch of stuff with it, failing to connect to the database means the program should stop now, or another example, if it fails to open a file which is essential to run.

so in such cases, expect / unwrap are fine, but anyway, i don't use them much in code that should never panic, ie picrel.
this dir has > 10K sloc, the only panic is a logical impossibility and SHOULD crash the program if it somehow happened.
>>
File: file.png (59 KB, 675x74)
59 KB
59 KB PNG
>>103580368
also following your thing, you can see that the whole project builds without any warning.

warnings are fine during deving because you are still making your thing, so it's all right for it to be in progress / have temporary stuff, however i make sure there are never a single warning left before any version release.

you are basically arguing that when building a building, the workers should not be able to use anything temporary in the process of building such as cranes, scaffolds and ladders.

temporary variable and code absolutely have their place even if you know what you are building, let alone when there is reverse engineering involved in the process of building.
>>
>>103581264
>>103581305
and lastly, to finish my point.

even assuming all that is behind.
there are cases where you will want to refactor your code and remove change things progressively, in such cases the compiler screaming about unused variable whilst you are in the process of refactoring is just obnoxious, yes, i know this is no longer needed, yes i will remove it in due time, however that's not the thing that's currently the most important and that my mind is focused on, there is something more critical going on rn and i must not be distracted by compiler bullshit refusing to build because an unused variable or import.
>>
>>103581323
>>103581305
the context switching from going back and forth in your file just for deleting stuff because the compiler is mad will harm both productivity and code quality.

the unecessary stuff will be removed either way, but it should be the developer's choice of when to do so in his process.

i never commit something that still has compiler warnings, and if i do it's a temporary commit that's gonna be overwritten ie i'm switching from my laptop to main rig and i push a tmp commit to do so.
>>
>>103581305
>>103580156
>tired of retards who don't clean up after themselves.

going back to the building crasftmen analogy, you don't blame the tooling if they leave their scaffolding behind when the building is done, it's a problem of the engineers, and i've never seen a moderately used rust project that has unused variable warnings.

but please show me one, show me a 1k+ stars rust github repo where cargo check returns warnings.
>>
uh
>>
>>103578084
Go is fine, maybe you should "go" and do something more productive in your life than rant about a programming language on a Tibetan sock weaving forum.
>>
>>103582529
This thread is not that active, did plenty of things today.

Reason i rant is because i hope i never have to work with that language again, me harming its popularity is only slightly reduce that probability.
>>
up
>>
>>103584331
not sure gophers have anything more to say.
>>
File: childish_angry_soyjak.png (240 KB, 750x645)
240 KB
240 KB PNG
>
>>
>>103578084

Go, in and of itself, is an okay language. Needs better ergonomics, but it can get the job done. It's lean(ish), and it compiles into a small binary which you ship.

Wish they didn't pussyfoot with the lambdas.

The problem with it lies in its community. The community is vastly types that think python and ruby are stooping too low, and/or types that think that being an expert at golang will get you a job at Google (they drank the koolaid, so they MUST be compensated with "doing no work").

Golang does a lot of very asinine things, but again, it does work. It's the culture I wish was eradicated.

https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride
>>
>>103585109
why are you posting pictures of yourself ?
>>
>>103586300
i mean, yes it does work, but that can be said about pretty much anything, you can make anything work if you are patient / masochistic enough.

my point is more that it is a pain in the ass to use because a handful of what i think is very bad design decisions.

i'd be fine with it being just that, but then gophers will go and claim it is the best language out there despite obvious design flaws.

honestly i'd probably not be ranting at go today if gophers just knew their place.

i don't see php devs claiming php is better than everything else, or at least that'd be a vast minority.
they know their tech suck, but they don't care because it works for the job they have to do.

most avid gophers i've met seem completly oblivious to other things existing, a lot of them only know go or just a few more languages and then scream everywhere that go is the best / superior etc due to them lacking knowledge about other options, i'm not even sure if they are aware of the issues the language has because it often is their only point of reference.



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