Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Care elaborating on why is it a better Golang?


Just about everything is better than Go. Nim, Rust, OCaml, Haskell... Did you read the submission? And for further enlightenment, the link to the previous post on the blog about what makes Nim special? Here's a link to a rant comparing Go and Rust, which includes some links of its own highlighting further issues with Go: http://www.quora.com/How-do-Go-and-Rust-languages-compare


I like to think of Go as a niche language with excellent tooling for small-medium microservices and various forms of networking clients and servers. When you look at it in that light, it's not a bad language. It's an okay language missing a lot of features (many based on good intentions, some due to what I consider poor design) that could make it a good language.

Rust is objectively much better, but I suspect that for the next 5 years, Rust will only remain popular for systems programming but not application/web dev, and Go will only remain popular for what it's currently doing but not systems programming (with some semi-exceptions like Docker and Kubernetes, though that's not really systems programming).


I've read both the submission and the articles that exist inside that Quora link you posted and I am still not convinced. IMO what makes a language better is end products and not features. When Rust becomes stable, its community will produce great software but I don't think all of the rest languages you mentioned have produced (or will do) better software than Docker, Kubernetes, OpenShift, etcd, btcd, and a ton of other Go software.


> IMO what makes a language better is end products and not features.

It's useful to distinguish between "the language" and "the tool". Some programming languages are terrible from a language design perspective (PHP, JavaScript, MATLAB), but they still have great tools (IDEs, build tools, package managers) and libraries to help programmers create good and interesting software.


The tooling around Go is good but not that great. What makes Go better than all those languages is that it's more complete: a language that does not get into your feet, good tooling, great community, and more. IMHO saying that a language is better or worse based only on "the language" is silly.


Without pointing out specifics: Nim has comparable ambitions to Go but Nim actually has escape hatches for people that desire "more."


Better metaprogramming, significant whitespace, generics, etc.


> significant whitespace

That's not an advantage


From my personal perspective - it's a major plus when choosing a language - under the general auspices of "readability counts". I find Python-like languages much easier to read and maintain - and significant whitespace is a not-insignificant factor in that.


It's not like code in other languages isn't indented.


Indentation helps, but it's a pretty pointless thing when you make a lot of other decisions that hurt readability.


It's an advantage for me, not for you. I've had experience with both and I prefer significant whitespace. The only place where I found it to be a problem was in Jade templates since HTML is kind of white-space sensitive (spaces between tags cause spaces in the output). I do like programming with significant whitespace.


Well, not for the offshore and other coderz around that can't / won't cleanly indent if their lives depended on it.


> That's not an advantage

Yes it is. I have been programming Python, C++, Java and C# over the last 10 years.

Python's convention for white-space beats the other ones hands down both when writing and reading large code bases.


So says you. The entire python community disagrees, and that's not an inconsiderable number of folks.


No, the Python community consists of a mix of people who think that the manner in which whitespace is significant in Python (most languages have significant whitespace of some form) is advantageous, people who think it is neither advantageous nor disadvantageous that are attracted to the language for other reasons, and people who think that it is disadvantageous, but not so much as to negate other advantages they see in the language.

It is a mistake to conclude that because language X has feature Y, the entire community around language X thinks that feature Y is a positive feature.


> entire python community disagrees

I can tell by the downvotes. Also, you can't prove that.


I don't know if it is, I use Golang and I never used Nim, but the source code from Nim is way prettier: http://rosetta.alhur.es/compare/nimrod/go


As a Python programmer, I find the Nim version needlessly cryptic, glyph-laden and ALGOL-esque, with many of the unattractive traits of Python from 10-15 years ago. If I get the choice to start out in a codebase which looks like this from brand new, I'll certainly pass. That's sad when "prettier" is really all that's being offered here.


It has generics, for once?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: