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
Mao Zedong Thot
Oct 16, 2008


Sapozhnik posted:

Baking the literal existence of GitHub and depending on "eh, whatever HEAD is pointing to right this second, I guess" into not just your build system but your loving module system is a PHP-tier level of pants on head retardation.

This is a pretty inaccurate assessment of go dependencies. To start with, everyone uses vendoring, no one ever goes to the internet for dependencies at build time. your repo contains all the code it needs, period. Just because packages tend to be namespaced with github first is irrelevant. It's like complaining about Java's cargoculted 'com.mycompany.myteam.buttservice' except in this case it usually means you can actually visit that URL and see something helpfully related to that code. Godep/glide/whatever are integral and helpful tools that make vendoring really easy and simple and nice. I spent years smashing my head into the trash fire that is pip and/or python vendoring and dear god it's nice to have an automagic thing that just loving works for dependencies. The only thing I can complain about is github not having an option to hide vendor diffs (git itself does though).

Sapozhnik posted:

I guess I could live with having to cast in and out of collections constantly. I mean, I've got a few Java projects of my own that use a lot of generic types and the generic type signatures of some of my abstract base classes are absolutely horrifying. So I can see that trade-off being potentially worthwhile. Though mostly all I do with those bases is derive from them and plug types into the type variables, write a forwarding constructor, and expose it to the dependency injector. Inheritance is usually very bad.

Yeah, I don't really get the obsession with generics. Generics are nice, they would make go a better language, absolutely. But they aren't in there, and despite whatever weird beliefs some people cling too, it's just like... okay? You just deal with it? You know, a lot like all those other languages that don't have generics? If you think there's just one indisputably the best language for everything, you are religiously self identifying to the point of delusion or naive.

Adbot
ADBOT LOVES YOU

leftist heap
Feb 28, 2013

Fun Shoe

comedyblissoption posted:

when I criticize go, this is the type of nauseating stuff I am criticizing

reversing an array in golang is apparently an ordeal because go is adamantly against extraordinarily useful features

http://stackoverflow.com/questions/19239449/how-do-i-reverse-an-array-in-go

criticism of golang about how you have to reverse:
https://news.ycombinator.com/item?id=11860024
further down on a golanger's justification of you should handroll reverse every time it's not a big deal:
https://news.ycombinator.com/item?id=11860079

having a reasonably usable sort (idk how reasonable it actually is) took a major golang language update. and this genericity introduced for sort only is special cased on sort afaik.

I don't understand how golangers can get away with saying the language is for those who want to be productive or that it makes people productive

aaaaaaaaaaaaaaaaaaaaaaa

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

VOTE YES ON 69 posted:

Yeah, I don't really get the obsession with generics. Generics are nice, they would make go a better language, absolutely. But they aren't in there, and despite whatever weird beliefs some people cling too, it's just like... okay? You just deal with it? You know, a lot like all those other languages that don't have generics?

You sound like a battered spouse. It's quite disgusting.

leftist heap
Feb 28, 2013

Fun Shoe
which other remotely mainstream language besides c either doesn't have generics of some form (or is dynamically typed anyway)?

comedyblissoption
Mar 15, 2006

leftist heap posted:

which other remotely mainstream language besides c either doesn't have generics of some form (or is dynamically typed anyway)?
there are zero popular languages (that I am familiar with) that don't support some form of genericity based on type over functions and/or data types besides C

dynamic typing you usually often get some type of genericity "for free"

leftist heap
Feb 28, 2013

Fun Shoe
statically typed langs by popularity according to this page

http://githut.info/

java
C++
C
C#
Go
Swift
Scala
Haskell
Rust
OCaml
D
F#
Haxe

lol, go is the only one.

leftist heap
Feb 28, 2013

Fun Shoe
it's bad

jony neuemonic
Nov 13, 2009

leftist heap posted:

statically typed langs by popularity according to this page

http://githut.info/

java
C++
C
C#
Go
Swift
Scala
Haskell
Rust
OCaml
D
F#
Haxe

lol, go is the only one.

dang f# made the list? neat.

cinci zoo sniper
Mar 15, 2013




hmm, what type of work prefers ocaml?

leftist heap
Feb 28, 2013

Fun Shoe

jony neuemonic posted:

dang f# made the list? neat.

yes at 0.055% of active github repos so...

gonadic io
Feb 16, 2011

>>=

cinci zoo sniper posted:

hmm, what type of work prefers ocaml?

janestreet. nowhere else.

abraham linksys
Sep 6, 2010

:darksouls:
started working at a company using rails so i've been getting up to speed on ruby/rails for the first time, and man

the rails parts seem mostly good. the ruby parts are bad. the parts of rails that are bad seem to be the ones only enabled because of ruby being bad. now i get why people are so excited about phoenix; it's like rails on a language that isn't a tire fire.

seriously working in a language where i can't even use a linter to discover whether i've made a typo on a variable reference or not is loving maddening. javascript is nothing compared to this. christ

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
my current biggest complaint about go is its lack of any kind of namespacing and its bizarre and weird file / package scoping. it makes it really difficult to have a single codebase containing more than a few thousand LoK. which is generally seen as a good thing, but idk. i guess the idea is that you get really comfortable making lots of sub repos for your code, but for me that represents a lot of overhead.

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

abraham linksys posted:

started working at a company using rails so i've been getting up to speed on ruby/rails for the first time, and man

the rails parts seem mostly good. the ruby parts are bad. the parts of rails that are bad seem to be the ones only enabled because of ruby being bad. now i get why people are so excited about phoenix; it's like rails on a language that isn't a tire fire.

seriously working in a language where i can't even use a linter to discover whether i've made a typo on a variable reference or not is loving maddening. javascript is nothing compared to this. christ

eh, i really disagree. I mean, ruby is bad, but rails idioms are really bad. It starts out nice but once you get into the internals you'll see. Oh, how you'll see.

FamDav
Mar 29, 2008

VOTE YES ON 69 posted:

This is a pretty inaccurate assessment of go dependencies. To start with, everyone uses vendoring, no one ever goes to the internet for dependencies at build time. your repo contains all the code it needs, period. Just because packages tend to be namespaced with github first is irrelevant. It's like complaining about Java's cargoculted 'com.mycompany.myteam.buttservice' except in this case it usually means you can actually visit that URL and see something helpfully related to that code. Godep/glide/whatever are integral and helpful tools that make vendoring really easy and simple and nice. I spent years smashing my head into the trash fire that is pip and/or python vendoring and dear god it's nice to have an automagic thing that just loving works for dependencies. The only thing I can complain about is github not having an option to hide vendor diffs (git itself does though).

I like how you can have compilation errors when two packages vendor the same code.

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
also vendoring breaks the usability of a lot of go's toolchain, which is kind of a big deal when your language design philosophy is that the toolchain should supplement the incredibly stupid compiler.

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
go does not let you use a package imported within the same package if the import occurred in another file. however, you are free to use variables between files in a package. it makes absolutely no sense. who gives a poo poo about dependencies on a per file level when scope is shared between files (implicitly, and always, because it's loving stupid).

i made a post on the go reddit about this and the only good response i got was that it's for build tags and it enables cross platform libraries. i think that's dumb and they should have found a better way to edge case those things, but whatever.

everyone else told me that i was thinking too hard.

DONT THREAD ON ME fucked around with this message at 01:05 on Oct 16, 2016

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
for some reason, i still really like go.

NihilCredo
Jun 6, 2011

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

MALE SHOEGAZE posted:

for some reason, i still really like go.

mods change male shoegaze's name to patty hearst thx

fritz
Jul 26, 2003

NihilCredo posted:

mods change male shoegaze's name to patty hearst thx

in san jose
and los gatos
and mountain view
and berkeley

patty hearst
heard the worst
of rob pike's bad design
and bought it

MononcQc
May 29, 2007

comedyblissoption posted:

i dont know erlang so idk where on the spectrum it lies but MononcQc certainly thinks erlang was superior for the problem domain

I do think that. I mean I dislike Go on a level well established and backed by other posters in this thread. It would have made a thousand times more sense to me if they were to switch to Java or another JVM language like scala, clojure or whatever for reasons of ecosystem, libraries, tooling, hiring, and so on. Golang is a thing I just see as plainly inferior to Erlang in the server space for anything that has to do with concurrency and networking. Go's really popular for the problem space of "implementation of X, but in Go" right now I guess.

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





VOTE YES ON 69 posted:

This is a pretty inaccurate assessment of go dependencies. To start with, everyone uses vendoring, no one ever goes to the internet for dependencies at build time. your repo contains all the code it needs, period. Just because packages tend to be namespaced with github first is irrelevant. It's like complaining about Java's cargoculted 'com.mycompany.myteam.buttservice' except in this case it usually means you can actually visit that URL and see something helpfully related to that code. Godep/glide/whatever are integral and helpful tools that make vendoring really easy and simple and nice. I spent years smashing my head into the trash fire that is pip and/or python vendoring and dear god it's nice to have an automagic thing that just loving works for dependencies. The only thing I can complain about is github not having an option to hide vendor diffs (git itself does though).

you know you could just vendor all your deps in python or anything else right? and that it's the canonical way to manage things in go is because they can't even get their poo poo together to cobble together something as awful as pip or rubygems?

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





go is really bad and i say that as someone who writes a ton of command line esque things in python and desperately wanted go to be good enough to justify writing all future ones in it

i understand that languages born in the 80s and 90s like perl, erlang, ruby and python have some really terrible warts that we all wish we didn't have to deal with but the answer isn't to run back the clock to the 1970s. the answer is to look forward and to at least try to progress. java (8), scala, clojure, elixir, rust and swift are not perfect, but at least they are trying to be more than c with garbage collection

kitten emergency
Jan 13, 2008

get meow this wack-ass crystal prison
yeah I can't imagine why you'd want to move away from the jvm it's so lightweight and well suited to microservices

i will note that the most impassioned go haters all seem to come from a java background, I wonder what's up with that? I find java-based stuff to be really hard to work with. like, maven is good at what it does, but it's very thorny to use and kinda slow. gradle is better but you're really just trading one set of problems for another

and to people laughing about reversing a slice, when was the last time you reversed a collection?

Mao Zedong Thot
Oct 16, 2008


uncurable mlady posted:

yeah I can't imagine why you'd want to move away from the jvm it's so lightweight and well suited to microservices

i will note that the most impassioned go haters all seem to come from a java background, I wonder what's up with that? I find java-based stuff to be really hard to work with. like, maven is good at what it does, but it's very thorny to use and kinda slow. gradle is better but you're really just trading one set of problems for another

and to people laughing about reversing a slice, when was the last time you reversed a collection?

maven is mostly good because it does a decent job at hiding how loving garbage java is. like that's basically it's job, which is pretty bad raison detre.

i assume all the people with godawful 'pinions in this thread are just c# and java programmers that hate their life and find outlet in hating on cool and good things. :shrug:

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

VOTE YES ON 69 posted:

maven is mostly good because it does a decent job at hiding how loving garbage java is. like that's basically it's job, which is pretty bad raison detre.

what?

FamDav
Mar 29, 2008

VOTE YES ON 69 posted:

maven is mostly good because it does a decent job at hiding how loving garbage java is. like that's basically it's job, which is pretty bad raison detre.

i assume all the people with godawful 'pinions in this thread are just c# and java programmers that hate their life and find outlet in hating on cool and good things. :shrug:

VOTE YES ON 69 posted:

I had to gently caress with maven yesterday for $client. Pretty sure maven is like go -- in that it's really good, but people seize on the handful of weird or not good things about it -- to the exclusion of all the amazing poo poo it does

"xml!? lmao"
"yeah but..."
"lol hahaha xml"

repeat with like vendoring for go

???

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope
95% of what maven does for me is "make sure these versions of these libraries are on the classpath"

and like i've never heard anyone say the classpath is "the" garbage part about java

jesus WEP
Oct 17, 2004


the best thing about maven is how it means you need to do literally zero config on your CI server, because it's like "oh cool I'll just do what it says in the pom"

Soricidus
Oct 21, 2010
freedom-hating statist shill

St Evan Echoes posted:

the best thing about maven is how it means you need to do literally zero config

hackbunny
Jul 22, 2007

I haven't been on SA for years but the person who gave me my previous av as a joke felt guilty for doing so and decided to get me a non-shitty av

leftist heap posted:

which other remotely mainstream language besides c either doesn't have generics of some form (or is dynamically typed anyway)?

C has generics too. you don't want to know how

Soricidus
Oct 21, 2010
freedom-hating statist shill

hackbunny posted:

you don't want to know how

blasphemy

gonadic io
Feb 16, 2011

>>=

hackbunny posted:

C has generics too. you don't want to know how

i've written generic map and folds in c before. without generics though so you had to cast lots of function pointers

NihilCredo
Jun 6, 2011

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

hackbunny posted:

C has generics too. you don't want to know how

let me guess, it rhymes with "tree professor"

MononcQc
May 29, 2007

uncurable mlady posted:

i will note that the most impassioned go haters all seem to come from a java background, I wonder what's up with that?

there's probably just more people with a java background to begin with

Soricidus
Oct 21, 2010
freedom-hating statist shill

uncurable mlady posted:

i will note that the most impassioned go haters all seem to come from a java background, I wonder what's up with that?

we've seen first-hand how much better a language gets when you add generics and map and filter, even in a half-assed way

uncurable mlady posted:

and to people laughing about reversing a slice, when was the last time you reversed a collection?

9 september, according to git blame. why?

Asymmetrikon
Oct 30, 2009

I believe you're a big dork!

VOTE YES ON 69 posted:

i assume all the people with godawful 'pinions in this thread are just c# and java programmers that hate their life and find outlet in hating on cool and good things. :shrug:

haskell man here and i think go is a garbage trainwreck

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

Asymmetrikon posted:

haskell man here and i think go is a garbage trainwreck

same.

cinci zoo sniper
Mar 15, 2013




VOTE YES ON 69 posted:

maven is mostly good because it does a decent job at hiding how loving garbage java is. like that's basically it's job, which is pretty bad raison detre.

i assume all the people with godawful 'pinions in this thread are just c# and java programmers that hate their life and find outlet in hating on cool and good things. :shrug:
idk im garbage python code monkey and i cant say im behind you on python dependency shortcomings

Adbot
ADBOT LOVES YOU

Plank Walker
Aug 11, 2005
in my freshman java programming class the prof put up a slide that was basically "java generics = toyota corolla, c++ templates = lamborghini"

i didn't know what the car analogy was implying then, and i still don't know now

  • Locked thread