[HN Gopher] Why is it difficult for developers to learn another ...
___________________________________________________________________
Why is it difficult for developers to learn another programming
language? (2020)
Author : mooreds
Score : 18 points
Date : 2022-03-09 02:02 UTC (20 hours ago)
(HTM) web link (cacm.acm.org)
(TXT) w3m dump (cacm.acm.org)
| tester756 wrote:
| >Why is it difficult for developers to learn another programming
| language?
|
| I started with
|
| C++/PHP/JS
|
| and then I started doing C# + meanwhile some Lua
|
| I cannot use anything that has not as good IDE as at least Visual
| Studio
|
| I struggle to overcome the lack of reliable IDE
| dmd wrote:
| I started with C64 Basic and then GW-Basic, so /any/ IDE is
| better than editing via line numbers.
| wanderer_ wrote:
| LOL, did anyone else ever make programs in TI BASIC on a TI
| calculator?
| jleyank wrote:
| I would think that the specifics of the new language would
| (greatly) influence the difficulty. If the languages (known vs.
| new) are similar, it's typographical more than anything else. How
| to make a code block, end statements, indicate arrays and
| pointers, etc. There's a vocabulary to pick up, but it should be
| like learning a new similar romance language when you're fluent
| in another.
|
| However, if the language paradigm is different, such as vector
| vs. scalar or other significant differences then developers can
| end up wrestling the language rather than working with in. I
| would suspect, as it was in my case, that the more experience one
| has, the worse this conflict will be. I had a way of approaching
| and implementing code that was just not what the language wanted
| to see. It was rather frustrating falling into the write/tune
| rather than write-then-tune process. My only "solution" was to
| first write things the way I had internalized and then revise
| them into the appropriate form(s) for the new language.
|
| Once this was done, and I would say it was a 3-6 month process,
| then the "normal" learning process started. Syntax, grammar and
| vocabulary is an ongoing process but it's easier as language
| familiarity grew.
| herdcall wrote:
| I'm not sure if it is "difficult," I've always found it pretty
| straightforward. Sure, there will be differences, like types in
| Python vs. say Go, but we learn to switch context pretty
| comfortably over time (like we switch from English to say Spanish
| and back). I think the bigger challenge is to write
| idiomatically: e.g., if you're coming from Java, your Python code
| may not be "Pythonic" and a class-for-everything mindset won't
| quite work in Go.
| brimble wrote:
| The language is rarely a hurdle. The (almost always bad and
| broken) tools, the (often misleading, as far as best-practices
| go, or muddled with old versions and outdated advice)
| documentation, and learning the culture and ecosystem ("Oh no,
| no-one uses that built in function since it's bad for reasons X
| and Y, use this 3rd party FOSS library entirely supported by one
| guy living in a cabin in Wyoming instead") are what make it
| difficult.
|
| The language itself is often no trouble at all. It's all the
| stuff around it that ends up eating shitloads of time.
| cc101 wrote:
| I've been programming for 54 years. Languages come and go in a
| career. For me, each new language was an enthralling experience,
| an adventure. Mostly I think this was because each new language
| came with some valuable new insight in how to do my work. I don't
| know if that is true any more. I get the impression that there
| are too many new languages and paradigms. I suspect this is a
| confusing burden that detracts from the enjoyment. There doesn't
| seem to be a clear evolutionary path anymore. I imagine this
| weighs on a programmer's mind.
| FpUser wrote:
| 41-42 years here. My experience was right from the beginning in
| designing new products so for me programming languages were
| just tools. After a while it was not a problem for me to start
| a project in completely new language and get the shit done
| without much fuzz. Most of the general-purpose languages are
| more or less the same and so are the libraries. Some are great.
| Some are not that much.
|
| What I see now is that programmers are often concerned with not
| what they deliver but how - I'll do anything as long as it is
| in A/B/C. Basically means substitute goals. I find it not very
| healthy.
|
| There are some exotic languages of course which could make my
| brain melt but since I do not need any for my projects/products
| I would not care.
| [deleted]
| beardyw wrote:
| 54 years. I can just match that if I count the very first time
| I wrote a line of code!
|
| I agree with all you say and my experience was the same.
|
| I think the current problem you describe is a disconnect
| between the means and the end. We lived through times when the
| end result was all anyone cared about. Now people have jobs
| where they don't really know what the end result is.
| baby wrote:
| Anecdotal, but I've been learning a lot of different languages
| over the years, the language itself is probably less than half
| what makes it difficult to learn. The real difficulty comes when
| there's no good resource to learn the language, a poorly
| documented ecosystem, and a lack of good libraries (and worse, a
| bad standard library).
|
| For example, languages like Rust are complex and hard to learn,
| yet many people get into Rust because it's easy to setup
| (rustup), easy to run or test (cargo, vscode), easy to compose
| (crates, stdlib), and easy to learn (so many online resources).
|
| On the other hand I've been learning OCaml and suffering. I would
| advise anyone who wants to have real world impact in a low-level
| language to give a shot to OCaml, because there are just soooo
| many ways to influence the language. If you write a library it
| will be used, there's so many opportunities for creating learning
| resources or improving the tooling, it's uncharted territory for
| the most part and it's probably the functional language that has
| the most chance of having a real-world story.
| irrational wrote:
| > yet many people get into Rust because it's easy to setup
| (rustup), easy to run or test (cargo, vscode), easy to compose
| (crates, stdlib), and easy to learn (so many online resources).
|
| All those things apply to Python too (not that I've learned
| Python ;-) There must be more than just these reasons why
| people learn Rust instead of Python.
| Gigachad wrote:
| More people would be getting in to Python every day than
| Rust. Python is what the universities teach now so you have
| thousands trying python for the first time probably daily.
| wanderer_ wrote:
| Just the other day I was working out a Java numerical-operation
| logic error and decided to type it out in a simple online Python
| shell. Unfortunately, I had forgotten that the ints and doubles I
| was working with in Java didn't exist in python. And then I spent
| a few minutes trying to remember how to import the math module...
|
| Suffice it to say that I have been away from Python too long, now
| it's like learning a new language all over again.
___________________________________________________________________
(page generated 2022-03-09 23:00 UTC)