4 ms·
yes, Golang is really can be viewed as c plus. But it also absorbs many features from other languages. Personally, I think Golang is a Java killer. I never wr
by tapirl 10y ago
yes, Golang is really can be viewed as c plus.
But it also absorbs many features from other languages.
Personally, I think Golang is a Java killer. I never write one line Java code since I became familiar with Go. The main reason is it is painful to maintain a Java web project, slow compiling, slow startup, large memory consuming, so many concepts (of all sorts of frameworks) to learn, etc.
- seabrookmx 10y agoWhile I'm sure many people will agree with you, I (respectfully) don't for a couple reasons.. Golang doesn't have the library or tooling maturity or breadth to make it a real competitor to Java in the enterprise space IMHO. Golang lacks a package manager (and "go get" is not a real substitute when it completely shirks semantic versioning). There's no solid IDE with Golang support. Most of the web server and database tools are very low level, and while they provide the necessary features for a smaller project or if you're writing exclusively microservices, they leave a lot be desired if you're writing a run of the mill web app, or an enterprise system for batch processing (orders, transactions, email etc). For smaller projects, most languages are better than Java for the reasons you mention (including dynamic languages like Python for example). Golang is a novel language and it definitely has a niche, but I find it right inbetween a language like Python and a "heavy" language like C#/Java.
- omginternets 10y agoObviously Go isn't going to replace every existing piece of Java software. That's a very strange takeaway from the parent comment. The point is rather that Go occupies the same niche as Java, and does so arguably better. As such, "Java killer" means new software projects are going to increasingly favor Go over Java.
- dispose13432 10y ago>There's no solid IDE with Golang support Honestly, there wasn't a solid IDE for Java for a while, and the makers of IntelliJ are working on Gogland. However, IMHO, the only thing I miss in an IDE for Go is inline debugging (but in truth, I never used IntelliJ's refactoring tools, so I could have missed out on all the benefits of a powerful IDE). Except for that, VSCode and nvi are all I (personally) need.
- justinclift 10y agoHadn't heard of Gogland, thanks it sounds interesting.
- dispose13432 10y agohttps://news.ycombinator.com/item?id=13184713 https://news.ycombinator.com/item?id=13184713 They announced it ten days ago.
- wcummings 10y agoI'm not really a go person. I might go as far as saying I'm a go hater. But I feel compelled to defend it in this case. Golang is a deliberately simple language that lends itself well to inspection & tooling. For example, having special syntax for returning errors vs a more generic solution like multiple return values or returning a tuple. It feels awkward but makes detecting unhandled errors very simple. Seems like there's decent enough tools + emacs/vim wrappers to me. In my mind this is one of the primary merits of go.
- dispose13432 10y ago> having special syntax for returning errors vs a more generic solution like multiple return values or returning a tuple Golang supports generic multiple returns (https://gobyexample.com/multiple-return-values https://gobyexample.com/multiple-return-values). It's just much more commonly used for errors (instead of try catch).
- pcwalton 10y ago> For example, having special syntax for returning errors vs a more generic solution like multiple return values or returning a tuple. Even if this were true (which it isn't—Go uses multiple return values for returning errors), returning a tuple would in no way make analysis harder. Detecting whether a function returns (T, err) for some T is utterly trivial.
- justinclift 10y ago> There's no solid IDE with Golang Hmmm, I'm using it with WebStorm and the Golang support is pretty decent. Autocompletion, automatic help/function lookup, debugging, etc. What are you looking for that's missing in a Golang IDE?
- IndianAstronaut 10y ago>Golang doesn't have the library or tooling maturity or breadth to make it a real competitor to Java in the enterprise space IMHO. This is why my company is being forced to scrap Go. It was good since it was easy to learn by devs, type checked, and fast. But the lack of libraries vs Java means it won't work for a lot of projects. One big issue is the lack of good database drivers.
- dispose13432 10y agoAnd it's statically compiled.