Earlier quoted context omitted.
> "there are two types of languages, the ones everyone complains about, and the ones nobody uses" Of course Bjarne would say that. The reality is, there are some languages that people use a lot and don't complain about nearly as much. Some languages are just actually worse to use. http://andrewvos.com/2011/02/21/amount-of-profanity-in-git-c...
So of course, going by the logic of linking that article, we're all wasting our time and should just be using PHP?
Why Go is my favorite programming language
181–190 of 256 posts
Re: Why Go is my favorite programming language
#182Earlier quoted context omitted.
There are lighter options in java world, my dropwizard server with JDBI starts in 1.2sec.
I'm genuinely unsure if this is a joke. If you're running that on a modern computer, your server is spending billions of clock cycles starting up. What on Earth is it doing? :) If I write a Go server, I'm unhappy if it takes more than 0.2 seconds to start.
My dropwizard server contains almost all possible batteries: ssl, logging, http filters, static content, metrics, DB connection pooling, static content serving, all kinds of URL parameter parsing and URL routing, DI framework, ORM, thread pooling. I think it just inspects and initializes all this data structures in memory, load libraries and classes, etc.
Re: Why Go is my favorite programming language
#183Earlier quoted context omitted.
I don’t want a vendor directory in the first place, how do I avoid that? I want it to just automatically do its stuff just like maven/gradle/sbt work, and not deal with any damn dependencies. I want it to automatically set the dependency path, and handle incremental compiles. If people claim it has so much better tooling than Java, then I expect at least it to work as well as Java’s tooling.
You're confused, Java's tooling is more complex/less intuitive. It doesn't matter where the dependency data lives on your system; it's completely transparent to you.
Until some idiot checks it in on git despite the .gitignore (yes, this is possible, as I discovered after people accidentally did it).
Java’s tooling is far more intuitive. I don’t have to configure a GOPATH, or deal with go get or deps or stuff, I simply define my build.gradle.kts, do gradle build, and I’m done. I don’t have to care where dependencies are, or what transpilation steps are happening.
If I want to add a preprocessor, I import it the same way that I’d import a normal dependency, just with another directive – `compile 'com.jakewharton:butterknife:8.8.1'` vs `annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'`.
This is something I really miss in the JS and Go and C and C++ world. It all just works.
Re: Why Go is my favorite programming language
#184If I were to build a list of the reasons I use go, it wouldn't be terribly different than this one. But interestingly, while I program go every day, I sort of hate it as a language. You'll note this list doesn't actually have much to do with the language per se, the only point directly related to that is that go has a short list of reserved words (which is true of most languages). So for future language designers (or…
I would be interested in asking you to put some of these thoughts down. This can be contentious as it's matters of taste (i.e. I don't want others to reply to you defending it), so if you wanted you could email me - my contact is in my profile. Just a few thoughts -- i.e. what you had in mind when you wrote that -- would be really helpful for me.
What makes you hate the language?
Thanks so much for any thoughts.
Re: Why Go is my favorite programming language
#185> There is a cost to introducing an abstraction layer. Go code is usually rather clear, at the cost of being a bit repetitive at times. Go programmers say this a lot and every time I see it I wince. We've had all sorts of flights of fashion and fancy in the programming world, but one observation has emerged that seems closer to fact every time we test it: more code is more bugs. The more code you write, the more chan…
As Sandy Metz once said, "A little duplication is far better than the wrong abstraction." After a decade of OOP indoctrination and misuse, we see the results of this. > Go has popularized a mode of writing code where not only are abstractions unwelcome, but they're nearly impossible This lends me to believe you actually haven't written any go code for yourself. This is the same thing every OOP-indoctrinated developer…
Re: Why Go is my favorite programming language
#186Earlier quoted context omitted.
I love the error handling in Go. Every other language I've used led to the inevitable and useless "An error was encountered" message. Go is the first language where I can actually access the original socket permission error because it was actually passed up.
Pretty much every language has this: Java, Python, Ruby, Haskell, OCaml, C++... The only major language that I can think of that doesn't have a standard error propagation mechanism is C.
Re: Why Go is my favorite programming language
#187Earlier quoted context omitted.
>The problems these two sets of languages solve are fundamentally different. I'm afraid I fail this intelligence test. What problems are solved by C, Go, PHP and server-side JS but not by any of Java, C++, C#, D, Rust or Scala (and vice versa)? This seems like a completely arbitrary classification to me.
Sorry, I had thought that it was quite obvious: JS, PHP, and Go are almost exclusively used for web-related tasks. Yes, one can find other usage examples, but by and large, that's their main field of application. To expand on this, imagine building some complex application framework with these web-oriented languages. Without decent abstractions and insufficient typed programming support (see e.g. TypeScript to JS tra…
But I see very little in terms of features or problems they solve that distinguishes Java, JavaScript, Go, Scala and C# from each other when it comes to writing Web backends. It's essentially a cultural choice. So comparing them (and many others) is totally fair game in my opinion.
Re: Why Go is my favorite programming language
#188When Java was first introduced, the world was abuzz about this cool new language which you could "write once, run anywhere". It took some time, but as it grew in popularity, articles started appearing about how much Java sucked because it was slow and bloated, required a ton of boilerplate code, and eventually because "write once, run anywhere" turned out to be a myth, along with a boatload of other reasons. The hone…
As someone who has paid attention to this since Go was released, there never was a honeymoon. The complaints in this thread have been the same exact complaints people have been lodging against Go since 1.0 was released.
What you're seeing is very simple to explain. Some people love Go. Some people like Go. Some people dislike Go. And some people hate Go.
Re: Why Go is my favorite programming language
#189> There is a cost to introducing an abstraction layer. Go code is usually rather clear, at the cost of being a bit repetitive at times. Go programmers say this a lot and every time I see it I wince. We've had all sorts of flights of fashion and fancy in the programming world, but one observation has emerged that seems closer to fact every time we test it: more code is more bugs. The more code you write, the more chan…
Regarding your last paragraph, it's a reflection of the state of the industry. The vast majority of "software engineers"/"full stack developers" can't be bothered to learn new skills or improve their existing ones, so any popular programming tool is stuck catering to the least common denominator. Do you carefully review your own code? Do you voluntarily learn any new skill beyond "blog post intro tutorial" level? Do…
I have a hard time being this cynical. I think post-educational market forces drive this trend, not the personal inattentiveness that I sense (perhaps unfairly, please correct me) that you blame.
Re: Why Go is my favorite programming language
#190> There is a cost to introducing an abstraction layer. Go code is usually rather clear, at the cost of being a bit repetitive at times. Go programmers say this a lot and every time I see it I wince. We've had all sorts of flights of fashion and fancy in the programming world, but one observation has emerged that seems closer to fact every time we test it: more code is more bugs. The more code you write, the more chan…
I love the error handling in Go. Every other language I've used led to the inevitable and useless "An error was encountered" message. Go is the first language where I can actually access the original socket permission error because it was actually passed up.
Because I felt nothing but frustration at most libs I worked with. I (as others before me) ended up grepping error strings.