4 ms·
While concepts transfer over between languages the language is only 10% of it. The rest of it is the standard library, ecosystem, buildsystem and all kinds of i
by jsiepkes 4y ago
While concepts transfer over between languages the language is only 10% of it. The rest of it is the standard library, ecosystem, buildsystem and all kinds of intricacies you have to know about and what not which is specific to the language (ecosystem).
- waffles2021 4y agoThere is also an issue with conceptual leakage, most noticeably I've found with devs well versed in one language bending another language into behaving like the former.
- john_the_writer 4y agoThat wares off if they have decent PR processes, and mentors. I write elixir that smells like rails, but as the months move on, I change.
- snorremd 4y agoAgreed. You see this a lot with people with a C# and/or Java background using TypeScript with annotation based decorators and libraries/frameworks that implement dependency injection, etc. They don't really embrace the nature of the new language and ecosystem. And I can sympathise, it is simpler to do things as you have been doing them before. You also see it when people who've mostly done imperative programming tries their hands with a lisp or some ml based language. I've been there myself. You still find yourself using the equivalent of variable bindings, trying to write in an imperative rather than declarative style. I guess when trying to learn a new language in a different paradigm you also need to unlearn a lot of the concepts from the former language.
- pjmlp 4y agoWell, that is the reason why outside HN bubble, Angular still wins the hearts of most enterprise consulting shops, as its quite close to JEE/Spring and ASP.NET concepts.
- ratww 4y agoThis is an underestimation of how hard it is to learn to program. Someone learning a first language isn't just learning a new language: they're learning how to program. It's a new profession, a new hobby, a new superpower. The rest of the stuff (standard library, ecosystem, buildsystem and all kinds of intricacies) is just a mix of trivia and bureaucratic garbage you gotta fill your brain with but will all be replaced in 10 years anyway. Sure it takes time but it's nowhere near as important as actually knowing how to program. Even changing paradigms (imperative to functional) isn't as hard as learning the first language.
- Beltalowda 4y agoI think a lot of people here have been doing this programming thing for so long we've forgotten we once had trouble understanding things like: x = 1 for i in [1, 2, 3] { x = i } What is the value of "x" at the end? Assuming block scope, it will be 1, or assuming it doesn't have block scope (or that it uses the already defined "x" in this pseudo-example) it will be 3. A lot of beginning programmers struggle with this kind of stuff, as did I. Reading this fluently and keeping track of what variables are set to takes quite a bit of practice. I've been hired to work on languages I had no prior experience on, and while there was of course some ramp-up time and such, overall I managed pretty well because variables are variables, ifs are ifs, loops are loops, etc.
- cpursley 4y agoWell, loops are not loops in functional languages...
- ratww 4y agoThe concepts still roughly translate and help, though. You have projections/mappings in FP. Or if you want to go deeper, recursion. Understanding loops before those will definitely make them easier since they are equivalent. The argument that learning a second language is as difficult as learning the first doesn’t really hold water in practice as well, lots of people have done so.
- 4y ago
- CRConrad 4y ago> ...the standard library, ecosystem, buildsystem and all kinds of intricacies you have to know about and what not which is specific to the language (ecosystem) IME a lot of the conceptual stuff transfers pretty well there too.