Slide 1

Slide 1 text

What Is The Best Programming Language For Your Web Product?

Slide 2

Slide 2 text

Ievgen Kuzminov http://stdout.in @iJackUA 7+ years in Web Development Ruby Team Lead in MobiDev Author of http://rwdtow.stdout.in

Slide 3

Slide 3 text

Dilemma How do we choose programming language for a product ? ❏ There is no “bad” languages ❏ The “best” lang - is the lang you know! ❏ Ecosystem does matter

Slide 4

Slide 4 text

Speed vs Quality vs Price Requests per Second in “Hello World” has nothing to do here...

Slide 5

Slide 5 text

Recent decade of The Web Dev

Slide 6

Slide 6 text

The World Has Changed

Slide 7

Slide 7 text

WAT? ❏ Backend ~> Frontend ❏ Relational ~> Denormalized ❏ Majestic Monolith ~> Microservices ❏ Static ~> Realtime ❏ a lot more ...

Slide 8

Slide 8 text

A new choice ❏ Application criterias ❏ Ecosystem: packages, tools, community ❏ Evolution roadmap ❏ A bit of personal “taste”

Slide 9

Slide 9 text

Master of “yellow” titles ❏ PHP is not so awful ❏ Ruby is not so awesome ❏ Node.JS is not so almighty

Slide 10

Slide 10 text

Master of “yellow” titles ❏ PHP is not so awful ❏ Ruby is not so awesome ❏ Node.JS is not so almighty ❏ “This city needs a hero”

Slide 11

Slide 11 text

Language

Slide 12

Slide 12 text

Language ❏ Evolution ❏ Syntax ❏ DSL ❏ Metaprogramming

Slide 13

Slide 13 text

Language ❏ Execution flow (sync, async) ❏ Performance ❏ Concurrency ❏ Debug

Slide 14

Slide 14 text

Ecosystem

Slide 15

Slide 15 text

Ecosystem ❏ Packages ❏ Web frameworks ❏ Tests ❏ Daemons ❏ Deployment ❏ IDE

Slide 16

Slide 16 text

Human Resources

Slide 17

Slide 17 text

Human Resources ❏ Entry level. Familiarity. ❏ Skills ❏ Poka-yoke ❏ Hiring

Slide 18

Slide 18 text

❏ Low entry barrier ❏ Bigger market ❏ Cheaper Developers: ❏ Pure PHP ~> Frameworks ❏ Harder to filter skilled devs NB!

Slide 19

Slide 19 text

❏ Quick start with Rails ❏ MVP oriented ❏ Harder to scale Developers: ❏ Solely Rails oriented ❏ Easier to filter skilled devs NB!

Slide 20

Slide 20 text

❏ Aimed to API/Realtime ❏ Node.JS is everywhere ❏ Harder to maintain backend Developers: ❏ Come from Frontend ❏ Closer to Full-Stack NB!

Slide 21

Slide 21 text

Dark Horses of Web Development

Slide 22

Slide 22 text

Elixir, Go, Closure and others ❏ Compiled (fast) ❏ Much better performance ❏ Close to system level ❏ Functional approaches ❏ Multi-core concurrency

Slide 23

Slide 23 text

❏ Erlang + OTP ❏ Functional ❏ Ruby-like syntax ❏ Friendly web framework ❏ Metaprogramming ❏ Scaling ❏ Fault tolerance NB! http://elixir-lang.org

Slide 24

Slide 24 text

A new choice (once again!) ❏ Application criterias ❏ Ecosystem: packages, tools, community ❏ Evolution roadmap ❏ A lot of personal “taste”

Slide 25

Slide 25 text

Brief conclusion ❏ PHP: “classic” web portal ❏ Ruby: web portal + background jobs ❏ Node.JS: isomorphic app, API + SPA ❏ Elixir: your next “world class” pet-project

Slide 26

Slide 26 text

Thank you! [email protected] http://stdout.in @iJackUA Questions ?