

Ask HN: Why is learning to code difficult? - pskittle


======
CyberFonic
Is it? A couple of million people have learnt to code quite well. Some learnt
quickly, others after lot of time and effort. Most are still learning after
years of experience.

Learning something new is generally difficult. For example, a baby doesn't
just stand up and walk. Most people don't just get on a bike and pedal away
the very first time.

If you would like some help from HN folks, perhaps you could tell us what
language(s) you have tried, describe how you find learning to code difficult,
what you have tried and what the results have been so far. Doing so might
elicit feedback that is in line with your experiences to date.

~~~
stevekemp
I can code in Perl, Ruby, C, C++, Assembly language, and more. Learning new
languages is pretty simple if they're in a family I know.

I read/write/speak English well. Learning Finnish? Painful. Slow. Hard.

On that basis learning code feels too easy!

~~~
Adminman
I have the opposite. I speak fluently 4 languages and could pick up another
language (spanish) easily. But I can't code. I'm still trying to learn Java
but I'm stuck all the time.

~~~
kbenson
> Learning new languages is pretty simple if they're in a family I know.

Does your list of languages include fairly disparate examples, such as
languages that do not have a Latin base or share a portion of their vocabulary
with ones you know?

I think the point being made was the type of language learned. Shared concepts
reduce learning time. Knowing Perl, Ruby, Assembly, etc may not help too much
learning something like Haskell or Clojure. Knowing Lisp might help quite a
bit. Prolog would be another thing entirely.

------
bitshepherd
I find it difficult to remember the jargon and idioms, and this day in age
when one might switch between a few different languages just to solve one
problem, it just gets more difficult.

I don't have a degree. Hell, I barely completed high school. But if push comes
to shove, I can dig deep in a foreign codebase in a foreign language and
figure out where something is going wrong.

------
pskittle
I guess what i meant was, why is learning to build things difficult. I feel
like im stuck all the time.

~~~
whichdan
A lot of programmers who have an easy time coding (even in a new language) are
relying on several years of experience and StackOverflow. When I look at a
select box on a page, my brain automatically thinks "okay, was this rendered
using HTML or JS? what styles have been applied? is there an onchange
callback? how is the data being populated? what's the data model look like? is
it using two-way data binding or posting with a form?" I can only speculate
about these aspects because I've had to build them all before. I absolutely
struggled when I first had to deal with new concepts like Javascript
frameworks or unit testing, but after sticking it out for a few months, I was
able to internalize how they work and see the underlying design patterns,
rather than just the implementation details.

If you could elaborate on certain issues that you're running into, we might be
able to give you more insight into what exactly is tricky about it.

~~~
pskittle
Thanks for the comments. When I get stuck i look up stackoverflow and various
other forums for help and may or may not find the answer to the problem.
However I feel like they're bandaid solutions and i can follow instructions to
make things work but don't understand why the errors occur. Also what can
prevent such errors in the future and how can i feel confident as a coder.

~~~
jkaykin
Honestly, this was me for a long time and I believe many programmers go
through this. When trying to build a project, I would look things up on
stackoverflow and try to follow tutorials, but then I would do something that
caused an error and I had no idea how to fix it. I thought I broke it for good
and just abandoned the project. This happened many times with many projects. I
became so frustrated, I wanted to give up. But I couldn't. After a while, I
became more confident and began to understand what things meant, and how to
fix errors (all from just struggling with the language).

There was this long period of struggling to get things to work but I feel like
there was this moment where a switch turned on and I began to feel more
confident writing code and solving problems.

My recommendation is you keep on struggling. Keep on messing up and embrace
failure. Eventually, you'll figure it out. Enjoy the journey of learning to
code, don't be so fixed on being the best right away.

------
yosheeck
It is not really ! I found The Coding the simplest job ever :)

This is the only thing which ALWAYS works the way being told: Whatever you put
to your code, it will work exactly the way you phrase it ! (this doesn't mean
- the way you expect)

