|
(redoing prior post from memory) go channels are half baked and generally worthless, they end up creating more problems then they solve. you'll end up finding that you need to construct your own struct "protocol" just to do things like shut down cleanly without a dead lock. as a bonus they're also slow as cr*p compared to just doing your own locking, so just do that and ignore channels entirely meanwhile another fun go footgun that i see all the time is unaligned atomics, which cause go to panic in 32b builds. the only mention of this is a footnote in the atomic library docs. of course the compiler could just catch this and emit a warning but the go developers decided all compiler warnings are Bad so instead they just have it crash at runtime
|
# ? May 9, 2020 15:59 |
|
|
# ? Apr 25, 2024 10:59 |
|
go is trash and has no purpose beyond being a litterral toy project for someone at goog so he didn't have to do real work.
|
# ? May 9, 2020 16:12 |
|
abraham linksys posted:if a user is tied to a websocket connection (and there's a 1:1 user:socket relationship), and i've properly implemented the weird queue pump system this websocket library recommends to limit processing messages to one at a time per connection, i can theoretically assume that only one thing is touching that state at a time. l m-m-m-multilol what happens when 1 user opens up a second tab or god forbid a second browser abraham linksys posted:it kind of rules how golang's zero values and error returns are like you tried to explain the concepts of null safety and option types to someone and they just completely loving missed the point as hard as they possibly could golang isn’t supposed to be better than recent languages, golang is supposed to be C but with “better ergonomics” for checking error return codes and better ergonomics for concurrency e: very this Progressive JPEG posted:they're called void pointers lol same
|
# ? May 9, 2020 16:14 |
|
So go is a way to look busy doing cognitively easy scut work. I think that's the real use case lol. Seems rust is if I care. Which I do! I'm still wondering how the gently caress mr backend dotnet see sharp is gonna get into rust. Like WTF does someone want to see on a github?
|
# ? May 9, 2020 16:36 |
|
C with better ergonomics oh but uh there's garbage collection and dynamic casting and incompetently implemented CSP now so nothing like C in other words carry on then posted:openj9 is epl never heard of this before and it seems kind of interesting i guess but it still uses the gpled openjdk class library so really how is that any different
|
# ? May 9, 2020 16:40 |
|
prisoner of waffles posted:golang isn’t supposed to be better than recent languages, golang is supposed to be C but with “better ergonomics” for checking error return codes and better ergonomics for concurrency Okay then they just failed because it’s not as performant, it’s FFI story is garbage, and it’s error handling is a joke. 0/3 ain’t bad I guess. They pivoted away from calling it a “systems language” as soon as someone said “hey wait the performance sucks and the runtime is fat.” It’s a language to poo poo out web APIs and it does that semi competently, in spite of itself.
|
# ? May 9, 2020 16:41 |
|
i will say it’s pretty cool how golang and enthusiasm for it is a magnet for the people I least want to work with
|
# ? May 9, 2020 16:43 |
|
Gaukler posted:Okay then they just failed because it’s not as performant, it’s FFI story is garbage, and it’s error handling is a joke. 0/3 ain’t bad I guess.
|
# ? May 9, 2020 16:45 |
|
Will .net core ever be a fad or its it literally all inertia all the way down?
|
# ? May 9, 2020 17:32 |
|
Go was literally created for engineers not smart enough for C++. This is Googles words not mine.
|
# ? May 9, 2020 17:38 |
|
Sapozhnik posted:C with better ergonomics oh but uh there's garbage collection and dynamic casting and incompetently implemented CSP now because it’s v2 w/ linking exception and it didn’t stop adoption when hotspot was licensed that way in 2006 if your lawyers are expecting a grep for “gpl” of your entire codebase and all dependencies and runtimes to return 0 matches then yeah I guess you have a point
|
# ? May 9, 2020 17:38 |
|
Tbf c++ is not appropriate for any human level intelligence, though some people manage to scrape by
|
# ? May 9, 2020 17:39 |
|
Destroyenator posted:it would be nice if rust had an "easy mode" where you could have gc handled for you and then opt-in to the fancy memory stuff when needed. i can't see a point to janitorring all the ownership stuff for a simple web request -> middleware -> db stack, or message queue -> processing -> message queue thing, where most stuff is going to be per-request lived with a few special global/shared pieces like connection pools and app specific services. the type system, tooling, community seems great though thats pretty much swift as i understand it - the code i seen has a very similar feel to rust but less anal wrt memory handling and errors rust-analyzer is getting really good btw... i could barely get rls to follow the type of an Option but now it' parsing macros better than the intellij plugin idgaf about async just use threads, but rust was in dire need of working developer tools before i could think in good faith about using it at work "oh just use vim and look up all the methods online when you need it" "did you just tell me to gently caress yourself?"
|
# ? May 9, 2020 17:39 |
|
i write go for a living because the product was written in it when it started and that predates my time with the team i'd rather write java but trying to justify "hey coworkers, stop writing code in the language you're comfortable with in a multi-million loc product and rewrite it in java" is some loving lol garbage poo poo for principled navel-gazers who think that tools are more important than the problem they're trying to solve basically tech evangelism is loving dumb as poo poo
|
# ? May 9, 2020 17:54 |
|
I would like if .net core became a fad
|
# ? May 9, 2020 18:04 |
|
I have to rewrite a bunch of lovely old Grails applications just so I can get our servers off of Java 7! Once I've done that, I can rewrite the slightly newer Grails applications so I can get Java into double digits. Then I'll never have to rewrite anything ever again!
|
# ? May 9, 2020 19:19 |
|
tak posted:nah I'll just use a typed map, with a stdlib mutex if I need concurrent access it doesn’t hurt that bad, honest!!! I’m doing my own locking because I’m very smart and don’t write bugs also you don’t seem to grasp the meaning of type safety if you think casting provides it ratbert90 posted:Go was literally created for engineers not smart enough for C++. This is Googles words not mine. java is marketed as a language for adults whose highest priority is getting poo poo done and a large fraction of programmers strongly reject adulthood and/or getting poo poo done. that is go’s niche. a good-enough language for grown up babies who want to gently caress around at work, made by grown up babies loving around at work Blinkz0rz posted:i write go for a living because the product was written in it when it started and that predates my time with the team no one itt is saying working go codebases should be rewritten. you’re projecting, maybe? the discussion we’re having is about whether go is overall Good or Bad (it is bad)
|
# ? May 9, 2020 20:01 |
|
Nomnom Cookie posted:no one itt is saying working go codebases should be rewritten. you’re projecting, maybe? the discussion we’re having is about whether go is overall Good or Bad (it is bad) who cares it's a tool you can use to solve a problem
|
# ? May 9, 2020 20:04 |
|
Blinkz0rz posted:who cares it's a tool you can use to solve a problem rock, 2x4, dead blow mallet, claw hammer. they can all drive nails if you try hard enough
|
# ? May 9, 2020 20:09 |
|
Blinkz0rz posted:who cares it's a tool you can use to solve a problem solving problems is a concern for sTaKehOLdERs. you know, those boring people who write the emails I never read _my_ concerns are getting paid and having fun. not necessarily in that order
|
# ? May 9, 2020 20:33 |
|
So you are saying I should be using rocks for carpentry
|
# ? May 9, 2020 20:44 |
|
NihilCredo posted:solving problems is a concern for sTaKehOLdERs. you know, those boring people who write the emails I never read i mean in a perfect world i wouldn't give a gently caress because i wouldn't be doing any work anyway but here we are in this hellscape
|
# ? May 9, 2020 20:47 |
|
CPColin posted:Then I'll never have to rewrite anything ever again! Ahh got the tickets to Belize booked then?
|
# ? May 9, 2020 21:46 |
|
Xarn posted:So you are saying I should be using rocks for carpentry there are people itt advocating this approach, yes. my own opinion is that using your judgment to select good tools is an important part of craftsmanship, but obviously not everyone agrees
|
# ? May 9, 2020 22:28 |
|
i'm lolling at the idea of someone worrying more about the purity of their tools than whether their team knows how to use them, whether they're appropriate for the problem, and whether adopting them will kill delivery momentum
|
# ? May 9, 2020 22:50 |
|
yes all of your teammates prefer rock so that is what you use. you mentioned that earlier. having good reasons to keep using a bad language does not make the language itself good
|
# ? May 9, 2020 23:07 |
|
i don't think anyone itt has claimed go is a superior language might want to chill out a little about tools and stop tilting at windmills
|
# ? May 9, 2020 23:08 |
|
i started rebuilding my lil app in kotlin and it's going okay, though running it on windows still going to be interesting. at this point i think i'd be fine living in windows for development (esp cuz docker works w WSL2 so dependencies like postgres can be managed through that instead of having to janitor them on windows, which seems much more annoying). the only problem with this is that this project also has a webpack-built frontend, and running that on windows instead of WSL2 seems bad given what i know about the node ecosystem and windows. i'd even be okay splitting the frontend and backend across os's (given they're independent of each other) except they're in a monorepo that i'd have to two copies of (one on the windows FS and one in the WSL2 FS) i did get intellij up and running in X under WSL2 and it actually was super easy so i might just go with that for a bit. i think the only problem i'm going to run into is when it inevitably, like, tries to open a link to some docs site in konquerer or whatever the gently caress instead of my windows browser e: oh you can totally just launch windows firefox.exe within WSL2 this poo poo whips. the x window server i'm using supports multiwindow mode so you cannot even tell this intellij is running under linux except for the hosed up font rendering (but it's a java app anyways so) abraham linksys fucked around with this message at 23:24 on May 9, 2020 |
# ? May 9, 2020 23:11 |
|
Blinkz0rz posted:who cares it's a tool you can use to solve a problem you spent like three years in this thread getting upset everytime someone slandered go
|
# ? May 9, 2020 23:29 |
|
upset is definitely the word i'd use to describe laughing at idiots who choose purity over pragmatism when talking about programming languages
|
# ? May 9, 2020 23:31 |
|
Blinkz0rz posted:i don't think anyone itt has claimed go is a superior language some people claiming go is ever a good choice which is what i've been arguing against edit: good choice for new projects are we clear enough yet. i'm not calling you dumb Nomnom Cookie fucked around with this message at 23:41 on May 9, 2020 |
# ? May 9, 2020 23:38 |
|
Go is a good language for people like me who fall into a rabbit hole of doing things the perfect way if presented with a million ways of doing something Go gives you one, unarguably shittier way of doing everything but because there's only one I end up spending more time actually producing code Python philosophy is similar except instead of the one way being lovely it's usually good
|
# ? May 9, 2020 23:43 |
|
Blinkz0rz posted:upset is definitely the word i'd use to describe laughing at idiots who choose purity over pragmatism when talking about programming languages good thing you're here to call out the zero people choosing purity over pragmatism when talking about programming languages
|
# ? May 9, 2020 23:44 |
|
Finster Dexter posted:I'm of the shaggarpinion that c# is a great web dev language. And I think the .NET web dev community is finally moving away from MVC/MVVM as the end-all/be-all of web dev. (AFAIK, the new hotness is blazor stuff and preferring "endpoints" over "controller actions") dhh loving sucks
|
# ? May 9, 2020 23:45 |
|
akadajet posted:dhh loving sucks he's not wrong this time. especially pooping rows directly into the response body. anyone who sees that without shrieking internally is still a junior
|
# ? May 9, 2020 23:50 |
|
Nomnom Cookie posted:he's not wrong this time. especially pooping rows directly into the response body. anyone who sees that without shrieking internally is still a junior those look like static queries (no interpolated values) so while the `SELECT *` is bad, it's not like, the worst i've ever seen it's also from a demo of github codespaces, so it's not like it's a real shipping product (https://twitter.com/notdetails/status/1258070699165585410)
|
# ? May 9, 2020 23:54 |
|
Nomnom Cookie posted:he's not wrong this time. especially pooping rows directly into the response body. anyone who sees that without shrieking internally is still a junior it looks like an example program, not some kind of enterprise grade thing. and for a short example it's nice and concise without a lot of rails magic convention-based nonsense. edit: what the guy above me said
|
# ? May 9, 2020 23:56 |
|
Blinkz0rz posted:upset is definitely the word i'd use to describe laughing at idiots who choose purity over pragmatism when talking about programming languages yeah punching yourself in the dick over and over by using bad tools is definitely pragmatic!
|
# ? May 9, 2020 23:57 |
|
you wouldn't write real software with a node backend anyways. it's for toy projects.
|
# ? May 9, 2020 23:58 |
|
|
# ? Apr 25, 2024 10:59 |
|
the idea that node or go or whatever is totally fine if its only a toy project is a stupid myth because other languages that are better for real projects are also better for toy projects.
|
# ? May 10, 2020 00:00 |