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.
 
  • Locked thread
pram
Jun 10, 2001
not to mention the obvious. docker is written in go. which means the future rests on the glorious shoulders of the best language

Adbot
ADBOT LOVES YOU

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
like it would be one thing if passing around empty interfaces was something you could do, but it was frowned upon and the compiler would warn you about. like raw types in java or something.

but actually go doesn't offer an alternative so everyone does it

Janitor Prime
Jan 22, 2004

PC LOAD LETTER

What da fuck does that mean

Fun Shoe

MALE SHOEGAZE posted:

after spending 90% of my time in java trying to fight with compilation issues and fighting with intellij i can understand a lot of the motivations behind go

lol at using your IDE as your build system, just lol

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
i'm not but intellij has to be aware of my build system or else it cant know what's defined and then it cant be useful as an ide??

pram
Jun 10, 2001

MALE SHOEGAZE posted:

like it would be one thing if passing around empty interfaces was something you could do, but it was frowned upon and the compiler would warn you about. like raw types in java or something.

but actually go doesn't offer an alternative so everyone does it

i havent seen many people actually use interface{} like that in libs. mostly reflect, like this https://github.com/gin-gonic/gin/blob/f212ae77289674a64f725bf650841e14b8f98613/binding/form_mapping.go#L14

i think yr being a baby

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

pram posted:

there are actually a lot. ive been using this one lately

https://github.com/koding/kite

also bash doesnt do floating point, what a piece of poo poo

expr 2.3 \* 3
expr: not a decimal number: '2.3'

oh, well at least go isnt literally worse than bash

pram
Jun 10, 2001

fart simpson posted:

*loud tv static*

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
the lack of generics in go is definitely a pain point, but I find it hard to care when the main reason people say they want it is so they can just keep using their c/java idioms instead of doing it in a way more suited to the language.

gonadic io
Feb 16, 2011

>>=

it's like looking into a mirror, only the label reads "go" instead of "haskell". we know you like go buddy, it's okay. you can like it.

pram
Jun 10, 2001

gonadic io posted:

it's like looking into a mirror, only the label reads "go" instead of "haskell". we know you like go buddy, it's okay. you can like it.

what does this mean

pram
Jun 10, 2001
oh he likes haskell ok sorry i need to update my programming goon directory

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
haskell more like hassle!

Su-Su-Sudoko
Oct 25, 2007

what stands in the way becomes the way

MALE SHOEGAZE posted:

haskell more like hassle!

LOL!

pram
Jun 10, 2001
go pros:

multi platform
fast compilation
no deps
ownage concurrency
easy
futuristic
strong w/ big muscles irl

go cons:

multiplication hard
not as much cred as functional lang gimmick??

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



both (depending on preference):

is poop from a butt

VikingofRock
Aug 24, 2008




MALE SHOEGAZE posted:

haskell more like hassle!

bobbilljim
May 29, 2013

this christmas feels like the very first christmas to me
:shittydog::shittydog::shittydog:
im far too stupid to program without static everything.

find bugs is amazing found some egregious bullshit in our code for sure.

like using .equals on differently typed objects lmao

MeruFM
Jul 27, 2010
go is good
it compiles and then works and handles load well and doesn't require 500mb to initialize a VM, nor have any production-environment gotchas like almost every scripting lang
and gives good compiler errors because of it's simplicity

that makes it pretty good

~Coxy
Dec 9, 2003

R.I.P. Inter-OS Sass - b.2000AD d.2003AD

pram posted:


also bash doesnt do floating point, what a piece of poo poo

expr 2.3 \* 3
expr: not a decimal number: '2.3'

talk about damning with faint praise

Brain Candy
May 18, 2006

MALE SHOEGAZE posted:

i'm not but intellij has to be aware of my build system or else it cant know what's defined and then it cant be useful as an ide??

intellij can completely configure it's build path based on a pom

Brain Candy
May 18, 2006

pram posted:

go pros:

channels are neat i guess

go cons:

google will stop supporting it when they get bored
rust exists

ftfy, OP

gonadic io
Feb 16, 2011

>>=
i would rather code in go than in c

prefect
Sep 11, 2001

No one, Woodhouse.
No one.




Dead Man’s Band

Subjunctive posted:

yeah, and java compilation parallelizes very well, while most makefile structures don't. buck does very good things here, especially the API tracking to avoid rebuilding the world when you make a non-interface change to some class that's at the root of your graph.

yes, i'm pages behind, but what's the skinny on this "buck" thing? is it any good, or is it lovely?

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

Rust is a systems language.

Go is a cis mens language

prefect
Sep 11, 2001

No one, Woodhouse.
No one.




Dead Man’s Band
i'm working with selenium grid. you can write servlets that get loaded and add functionality to the grid admin web interface. so i've done that. now i have a question which may betray a fundamental misunderstanding about the nature of servlets:

the servlet takes http requests and responds with some json statistics about the selenium cluster. i want to get those stats into a graphite installation, so i can draw pretty graphs about them. this makes me think i don't want to respond to http requests -- what i really want is to regularly fire my statistics at the graphite server. i believe you can make a servlet execute some function at regular intervals, maybe with ScheduledExecutorService. but is that the right thing to do?

thanks in advance :tipshat:

suffix
Jul 27, 2013

Wheeee!

pram posted:

deploying your go source with a docker onbuild container is so loving sweet. u dont even know man. straight from git to prod

dockerizing go programs seems a bit pointless, tbh

like i was mucking around thinking about running some java programs in docker but i realized they're already self-contained with all their dependencies

kitten emergency
Jan 13, 2008

get meow this wack-ass crystal prison

prefect posted:

i'm working with selenium grid. you can write servlets that get loaded and add functionality to the grid admin web interface. so i've done that. now i have a question which may betray a fundamental misunderstanding about the nature of servlets:

the servlet takes http requests and responds with some json statistics about the selenium cluster. i want to get those stats into a graphite installation, so i can draw pretty graphs about them. this makes me think i don't want to respond to http requests -- what i really want is to regularly fire my statistics at the graphite server. i believe you can make a servlet execute some function at regular intervals, maybe with ScheduledExecutorService. but is that the right thing to do?

thanks in advance :tipshat:

it doesn't really matter if you push or poll but I'd recommend polling because it's easier to deal with down the line

like, if your graphite install suddenly lives at a new server if you're polling you don't have to gently caress around with the selenium server at all

MononcQc
May 29, 2007

pram posted:

try using go

hahaha no

MononcQc
May 29, 2007

here let me show my program where over 50% of the code is checking whether a thing returned an error and if so, manually doing the equivalent of raising an exception

MononcQc
May 29, 2007

oh look I have no good way to see if a goroutine has died and poo poo can't work anymore. welp guess I'm gonna wait on this idiot channel until someone figures it out and implements a signals framework for goroutines so I can retrofit everywhere and rewrite a proper program

AWWNAW
Dec 30, 2008

MononcQc posted:

here let me show my program where over 50% of the code is checking whether a thing returned an error and if so, manually doing the equivalent of raising an exception

it probably seems pretty cool if you've been writing nothing but C for forty years

MononcQc
May 29, 2007

conjecture: microservices are particularly popular within the Go and node.js communities because both environments are bad at allowing large systems to be written and external architectural patterns have to be brought in to circumvent these languages' limitations.

AWWNAW
Dec 30, 2008

they should call it nose package manager cause it's full of mushy boogers

AWWNAW
Dec 30, 2008

node packages are like boogers

their creators hastily produce them from an orifice and play with them for a little while then discard them

when you install a node package you're literally building a system out of discarded mucus

Shaggar
Apr 26, 2006

fart simpson posted:

go doesnt seem so good tbh

yeah its deprecated

Shaggar
Apr 26, 2006

MononcQc posted:

conjecture: microservices are particularly popular within the Go and node.js communities because both environments are bad at allowing large systems to be written and external architectural patterns have to be brought in to circumvent these languages' limitations.

that might be part of it but I think its more


AWWNAW posted:

node packages are like boogers

their creators hastily produce them from an orifice and play with them for a little while then discard them

when you install a node package you're literally building a system out of discarded mucus

they are hobbyist languages used by hobbyists for hobby projects that they never complete. so nothing ever gets very large.

Shaggar
Apr 26, 2006

prefect posted:

i'm working with selenium grid. you can write servlets that get loaded and add functionality to the grid admin web interface. so i've done that. now i have a question which may betray a fundamental misunderstanding about the nature of servlets:

the servlet takes http requests and responds with some json statistics about the selenium cluster. i want to get those stats into a graphite installation, so i can draw pretty graphs about them. this makes me think i don't want to respond to http requests -- what i really want is to regularly fire my statistics at the graphite server. i believe you can make a servlet execute some function at regular intervals, maybe with ScheduledExecutorService. but is that the right thing to do?

thanks in advance :tipshat:

if the stats are updated in irregular intervals then create methods that a client can request to register/unregister for events that specifies the update endpoint url. then when stats are updated, post the updates to each registered endpoint.

if the stats are updated in regular intervals, then include the interval as a TTL on the message containing the stats and in the client, use the TTL for scheduling update frequencies.

triple sulk
Sep 17, 2014



i'm posting because i kinda want to dig up my old post about go interfaces and why the way they're implemented is kind of dumb

prefect
Sep 11, 2001

No one, Woodhouse.
No one.




Dead Man’s Band

Shaggar posted:

if the stats are updated in irregular intervals then create methods that a client can request to register/unregister for events that specifies the update endpoint url. then when stats are updated, post the updates to each registered endpoint.

if the stats are updated in regular intervals, then include the interval as a TTL on the message containing the stats and in the client, use the TTL for scheduling update frequencies.

thanks; i hadn't thought of either the registration or ttl angles (these should be regularly-updated). those are definitely good ideas

Adbot
ADBOT LOVES YOU

Captain Foo
May 11, 2004

we vibin'
we slidin'
we breathin'
we dyin'

go gently caress yourself, i think

  • Locked thread