|
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.
|
# ? Oct 15, 2016 21:41 |
|
|
# ? Jun 27, 2024 18:05 |
|
comedyblissoption posted:when I criticize go, this is the type of nauseating stuff I am criticizing aaaaaaaaaaaaaaaaaaaaaaa
|
# ? Oct 15, 2016 21:49 |
|
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.
|
# ? Oct 15, 2016 21:53 |
|
which other remotely mainstream language besides c either doesn't have generics of some form (or is dynamically typed anyway)?
|
# ? Oct 15, 2016 22:09 |
|
leftist heap posted:which other remotely mainstream language besides c either doesn't have generics of some form (or is dynamically typed anyway)? dynamic typing you usually often get some type of genericity "for free"
|
# ? Oct 15, 2016 22:12 |
|
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.
|
# ? Oct 15, 2016 22:20 |
|
it's bad
|
# ? Oct 15, 2016 22:20 |
|
leftist heap posted:statically typed langs by popularity according to this page dang f# made the list? neat.
|
# ? Oct 15, 2016 22:25 |
hmm, what type of work prefers ocaml?
|
|
# ? Oct 15, 2016 22:31 |
|
jony neuemonic posted:dang f# made the list? neat. yes at 0.055% of active github repos so...
|
# ? Oct 15, 2016 22:58 |
|
cinci zoo sniper posted:hmm, what type of work prefers ocaml? janestreet. nowhere else.
|
# ? Oct 15, 2016 23:34 |
|
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
|
# ? Oct 16, 2016 00:24 |
|
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.
|
# ? Oct 16, 2016 00:34 |
|
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 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.
|
# ? Oct 16, 2016 00:35 |
|
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.
|
# ? Oct 16, 2016 00:45 |
|
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.
|
# ? Oct 16, 2016 00:56 |
|
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 |
# ? Oct 16, 2016 01:02 |
|
for some reason, i still really like go.
|
# ? Oct 16, 2016 01:05 |
|
MALE SHOEGAZE posted:for some reason, i still really like go. mods change male shoegaze's name to patty hearst thx
|
# ? Oct 16, 2016 01:36 |
|
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
|
# ? Oct 16, 2016 02:03 |
|
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.
|
# ? Oct 16, 2016 03:22 |
|
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?
|
# ? Oct 16, 2016 05:20 |
|
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
|
# ? Oct 16, 2016 05:25 |
|
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?
|
# ? Oct 16, 2016 06:17 |
|
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 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.
|
# ? Oct 16, 2016 06:37 |
|
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?
|
# ? Oct 16, 2016 07:57 |
|
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. 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 ???
|
# ? Oct 16, 2016 08:08 |
|
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
|
# ? Oct 16, 2016 08:13 |
|
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"
|
# ? Oct 16, 2016 08:23 |
|
St Evan Echoes posted:the best thing about maven is how it means you need to do literally zero config
|
# ? Oct 16, 2016 12:00 |
|
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
|
# ? Oct 16, 2016 12:38 |
|
hackbunny posted:you don't want to know how blasphemy
|
# ? Oct 16, 2016 12:39 |
|
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
|
# ? Oct 16, 2016 12:42 |
|
hackbunny posted:C has generics too. you don't want to know how let me guess, it rhymes with "tree professor"
|
# ? Oct 16, 2016 13:15 |
|
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
|
# ? Oct 16, 2016 13:54 |
|
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?
|
# ? Oct 16, 2016 14:21 |
|
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. haskell man here and i think go is a garbage trainwreck
|
# ? Oct 16, 2016 14:37 |
|
Asymmetrikon posted:haskell man here and i think go is a garbage trainwreck same.
|
# ? Oct 16, 2016 14:45 |
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.
|
|
# ? Oct 16, 2016 14:52 |
|
|
# ? Jun 27, 2024 18:05 |
|
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
|
# ? Oct 16, 2016 16:06 |