Live data from Hacker News

Go 1.4 is released

blog.golang.org

201–210 of 265 posts

Re: Go 1.4 is released

#201
post #76

Earlier quoted context omitted.

As far as I can tell these samples are immediately bailing out of the Java framework and calling Go using JNI. Which means you don't get the niceties of the UI Framework. You could make OpenGL calls from the Go code like for a game or something. Maybe someone will come up with a Go game engine for Android.

Is there any way to integrate the Java framework? Even something tedious could be crowdsourced with enough help.

That would be the JNI. I have a little bit of experience with making a Python interface to the Android API, and tedious is exactly the right word.

Re: Go 1.4 is released

#202

Earlier quoted context omitted.

>imagine yourself building UI component without classes or inheritance I see no problem at all. UI development in my opinion becomes much more elegant, concise and easy to follow/reason about in a functional language that does not implement classes or inheritance. As you said, Go has struct inheritance and interfaces, that's how you do things in Go and every Go developer is familiar with the concept, it's clean and e…

> easy to follow/reason about in a functional language Go is explicitly not functional. Many builtin functions mutate (look at Sort for an example). There's no map. https://groups.google.com/forum/#!topic/golang-nuts/RKymTuSC... Functions are only almost first-class. For example... http://play.golang.org/p/WB133vrGKD Go does have powerful constructs, but to call it "functional" is maligned. I would also argue that it…

I never claimed Go was a functional language. Sorry, maybe I shouldn't have placed those two statements on the same line but I was talking about two different things. After all, Go does implement inheritance and OOP constructs using structs (in a way), I thought it was obvious I was talking about a different thing when I said functional languages without inheritance or classes can work well with UI.

Re: Go 1.4 is released

#203
post #5

Can someone give me a compelling reason to start programming in Go? My default language at the moment is C, or C++.

- garbage collection - safe and easy programming (really!) - no more shooting yourself in the knee with hard to debug problems - lean but quite complete standard library - native strings (proper unicode/utf-8 handling) - very little boilerplate, sane defaults - concurrency primitives (no tacked-on libraries) - high performance - not far behind C/C++ - extremely easy and practical documentation features (via comments)

Except Java and C# are significantly better at all of these points except for boilerplate, which I would even dispute whether that is a bad thing overall.

Really, things like concurrency primitives as a point in Go's favor? Running code on several processors at once is where it's good to have a library because there are tons of knobs like priority and scheduling policy for instance; it's been trivial to deadlock or arbitrarily delay an entire Go program just by having GOMAXPROCS busy loops and there's no scheduling control at all last time I checked. Meanwhile shared data locking isn't even in the language despite being at a very fine level where using libraries can be cumbersome.

And Go comments as good documentation is another mind-boggling claim. It's a mostly free-format with few machine-readable parts. Most functions don't even explain what types of errors can be returned, just "err Error". It's so bad it isn't even comparable to JavaDoc or C#. How can you have "safe" programming when you have to dig through sources to even find out what the error conditions are?

There is a good reason to use Go and that's to feel like a pioneer. But few technical reasons.

Re: Go 1.4 is released

#204

Earlier quoted context omitted.

If they're smart, Perforce will integrate their UI tools with Git. They have by far the best UI for a Git-style SCM.

Perforce is not Git-style, it's got a single central repository.

Speaking of which, of all the shops moving to Git, prolly only a handful exercise the full value of dvcs.

Re: Go 1.4 is released

#205
post #82

Earlier quoted context omitted.

And now things just got interesting. I'll put my money on the availability of Go on Android being the catalyst for its future hockey stick growth.

I don't really see it - a language made for systems programming (read: non-application development) being used for developing Android apps? Or is there some other kind of Android development in mind, here?

Sure. For the internet to be fully realized, all endpoints need to provide services just as easily as consume services. The whole thing is a system.

Re: Go 1.4 is released

#206

Earlier quoted context omitted.

"or better performance"? I'd like to see some evidence if you have any. Rust has great performance in general - and I also agree that it is an appealing language - but I haven't heard anyone claim better than C++ performance before. I'd be very dubious of anyone making that claim...

As with all performance, it really, really, really depends on what you're doing. I _hate_ the Benchmarks Game, but there are some that we are faster: http://benchmarksgame.alioth.debian.org/u32/rust.php

You _hate_ the Benchmarks Game because … ?

Re: Go 1.4 is released

#207
post #85

Earlier quoted context omitted.

I would be extremely surprised to see a language having no class, no inheritance and no good IDE become successfull in modern app development. Android devs are used to such a different type of programming, i don't expect them to accept banging their heads on so many walls for such little gains. Ps : my stand is the opposite for server side dev.

> no good IDE LiteIDE is open source, cross-platform and pretty enjoyable. https://code.google.com/p/liteide/

+1

Re: Go 1.4 is released

#208

Good god. Seriously, another language. I'm just starting out learning how to program, and I find it irritating that there are so many languages and it's not that easy figuring out which ones you should learn and which ones you shouldn't.

focus on

step 1. getting good at solving problems in one language

step 2. get really good at that language. (ie., know how to avoid pitfalls, get best performance, know corner cases)

step 3. learn new languages that expose you to newer paradigms (ie., you know "OOP" languages, learn FP langauges next).

Re: Go 1.4 is released

#209
post #5

Can someone give me a compelling reason to start programming in Go? My default language at the moment is C, or C++.

It s really simple language to learn but a bit more to master because you have to solve some common problems in a different way (especially if you have a strong OOP background). To learn the basics, check out the tour[0]. It's really simple to go through and will explain the basics of the language.

[0] http://tour.golang.org/

Re: Go 1.4 is released

#210

Earlier quoted context omitted.

There is almost never code that requires inheritance.

Inheritance, in practice, is cut-n-paste for people that think they're too smart for cut-n-paste. "Give me an object like Foo, but with this one little thing changed."

Sure, you can clone Foo into Bar and change one thing in Bar. But what happens when you need to change functionality common between Foo and Bar? Oh right, you have to change the same thing in two places now. Doesn't seem so smart anymore...
Post reply on HN