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
Chasiubao
Apr 2, 2010


Got a new job where I have to use Go, and it's kind of hard to get used to coming from a full .NET stack background :smith:

Adbot
ADBOT LOVES YOU

Chasiubao
Apr 2, 2010


comedyblissoption posted:

Can you elaborate on this? I mainly have experience w/ .NET and am wondering if my preconceived notions of golang would match yours.

Background: I've been a C# backend developer for the better part of 5, almost 6 years.

  • The toolchain sucks. C#/.NET is pretty much 'install Visual Studio and Resharper.' Go for me, on Windows, was 'pick a text editor, install Git, run some package install commands, download the Go SDK, set some environment variables, by the way hope you don't need a functioning debugger'.
  • Speaking of a debugger, the lack of a good one (I'm using Delve which is passable at best) blows my mind. How anyone considered Go a production ready language without a working debugger that can be used to fully inspect and diagnose things is beyond me.
  • No exceptions. I understand why they chose to do it this way, but what it ends up with is code littered with if err != nil checks everywhere. I'm not sure it's better.
  • Other people have already talked about the lovely type system.
  • I've never been a fan of the OSS model of 'download a trillion loving packages to do anything'. I much prefer .NET's much more expansive BCL.
  • Too much stuff is inferred. I prefer explicit visibility modifiers, for example.

There's more but this is off the top of my head. My main complaint is really the frustration at the lovely tools and the overall attitude of 'gently caress you if you want to debug poo poo, that's not our problem'.

Fake edit: I absolutely recognize that a lot of my complaints can be dismissed as 'that's not how Go is done' and 'you're an enterprise developer' which, well, yes and yes. I think my issues are still valid. It's just harder for me to do things. When things are working, Go is a nifty toy language. But trying to do anything complex feels like pulling teeth when you're not quite sure why something went wrong.

Chasiubao fucked around with this message at 20:43 on Dec 12, 2016

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