Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Progressive JPEG
Feb 19, 2003

(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

Adbot
ADBOT LOVES YOU

Shaggar
Apr 26, 2006
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.

prisoner of waffles
May 8, 2007

Ah! well a-day! what evil looks
Had I from old and young!
Instead of the cross, the fishmech
About my neck was hung.

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

go is c with garbage collection added and dependency management removed

e: hm somehow i got awful.app to edit a previous post when quoting a previous post

lol same

Space Whale
Nov 6, 2014
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?

Sapozhnik
Jan 2, 2005

Nap Ghost
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

Gaukler
Oct 9, 2012


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.

my homie dhall
Dec 9, 2010

honey, oh please, it's just a machine
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

mystes
May 31, 2006

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.

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.
To be fair, it's not trying to be a replacement for c for low level or performance-critical software so much as for dumb linux programming that's inexplicably using c because of the ecosystem and/or inertia.

Space Whale
Nov 6, 2014
Will .net core ever be a fad or its it literally all inertia all the way down?

FlapYoJacks
Feb 12, 2009
Go was literally created for engineers not smart enough for C++. This is Googles words not mine.

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

Sapozhnik posted:

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


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

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

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:

Tbf c++ is not appropriate for any human level intelligence, though some people manage to scrape by

suffix
Jul 27, 2013

Wheeee!

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?"

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
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

brap
Aug 23, 2004

Grimey Drawer
I would like if .net core became a fad :shobon:

CPColin
Sep 9, 2003

Big ol' smile.
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!

Nomnom Cookie
Aug 30, 2009



tak posted:

nah I'll just use a typed map, with a stdlib mutex if I need concurrent access

I literally have never needed a MB/s throughput concurrent map yet though. but if I did I'd use the sync.Map and slog through writing the 3 line type assertion to make it type-safe

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

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

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)

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

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

Nomnom Cookie
Aug 30, 2009



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

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

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

Xarn
Jun 26, 2015
So you are saying I should be using rocks for carpentry :thunk:

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

NihilCredo posted:

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

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 :shrug:

Aramoro
Jun 1, 2012




CPColin posted:

Then I'll never have to rewrite anything ever again!

Ahh got the tickets to Belize booked then?

Nomnom Cookie
Aug 30, 2009



Xarn posted:

So you are saying I should be using rocks for carpentry :thunk:

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

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
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

Nomnom Cookie
Aug 30, 2009



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

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
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

abraham linksys
Sep 6, 2010

:darksouls:
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

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





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

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
upset is definitely the word i'd use to describe laughing at idiots who choose purity over pragmatism when talking about programming languages

Nomnom Cookie
Aug 30, 2009



Blinkz0rz posted:

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

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

abigserve
Sep 13, 2009

this is a better avatar than what I had before
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

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





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

akadajet
Sep 14, 2003

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")

Somewhat related: The guy that created ruby on rails (lol) laments the woeful state of modern web dev.

https://twitter.com/dhh/status/1258074299337826304

dhh loving sucks

Nomnom Cookie
Aug 30, 2009



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

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





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)

akadajet
Sep 14, 2003

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

Shaggar
Apr 26, 2006

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!

akadajet
Sep 14, 2003

you wouldn't write real software with a node backend anyways. it's for toy projects.

Adbot
ADBOT LOVES YOU

Shaggar
Apr 26, 2006
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.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply