liveBook · Manning

Programming language

As explained in Think Like a CTO

A formal language used to express instructions and computations for execution by a computer.

A programming language expresses instructions and computations for a computer to execute. For an organization, choosing one is a long-term technology decision shaped by its existing stack, team, and business needs. section 8.8

Changing languages can require retraining, deployment changes, support knowledge, and large rewrites. A language that feels unfamiliar is not, by itself, a reason to replace it; assess the technology landscape and recruitment prospects. section 8.8 section 8.8.1

A framework sits on top of a language, supplying libraries or standards for recurring tasks. It can constrain development more than the language itself, and expertise in a framework matters alongside language expertise. section 8.8

Compare candidate languages and frameworks against practical questions:

  • Who supports the technology, and how dependent is its future on one company? section 8.8.2
  • How mature is it, and how active are its user groups and open-source community? section 8.8.2
  • Is it taught at universities, and could you recruit a sizable team? section 8.8.2

Language and framework choices

Java Enterprise Standard and Spring build on Java; ReactJS is associated with JavaScript, and Express.js with Node.js. These examples illustrate that framework expertise is a separate consideration from language expertise. section 8.8

When replacement is justified, consider carving out refactorable areas as microservices rather than committing immediately to a complete rewrite. section 8.8.1

How Think Like a CTO covers it

How deep it goes
Develops selection criteria and migration trade-offs, but stops short of language syntax or implementation details.
Examples
Names Java with Spring or Java Enterprise Standard, JavaScript with ReactJS, and Node.js with Express.js.
What it assumes
Assumes responsibility for technology and team decisions; teaches no programming background or language skills.
What you can do after
Evaluate language and framework options using maturity, support, community activity, education, and hiring availability.
How it connects
Connects programming languages with frameworks, hiring, recruitment markets, and microservices.

Also explained in

Compare how 3 books explain programming language →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Think Like a CTO. The section links point to the parts of the book it draws on.