4 ms·
Taking up a new language that shares some roots with one you are a master at is/should be trivial to any good programmer, and can be done in weeks/a few months
by kaba0 3y ago
Taking up a new language that shares some roots with one you are a master at is/should be trivial to any good programmer, and can be done in weeks/a few months tops.
- cmrdporcupine 3y agoLisp-ish languages are maybe an exception to this, though. And not because of the (strange to many) syntax (or lack of it). The culture of how to write programs in Lisp or Schemes is quite different, very much focused on using recursion, macros, code as data, etc. It can be hard to read through a Lisp program if you're not used to it.
- kaba0 3y agoSimilar roots handle that part. Though I don't think it's all that different from FP-languages.
- cmrdporcupine 3y agoSimilar roots Yeah, fair, I re-read that part after I made my comment and you're right. Though it's a bit weird with Clojure with it being a JVM-based language, it's got this hybrid world which is both Lispy and Java-ish.
- NateEag 3y agoReaching basic literacy - sure. Reaching the kind of mastery where you see extremely subtle mistakes instantly - well, no, I think that really does take years to reach, even if you're an expert in a similar language. I've picked up TypeScript for $DAYJOB in the past year, and there are definitely still deep aspects of the type system I only half-understand. Granted, my decades of JS experience didn't really prepare me for static type systems, nor did the years of Python's strong-but-dynamic typing. Still, I'm reminded of the quote "A language that doesn't change how you think about programming isn't worth knowing." Most languages have some corners that are genuinely unlike most other languages, and without knowing those bits you don't count as a master, IMO.
- kaba0 3y ago> "A language that doesn't change how you think about programming isn't worth knowing I don’t think it’s a good quote with such a bold claim, but I agree with the core of it: you should try to learn languages that have different paradigms. There is still value in knowing two quite similar languages.