Transcript
Page 1: A Startup Junkie's Journey to Python via Java, Ruby and ... · Scala “implicits” encourage magic Language spec changing, breakages still occurring in dot releases Very difficult

A Sampling of NYC Python

A Startup Junkie's Journey to Python via Java, Ruby and Scala Andy Parsons@andyparsons

My Startups and Their Stacks What Are We Building? And in general...

Happiness Speed Magic Readability

BUSINESS WEB API SERVICES DATABASES TEAM SIZE

Pro Photo ASP.NET C#, Perl SQL Server 12

Hyperlocal Content

(Geolocation)

RoR Sinatra ScalaPostgreSQL, MongoDB

10

Ereading and Book

Recommender

RoR Scalatra Scala/Java MongoDB 8

Life Gaming FlaskPython/Gevent

PythonPostgreSQL, MongoDB

3

Building Happify: Comparing Language Options

SPEED CONCURRENCY TOOLING PACKAGING / DEPENDENCIES

DEPLOYMENT TESTING FRAMEWORKS / LIBS

RUBY

SCALA

PYTHON

Fast enough Achieved through Process.forkHealthy, lots of

choiceGems Capistrano Mature

Growing collection of libs, but weak in

NLP

Fast! Real concurrency, AkkaStill early. IDE’s

weak.Complex. JARs, SBT, Ivy,

Maven.? Maturing

Early for native scala libraries, rely

on Java interop

Fast enoughAchieved through multiprocessing

Healthy, lots of choice

Eggs Fabric MatureMassive collection

of libraries

READABILITY HAPPINESS / PRODUCTIVITY

COMMUNITY / ACTIVITY

PROPENSITY FOR MAGIC

MATURITY / STABILITY

HIRING

RUBY

SCALA

PYTHON

OK. Emphasis metaprogramming can

present challenges.High Huge and active

Metaprogramming is sometimes abused. RoR is too magical and many imitated its philosophy

Stable, but much catchup remaining for gems to support 1.9

Tough. Medium learning curve, hard to find

seasoned devs

Concise, expressive but NOT simple.

Highly variable! Small and activeToo many ways to accomplish

things. Scala “implicits” encourage magic

Language spec changing, breakages still occurring in dot

releases

Very difficult. Steep learning

curve

Highly readable High Big and active Explicit better than implicitMost mature here.

But the 2.x/3.x break is bad.

OK. Shallow learning curve.

FLAME BAIT

BASICS

Scala Ruby Python

23

18

8

How do they “Stack” Up?

Happify is an angel-funded consumer destination “life game.”

HTML5, Mobile, and Facebook front ends.

Currently in stealth mode.

Score is based on:

Green = 2Yellow = 1Red = 0

Python36%

Ruby60%

Scala4%

Github Project Relative %

Gratuitous Perf Charts!

* from: http://shootout.alioth.debian.org

Top Related