|
|
|
|
|
by goldbrick
3769 days ago
|
|
Yep. When you're talking about "web development" and your first argument is about "concurrency", your odds of doing it wrong are likely very high. Learn to profile, learn to cache appropriately, learn to set up data pipelines based on access patterns. Many of us who have learned the dangers of threading the hard way consider it a last resort, and just because you have wonderful primitives like goroutines and channels doesn't mean you shouldn't think first. I'm inclined to link to JRuby's first rule of writing concurrent code: https://github.com/jruby/jruby/wiki/Concurrency-in-jruby#con... Also, it's relative newness combined with the fact that it is on the lower level of things means that basic tasks that have been iterated to precision on other platforms are still very raw around the edges and require quite a bit more boilerplate, which is not at all suited to almost all "web development". I know, I know. "But it's faster!" I'd take a clean, cohesive system that can scale horizontally even if it takes me 5 times the servers of my entire-system locking clusterfuck that makes me guess about data. There is probably an interesting metaphor to be made that is corollary to the adage about the hammer, something about how if you give that man a screwdriver he starts looking for nails to pound with it? |
|