I&#x27;m not really a programmer. All my training is in abstract math so whenever I see people arguing over language X and Y it always seems weird to me. I don&#x27;t write code until I&#x27;ve sketched things out with pencil and paper and by necessity I have to disentagle the syntax of the language from the essence of the problem. Turns out when I do things that way  translating the solution back into a language X ends up being the easy part and it really doesn&#x27;t matter what the target language ends up being. Adding macros and types just shifts how I encode the solution and in no way affects its abstract formulation.<p>So I don&#x27;t think it goes hand in hand. The fundamental bottleneck is always what&#x27;s in your head.