5 ms·
It was initially built for writing concurrent network services and they called it a systems language for that reason. Now they just call it a general purpose l
by hasenj 14y ago
It was initially built for writing concurrent network services and they called it a systems language for that reason.
Now they just call it a general purpose language.
It's not a web language per se but it's great for building web applications:
- Compiled, performant
- Elegant concurrency model
- Bridges the gap between dynamic and static typing (it's statically typed but with ideas borrowed from dynamic languages)
Unlike Java, it's pleasant to work with.
Unlike Ruby/Python, it's very fast.
I've seen some python setups where you have 3 separate servers: one for serving static media (usually written in C), one for serving the main app (python), and one for providing websockets (node.js).
With Go, you don't need this convoluted setup. You can do all of these things from within Go.
Here's an example chat app that uses websockets:
http://theplant.jp/en/blogs/10-techforce-building-a-web-chat-with-the-go-programming-language-and-html5-websockets http://theplant.jp/en/blogs/10-techforce-building-a-web-chat...
- slurgfest 14y agoI am interested to know how your web application pushed the performance limits of Python. You should be able to get thousands of requests per second, even out of a laptop running a pure-Python server. (I'd defend Ruby the same way but I don't know its details - I doubt it is very different, though) The bottleneck in almost any real web app is going to be the database, not the programming language. If you can't scale horizontally then your language choice is not your problem. If you can then what performance metric is going to show the inadequacy of Ruby or Python running on a few servers? Add the caching that you should be doing anyway and even slower Ruby/PHP/Python frameworks can perform quite adequately. I don't dispute that Go is a cool language but this seems like FUD.