|
No, the language is part of the equation. I have code, for work, in: FoxPro, Delphi, Python, VB, VB.NET, C#, F#, Obj-C, Swift, Rust, Sql, Js. I rewrite apps and codebases, and move them. I rewrite the same stuff many times, and make my own pseudo-ORM is my main thing when learn new languages. Absolutely I'm more productive in some Langs than others: Amazing at: - Fox, Delphi, Python (#1), F#, Swift Average, low: - VB, C#, Obj-C, Js Barely move: - Rust (this is my last lang, and also doing a programming language that I have sketch in python, swift, f#. The task hit against the hardest and weakest parts of rust). I look at C, C++ and my instinct tell me I will suck forever at them. Same Haskell. Ocalm? I will fly. Lisp? Nope, that crazy stuff never click. Kdb+? I don't know, maybe. I don't buy the meme "the language not matter, is the people" because languages are made FOR the people. And some stuff click on you or not. That is the reason APL is a thing for some. |
I briefly studied French in college, and to say it "didn't click" would be an understatement. It was the worst grade I got in any class ever, by far. And yet, even the dumbest French person is fluent from when they were just a kid. It's probably not the case that French is simply impossible for some people to learn. Something else is going on.
Couldn't it be that we simply haven't figured out a good way to teach programming languages yet? Software is still generally "go read the reference manual online and you're good", but most other mature fields have moved beyond that. Boeing is in hot water this month in part because they essentially used that as pilot training for the 737 MAX, and it's clear to everyone that this is not an adequate way to learn a complex new technical tool.
Unlike you, I don't find Swift particularly productive (and I've written tens of thousands of lines in it!) -- but maybe with the right training, I would.