<i>&quot;So when building a new application, it doesn&#x27;t really make sense to engineer it to be scalable from the ground up; you&#x27;re probably going to throw it out before you have to worry about scaling ... if it&#x27;s successful, you can pay someone to deal with the problems later&quot;</i><p>Agree. It&#x27;s important to iterate quickly and get the <i>intent</i> right and not sweat the small stuff, including whatever notion people have of what&#x27;s &quot;scalable&quot; which usually is misguided if not a fantasy. Scaling is &quot;a good problem to have&quot; after all; it&#x27;s only necessary if people are actually using your stuff in the large.<p>Having said that, migrating off of a terrible language <i>is</i> nearly impossible and always painful. Pick stuff with a good runtime -- Java, Go, Haskell, Erlang, C#, whatever -- and you have a <i>chance</i> of scaling if you ever need it.