Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Tales from a radically polyglot team

20,749 views

Published on

Arranging software development around a wide mix of programming languages and technologies offers both challenges and rewards. In this talk Ryan will explore the pros and cons that the 6Wunderkinder team found when working with over 10 different programming languages in a single product.

Published in: Engineering, Technology
  • Login to see the comments

Tales from a radically polyglot team

  1. RADICALLY Polyglot TEAM
  2. RYAN LEVICK @itchyankles
  3. OVER ten LANGUAGES
  4. Why?
  5. Software Crisis
  6. The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all…
  7. …When we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem. Edsger W. Dijkstra
  8. void quick_sort (int *a, int n) { if (n < 2) return; int p = a[n / 2]; int *l = a; int *r = a + n - 1; while (l <= r) { if (*l < p) { l++; } else if (*r > p) { r--; } else { int t = *l; *l = *r; *r = t; l++; r--; } } quick_sort(a, r - a + 1); quick_sort(l, a + n - l); }
  9. qsort :: Ord a => [a] -> [a] qsort [] = [] qsort (x:xs) = qsort less ++ [x] ++ qsort greater where less = [ y | y <- xs, y < x ] greater = [ y | y <- xs, y >= x ]
  10. Internet
  11. New Problems
  12. Client Teams
  13. Backend Team
  14. OVER ten LANGUAGES
  15. Bash Clojure C# Go Haskell Java JavaScript/ Node.js Objective-C Python Ruby Scala
  16. Trivial
  17. Your Responsibility
  18. 1 2 3 4 5
  19. Why?
  20. We have to
  21. We want to develop quicker
  22. We want the system to run faster
  23. We want to be more expressive
  24. We want to learn
  25. Is this really a good thing ?
  26. Challenges
  27. Deployment Woes
  28. Context Switching
  29. Jack-of-All-Trades ! Master-of-None
  30. Benefits
  31. Value Rigidity
  32. The Fallacy of General Purpose
  33. The Spread of Ideas
  34. Avoid Group Think
  35. The Best People
  36. The Right Tool ! for the Job
  37. Happier ! Employees
  38. Your Future
  39. Benefits of Polyglotism
  40. Be Happy
  41. Thank You

×