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
Charles Scalfani

Charles Scalfani


Software Engineer and Architect, Teacher, Writer, Filmmaker, Photographer, Artist…