Choosing the right language, framework, or tool for a project is one of the hardest decisions to reverse, yet it often doesn't get enough deliberate thought. Starting a new project is a rare opportunity to learn something unfamiliar and better suited to the problem at hand. Rather than always defaulting to comfortable tools, developers should build a mental model of many languages and frameworks so they can match the right tool to each problem — even if it means short-term discomfort. Real examples include choosing Python for MediaCrush, C for z80e, and React/ES6 over Knockout.js, all of which paid off long-term.
Sort: