8 ms·
I love Scala as a language and would encourage you to learn it on the way to becoming a more rounded programmer. It does have its warts, and compile times kill
by ivanplenty 13y ago
I love Scala as a language and would encourage you to learn it on the way to becoming a more rounded programmer. It does have its warts, and compile times kill me. On HN the two common recommendations are:
* Go
* Node.JS (with Promises while we wait for generators!)
I personally use node for large-scale stuff since more people know JS, but a lot of this comes down to personal preference.
- quantumpotato_ 13y agoThank you for your response. Node seems promising (it's not techncially multi-threaded though?) I wrote a little command-line RPS game playable over a local network in node: https://github.com/quantumpotato/node-rps https://github.com/quantumpotato/node-rps Didn't realize Go was good for many-connections, will have to check that out. TY
- nickik 13y agoNode only runs on one core, you can start it more then once. This only works if the request well don't have to coordinate over the hole address space. You need to care all the shared state in a database, witch you don't really want to do. Go, is pretty good for that and it helps to think about it. You can start on thread of control per request, like with Scala where you might start one actor per request but the difference is that you have first class channels to communicate. Witch is pretty powerful. One the JVM you can do this CSP style where well with Clojure (https://github.com/clojure/core.async https://github.com/clojure/core.async). Interesting video why CSP is best: > http://www.infoq.com/presentations/clojure-core-async http://www.infoq.com/presentations/clojure-core-async
- nickik 13y agoIts interesting that you use Go (CSP) and Node.js (callback) and like them both. Generally CSP people belive that the Node.js approach leads straight to hell. Rich Hickey is really good about why Callbacks are terrible (and that's why he implemented CSP in clojure): > http://www.infoq.com/presentations/clojure-core-async http://www.infoq.com/presentations/clojure-core-async > https://github.com/clojure/core.async https://github.com/clojure/core.async
- ivanplenty 13y ago"Like" is relative and based on tradeoffs. Loved Rick's talk, thanks. This last year I worked on a project with people from the valley, we used Go, and everyone contributed quality code. This is because people in SF area know Go. A year ago I worked on a project with people from the midwest, we used node, and got the same quality. Much fewer people in the midwest know Go. Independent of my feelings about both environments, CSP, callback hell, etc, at the end of the day my team and I have to build a product, and I try to pick the tool that best matches our combined skillsets.
- nickik 13y agoAbsolutly. For some stuff node.js works perfectly well and knowlage is often the hardest thing to come by.