█
LastWrite
  • > Curriculum
  • > Pricing
  • > For Educators
  • > About
  • > Contact
Log InGet Started

Questions, concerns, bug reports, or suggestions? We read every message, write to us at [email protected].

More ways to reach us →
LastWrite

Structured computer science lessons for aspiring developers and security professionals.

[email protected]

(201) 785-7951

Mon–Fri, 9 AM–5 PM EST

Learn

  • Curriculum
  • Pricing

Company

  • About
  • For Educators & Schools
  • Contact Us

Legal

  • Terms of Service
  • Privacy Policy
© 2026 LastWrite. All rights reserved.
Curriculum/Programming Languages/How to pick a programming language
25 minBeginner

How to pick a programming language

After this lesson, you will be able to: Compare programming languages along the dimensions that matter (compiled vs interpreted, statically vs dynamically typed, memory model) and pick a language for a given problem.

Programming Languages is a parent track. Each sub-track teaches ONE language at a professional level. Pick by your goal: get a job (JS/TS/Python/SQL), grow into systems work (C/C++), or work in the Microsoft stack (C#).

This is a free introductory lesson. No purchase required.

Compiled vs interpreted

Compiled (C, C++, Go, Rust): source → machine code ahead of time. Fast at runtime; no runtime dependency. Interpreted (Python, Ruby, JavaScript classic): source executed by a runtime VM. Slower; faster to iterate. JIT-compiled (Java, C#, modern JS engines): compiled to bytecode then optimized at runtime. Middle ground. TypeScript is special: compiled to JavaScript (no runtime types).

Statically vs dynamically typed

Statically typed (TS, C, C++, C#, Java, Go, Rust): types known at compile time. Catches errors early; better tooling. Dynamically typed (Python, Ruby, JS classic): types checked at runtime. Faster to prototype; more runtime bugs. Gradual typing (Python with type hints + mypy, JS with JSDoc + checkJs): start dynamic, add types as the code matures.

Pick by goal

Job market depth: Python + JS/TS + SQL cover 80% of postings. Web frontend / full-stack: TS + React + Node. Data + ML + scripting: Python. Backend / scale: Python, TS, Go, Java, C#. Systems / embedded / games: C, C++, Rust. Microsoft enterprise / Unity games: C#. Database fluency: SQL is universal, every backend engineer needs it.

💡 How to take this track

Pick ONE language sub-track. Complete it. Build the passion project. Then pick another if you need breadth. Polyglot is a senior skill; for juniors, depth in one language beats surface in five.

Tools & Resources

TIOBE language popularity index
Stack Overflow developer survey
Back to Programming Languages