wafflehaus / chewcrew

LUNCH!
http://chewcrew.cc:8080/api
ISC License
0 stars 0 forks source link

Decide on app stack #4

Closed ryyan closed 10 years ago

ryyan commented 10 years ago

Went with Go and Dart for a few reasons.

  1. Cross-OS compatibility (hopefully)
  2. IDE support (Dart has their own IDE and Go has LiteIDE)
  3. Extensive core libraries
  4. Growing support and third party libraries
  5. Growing use in the industry (for Go at least)
  6. Built-in code tools (dependency management, testing, etc..)
    • Why Go?
    • Performance. Check out http://www.techempower.com/benchmarks/
    • Simple and easy to pick up.
    • Compiles super fast!
    • Favours composition over inheritence
    • Why Dart?
    • Looked at the code for literally every framework out there on TodoMVC (including clojure, clojure+om, and dart+angular which are not on there). Everything else just looked too bloated or overly complex. Dart had a decent amount of code but it also had the great readability.
    • Warning: AngularDart 1.0.0 was just released so the documentation is lacking (it references 0.1.0, an order of magnatude of an earlier version)
    • Why not Java?
    • Because we use it everyday and crave something new.
    • Why not Javascript/Coffeescript/IcedCoffeeScript/TypeScript/LiveScript/...?
    • Couldn't decide on the dialect.
    • Couldn't decide on the build tool (Yeoman? Brunch? Gulp? HALP!)
    • Dynamic typing

    • Why not Scala?
    • Good question.
    • Why not Clojure/script?
    • Not everyone is on board on the LISP type funktional languages
    • Not as performant as native Java/script.
    • Why not Python/Ruby/Groovy?
    • Not performant enough
    • Why not Nimrod?
    • Too new
    • Why not Perl/PHP?
    • LOL
ryyan commented 10 years ago

If people are having problems getting Go or Dart environment set up in Windows then we'll have to pick a new stack