Live data from Hacker News

The March Towards Go

zef.me

41–50 of 217 posts

Re: The March Towards Go

#41
post #9

There are a couple of things which have stopped me getting into go which I am ignorant about. - Lack of decent IDE with intellisense/good refactoring support. - Libraries seem to be globally shared between projects like rvm rather than in the project like nvm. Am I wrong, misguided or out of date on these things?

    > Lack of decent IDE with intellisense/good refactoring 
    > support.
Sublime Text + GoSublime; vim + go-vim.

    > Libraries seem to be globally shared between projects 
    > like rvm rather than in the project like nvm.
There's no fixed rule. If you need dependable reproducible builds, current best-practice is to vendor your libraries in your repo.

Re: The March Towards Go

#42

Zef writes this as if it's completely amazing that people are leaving Node for Go. Node is based on JavaScript. There are arguably more things wrong with JavaScript than with any other popular programming language, as evidenced by book titles like "JavaScript, the good parts". This is common knowledge; we're all trying to do good work despite JavaScript, seldom because of it. So Node: it's fast, we can share code wit…

There are minor details wrong with JavaScript. Normally you don't encounter them in daily use.

Apart from that JavaScript is brilliant. Few other languages can match it's simplicity.

Python falls through because it doesn't have real lambda.

Re: The March Towards Go

#43
post #15

Earlier quoted context omitted.

> full of broken packages. Citation needed. Hackage goes to great lengths to validate packages as much as possible. Other support systems do continuous integration and further validation, if you're looking for well regarded package subsets. Maintaining 6000+ open source packages is a pretty serious task.

I dunno, I tried installing snap, yesod and happstack (the three top web frameworks apparently) about a month ago and after about 20 minutes of compiling all failed to install (some had missing packages, others had the packages but they failed to build). I'm running a no-frills MBP with bash, which I would imagine is a fairly popular dev environment. All I want to do is serve an HTTP request.

I think you should figure out what's going on with with your dev environment and go with Haskell. Are you using the Haskell platform? If so I would ditch that and make sure to install everything in a sandbox, I've had very little trouble with cabal since I went with just cabal + sandboxes. I'm on linux but Chris Allen's guide has instructions for a minimal OSX install: https://github.com/bitemyapp/learnhaskell

If none of that helps, come to freenode #haskell, those packages really should work.

Re: The March Towards Go

#44
post #12
post #4

Go may well be better for many apps than js or C++, but there are other languages out there. If you're looking for a new language it's worth considering more possibilities, e.g. see http://roscidus.com/blog/blog/2013/06/09/choosing-a-python-r...

Incidentally, your link includes a great example of Go's error handling - which is inevitably what actually happens in languages without exceptions: errors are silenced and the program marches on, each step making less sense than the previous. It's a good talking point that you can always check error values - but it never really happens, in part because library designers try to avoid putting the burden on themselves…

I could get behind the Go compiler to forcing people to write "_ = errReturningFunc()" instead of simply "errReturningFunc()" if they want to explicitly ignore errors.

In my recent experience, it actually bothers me a lot that funcs in the standard library would often rather return nil or the zero-value of a type than change the signature of the func to return (T, err). I don't really care that the docs describe that behavior -- that behavior is an error.

Re: The March Towards Go

#45

"In the past week I’ve rewritten a relatively large distributed system in Go" Maybe I don't have any programming talent at all, but I cannot even imagine to rewrite a 'large distributed system' in a week. The not-too-large distributed systems I worked with had years of thinking behind them, I could not even type in the characters of the code in a week.

It is a rather vauge statement and could have used some clarification; however Go does make writing network protocols very simple, and building something like a gossip protocol based system with a leader election system is doable in a week. Even quicker if you use some of the existing distributed systems libraries for Go.

Re: The March Towards Go

#46
post #9

There are a couple of things which have stopped me getting into go which I am ignorant about. - Lack of decent IDE with intellisense/good refactoring support. - Libraries seem to be globally shared between projects like rvm rather than in the project like nvm. Am I wrong, misguided or out of date on these things?

I use LiteIDE to good effect. It has a few kinks to work out but is generally everything I need. The Go intellij plugin is supposed to be good too from what I hear.

Packages are shared across projects in the same gopath, you could run separate gopaths for isolation.

Re: The March Towards Go

#47

Zef writes this as if it's completely amazing that people are leaving Node for Go. Node is based on JavaScript. There are arguably more things wrong with JavaScript than with any other popular programming language, as evidenced by book titles like "JavaScript, the good parts". This is common knowledge; we're all trying to do good work despite JavaScript, seldom because of it. So Node: it's fast, we can share code wit…

There are minor details wrong with JavaScript. Normally you don't encounter them in daily use. Apart from that JavaScript is brilliant. Few other languages can match it's simplicity. Python falls through because it doesn't have real lambda.

As already stated, it depends on what you're doing. I have to calculate lots of numerical things, javascript isn't brilliant for that at all (I'm not against js, I was an early advocate and have used it for years).

Python doesn't have real lambda, who cares? That may or may not matter to you, it mostly doesn't matter for me, most of the time.

You've directly commented on a post about how understanding the context in which you use your tools is the crucial factor by totally ignoring the point.

Re: The March Towards Go

#48
post #40
post #14

I've often heard that Go founder were surprised that Go seemed to replace python more than C++ or C which were the initial targets. By judging from the given examples it seems that it isn't the case : people seem to come to Go when they start looking for performance. Instead of writing C modules and using them from python, they just switch everything to Go. I'd be curious to know how many start ups prototype their fi…

Dropbox switch to Go? Where did you read that? If anything they seem to be "investing" in the Python ecosystem[1]. [1] https://tech.dropbox.com/2014/04/introducing-pyston-an-upcom...

The original article states: "One of Python’s most visible users, Dropbox — who also employs Python’s creator Guido van Rossum — recently announced it has migrated major parts of its back-end infrastructure from Python to Go" and refers to [1].

[1]: https://tech.dropbox.com/2014/07/open-sourcing-our-go-librar...

Re: The March Towards Go

#49
post #40
post #14

I've often heard that Go founder were surprised that Go seemed to replace python more than C++ or C which were the initial targets. By judging from the given examples it seems that it isn't the case : people seem to come to Go when they start looking for performance. Instead of writing C modules and using them from python, they just switch everything to Go. I'd be curious to know how many start ups prototype their fi…

Dropbox switch to Go? Where did you read that? If anything they seem to be "investing" in the Python ecosystem[1]. [1] https://tech.dropbox.com/2014/04/introducing-pyston-an-upcom...

Where did he read that? How about in the article?

Re: The March Towards Go

#50

"In the past week I’ve rewritten a relatively large distributed system in Go" Maybe I don't have any programming talent at all, but I cannot even imagine to rewrite a 'large distributed system' in a week. The not-too-large distributed systems I worked with had years of thinking behind them, I could not even type in the characters of the code in a week.

You obviously don't know TJ...

https://github.com/visionmedia http://www.quora.com/TJ-Holowaychuk-1/How-is-TJ-Holowaychuk-...

Post reply on HN