The Problem with Popular Programming Languages

  • Sits on couch daily (48%)
  • Walks to the car (23%)
  • Walks the dog once a week (17%)
  • Lifts groceries (11%)
  • High-intensity Interval Training (0.3%)
  • Running 3 or more times a week (0.2%)
  • Weight lifting (0.2%)
  • Yoga (0.2%)

You Have To Go Where the Jobs Are

Making Better Choices

How to Choose

  • Languages must reduce boilerplate
  • Languages must have powerful abstraction to reduce programmer effort
  • Languages should be robust at runtime
  • Languages should have a mature ecosystem
  • The compiler should help developers catch errors as early as possible

Language Lessons Learned

  • Go-tos makes code incomprehensible (Spaghetti Code)
  • Code should be modular (Separation of Concerns)
  • Boilerplate code is bad (DRY and Refactoring)
  • Global Variables makes code fragile, especially multi-threaded code
  • Automatic memory management is superior to manual (Garbage Collection)
  • Immutable Data and Pure Functions makes programs easy to reason about and robust
  • Static Typing makes for more robust production software (Fail Fast and Early)
  • Nulls are a burdensome and are a hallmark of a fragile language
  • Recursive functions are safer than for-loops
  • Function Composition is the ultimate in reusability (Reuse)

Not All Paradigms Are Created Equal

The Future is Now Old Man

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store