Go checks a lot of boxes for my ideal language for developing web services: Static type, C derived, has garbage collection, generates a single binary, supports concurrency very well, is opinionated, is small/simple, its community prefers to just use standard lib for most work, etc. Yes, Generics is an issue and so is debugging. But, overall, I can't think of many other options that check so many boxes. EDIT: I must h…
Go 1.6 is Released
251–260 of 367 posts
Re: Go 1.6 is Released
#252Earlier quoted context omitted.
"Take interfaces. In Java you might start with them. In Go - in the best case - they emerge, when it's time for them." And it's a relatively subtle language feature that does this, the way that any struct that implements a given interface automatically conforms to that interface without having to be declared. Which means you can declare an interface that foreign packages already conform to, and then freely use them.…
There is a big downside to structural typing as golang implements it though. Refactoring tools. They quite simply cannot do the same kinds of safe refactoring something like a Java refactoring tool can do, because you can't be sure if the function you are trying to rename, add parameter too, etc. is actually the same function in question. There are times when I love the structural typing aspects of golang (trivial de…
Re: Go 1.6 is Released
#253Go checks a lot of boxes for my ideal language for developing web services: Static type, C derived, has garbage collection, generates a single binary, supports concurrency very well, is opinionated, is small/simple, its community prefers to just use standard lib for most work, etc. Yes, Generics is an issue and so is debugging. But, overall, I can't think of many other options that check so many boxes. EDIT: I must h…
Java SE and a fat jar... checks all the boxes and has generics and superior tooling. I still don't get the Go love.
Re: Go 1.6 is Released
#254Earlier quoted context omitted.
> The mental image of a huge ram sucking IDE with code completion for frameworks is simply incompatible with > what I would consider the ideal creative process for me as programmer. Java has long been my primary professional language, and over the past few years Go has taken on a strong secondary niche at my job. I'm big fan of both, and tend to play Switzerland in arguments between them. That being said, the best Go…
(4) Use LiteIDE, simple IDE written for Go.
it is lightweight, enough features and gets the job done.
Re: Go 1.6 is Released
#255Earlier quoted context omitted.
Green threads are awkward to express with the JVM threading/memory/io model. The runtime is massive (contrasting to the go model of statically linking deployment binaries). Some semantics (such as unsigned 64-bit integers) are difficult to express. Java's JNI is a PITA. I don't believe go's c bindings are much better, but the JVM definitely has its sore points. Finally, the object-oriented nature of the JVM is someti…
Actually JNA is actually way better than Go or JNI. And if you are looking at Kotlin / Scala you won't find yourself inside the object-oriented pain. The JVM is actually not that bad.
List[] j=new List[10];
and this is a a serious problem. If generics are correctly implemented, then it should compile.
Re: Go 1.6 is Released
#256Earlier quoted context omitted.
Doesn't attempt to please everyone. Case in point: no OOP or inheritance and no FP. Minimal syntactic sugar.
Nitpick - Go is very much an OO language. Almost everything is done using objects. It has a different way of handling inheritance however - it makes a different decision in the "Composition over inheritance" debate. https://en.wikipedia.org/wiki/Composition_over_inheritance
Golang does Pseudo OO like Motif. The added value is the composition which is amazing.
Re: Go 1.6 is Released
#257Go checks a lot of boxes for my ideal language for developing web services: Static type, C derived, has garbage collection, generates a single binary, supports concurrency very well, is opinionated, is small/simple, its community prefers to just use standard lib for most work, etc. Yes, Generics is an issue and so is debugging. But, overall, I can't think of many other options that check so many boxes. EDIT: I must h…
Java SE and a fat jar... checks all the boxes and has generics and superior tooling. I still don't get the Go love.
Much of the Go love comes from doing (almost) everything Java does with a lower cognitive load... and goroutines are really useful, too.
Re: Go 1.6 is Released
#258I've been writing some gocode recently and huge chunk of code is if err != nil ... I know you can do if ; err!=nil but that not that much better and you end up in deeply nested if blocks. i have to mentally block out err !=nil to read any gocode linearly. How is this acceptable, I don't get it. https://blog.golang.org/errors-are-values We recently scanned all the open source projects we could find and discovered that…
Re: Go 1.6 is Released
#259Earlier quoted context omitted.
Go programs can link the Qt library, specifically the GUI components, statically? ... it produces one output binary per target OS?
I have not tried Qt with Go to be honest, but in general yes compiled Go code produces a single statically linked binary on the target OS.
Re: Go 1.6 is Released
#260Earlier quoted context omitted.
Go programs can link the Qt library, specifically the GUI components, statically? ... it produces one output binary per target OS?
I have not tried Qt with Go to be honest, but in general yes compiled Go code produces a single statically linked binary on the target OS.