What Is The Best Programming Language For Your Web Product?

What Is The Best Programming Language For Your Web Product?

DevWeek Austin 2017

Ac3e162318c73347bef4d20b1bb7f7f3?s=128

Yevhen "Eugene" Kuzminov

November 09, 2017
Tweet

Transcript

  1. What Is The Best Programming Language For Your Web Product?

    Eugene Kuzminov, Web Team Leader
  2. You can do anything with any language eventually What Is

    The Best Programming Language For Your Web Product?
  3. Speed Quality Price The number of requests per second in

    “Hello World” is not very helpful What Is The Best Programming Language For Your Web Product?
  4. Considerations ▶ There are no “bad” languages ▶ Business goals

    dictate tools ▶ Ecosystem does matter ▶ Human resources What Is The Best Programming Language For Your Web Product?
  5. Human Resources ▶ Entry level ▶ Skills ▶ Poka-yoke (mistake-proofing)

    ▶ Hiring What Is The Best Programming Language For Your Web Product?
  6. Case #1 “Classic” CRUD web portal What Is The Best

    Programming Language For Your Web Product?
  7. PHP ▶ Low entry barrier ▶ Big diversity of frameworks

    ▶ Stable performance ▶ Big market / cheap Developers: ▶ Pure PHP ⇨ Frameworks ▶ Hard to filter skilled devs What Is The Best Programming Language For Your Web Product?
  8. Case #2 Web portal + background processing What Is The

    Best Programming Language For Your Web Product?
  9. Recent decade of Web Dev What Is The Best Programming

    Language For Your Web Product?
  10. Ruby ▶ Quick start with Rails ▶ MVP oriented ▶

    Harder to scale What Is The Best Programming Language For Your Web Product? Developers: ▶ Solely Rails oriented ▶ Easier to filter skilled devs
  11. The World Has Changed What Is The Best Programming Language

    For Your Web Product?
  12. What has changed? Backend Relational Majestic Monolith Static Centralized Frontend

    Denormalized Microservices Realtime Distributed What Is The Best Programming Language For Your Web Product?
  13. Case #3 SPA, isomorphic app What Is The Best Programming

    Language For Your Web Product?
  14. Node.JS ▶ Aimed at API/Realtime ▶ Node.JS is everywhere ▶

    Harder to maintain backend What Is The Best Programming Language For Your Web Product? Developers: ▶ Come from Frontend ▶ Closer to Full-Stack
  15. Case #4 Realtime messaging What Is The Best Programming Language

    For Your Web Product?
  16. Go ▶ Effective concurrency model ▶ Compiles to native code

    ▶ Small market Developers: ▶ “Leaders” come from other langs ▶ Potentially more experienced What Is The Best Programming Language For Your Web Product?
  17. Case #5 Machine learning What Is The Best Programming Language

    For Your Web Product?
  18. Python ▶ General purpose lang (prototype, automation) ▶ Math and

    data science ecosystem ▶ Two worlds 2.7 vs 3.x ▶ Generally lower performance Developers: ▶ Tend to believe in packages ▶ Hard to find real seniors What Is The Best Programming Language For Your Web Product?
  19. Case #6 Blockchain What Is The Best Programming Language For

    Your Web Product?
  20. Blockchain ▶ Do not write your own blockchain (no need

    in C++) ▶ Blockchain is less than 10% of total code ▶ Smart contracts: Solidity (Ethereum), Go (Hyperledger) ▶ JS/Node.JS SDK ▶ Any lang for a web app (wallet backend) What Is The Best Programming Language For Your Web Product?
  21. Case #7 (lucky one!) What if I have several cases?

    What Is The Best Programming Language For Your Web Product?
  22. Microservices ▶ Docker is not a must for Microservices ▶

    Docker DevOps is non trivial ▶ Microservices communication issue ▾ REST API ▾ GRPC / Protobuf ▾ Thrift What Is The Best Programming Language For Your Web Product?
  23. Trends What Is The Best Programming Language For Your Web

    Product?
  24. Elixir, Go and others ▶ Compiled (fast) ▶ Better performance

    ▶ Close to system level ▶ Functional approaches ▶ Abstraction over multi-core concurrency What Is The Best Programming Language For Your Web Product?
  25. Elixir ▶ Erlang + OTP ▶ Functional ▶ Ruby-like syntax

    ▶ Friendly web framework ▶ Metaprogramming ▶ Scaling ▶ Fault tolerance What Is The Best Programming Language For Your Web Product?
  26. How we treat choosing technologies in MobiDev ▶ Legacy prospect

    (in case of existing background) ▶ Business prospect (the client's business reality) ▶ Functional prospect (features and area of implementation) ▶ Evolution monitoring ▶ Suggesting new opportunities What Is The Best Programming Language For Your Web Product?
  27. Still want a ”simple answer”? ▶ PHP: “classic” web portal

    ▶ Ruby: web portal + background processing ▶ Node.JS: isomorphic app, API + SPA, simple realtime ▶ Python: data science, machine learning ▶ Go: messaging, heavy computations, multi-threaded data processing ▶ Elixir: potentially general-purpose language for web projects What Is The Best Programming Language For Your Web Product?
  28. Thank you! e.kuzminov@mobidev.biz Questions ?