
One does not simply learn to code - 0xmohit
https://medium.freecodecamp.com/one-does-not-simply-learn-to-code-f25bacdc5b62
======
_asummers
Coding IS hard. But I don't think a modicum of programming literacy and
logical thinking should be hard. The problem I see in all his examples is the
idea of expectations for the person learning to code, because people who don't
code don't have the ability to know how hard a given software endeavor is.
Games are the canonical example of something that beginner programmers would
want to jump into, but game programming is notoriously tricky and you'd be
drowning quickly as someone just getting started. This is exacerbated by the
"coding is easy!" marketing mentioned, because they're missing the first two
words of the statement. It should read "Getting into coding is easy!".

I think people should be able to do basic data manipulation from reading
files. I think people should be able read and write simple code in at least
one language. I think people should be able to do simple database
manipulation. And most importantly, II think people should be able to look at
their own lives and recognize when there is something that seems like it
should be automated, even if they themselves don't know how they would do it.
I don't think that's unreasonable to ask.

------
StavrosK
People here are talking about whether coding is hard, without defining "hard".

Is coding something anyone can learn? Most probably.

Is it going to take a long time? Yes.

Can it be taught with immediate feedback, so people don't get frustrated and
quit mid-way? Yes.

Are there any such tutorials? Not that I know of.

Maybe I should write one. The bigger problem is that people are motivated by
different things, and if someone is excited by learning how to write a web
server and serve their own webpage step by step, someone else may be
completely bored by it.

~~~
andrepd
I think you can talk of things being hard or easy in absolute terms. I mean,
to delve fully into the most intricate details of anything is hard, whether it
be programming, painting, music etc. But you can't say that, for example,
music is hard. Anyone can pick up a guitar, strum 2 or 3 chords and sing
along. But writing a symphony is very very hard and requires not only talent
but many years of study. The same things applies for coding. Anyone can write
a couple of cute programs in Python, so coding isn't necessarily "hard".
Programming at a more advanced level certainly is, though.

~~~
StavrosK
But that isn't a very useful metric. The question of how hard something is is
pretty much equivalent to "how much time can I expect to spend on this before
I learn it?". You're saying that there's coding you can do without spending
too much time, and coding you can do only after spending years. Sure, but you
can be reasonably effective early on, and there's an easy path to mastery
(build more and more complex things).

Ultimately, it's a matter of learning curves and outcomes at each point.

------
0xmohit
Based on my experience, a common problem is the ability to translate logic
into code. It's not uncommon to see an algorithm not being able implemented
correctly due to poor logic.

Other obvious issue is the choice of underlying data types and structures.
Constructs specific to the programming language in question follow.

Yes, coding is NOT simple. However, I feel that it has become relatively
(although only slightly) easier than it was perhaps a decade back. With
numerous open source projects in almost every programming language out there,
one can learn a lot by studying those. Of course, this wouldn't apply to a
beginner.

------
abustamam
I think learning to code is easy, and it's not because I'm so smart--plenty of
my friends learned how to "code" in HTML by simply (there's that word!)
reverse engineering MySpace or Xanga layouts back in the day.

However, _engineering_ is a discipline, and as with any discipline, it is
difficult to master. It takes hard work, dedication, and of course,
discipline, to learn what to do, who to talk to when you don't know what to
do, where to go to find out who to talk to, etc, etc.

I thought front-end development was some sort of wizardry. I thought it was
just write an HTML page, then write a JavaScript script, then write a CSS
sheet, put it all in the same folder and put it onto Github pages. I'm a
front-end developer!

Then I learned about build tools, frameworks, architectures (MVX), and I was
like, why's this so complicated??

Once all the pieces clicked and I understood how everything worked _together_
(not necessarily individually, looking at you Webpack), it became incredibly
easy and rewarding to learn. Not necessarily easy to _do_ , but certainly easy
to learn.

------
projectramo
I can buy that many marketers and instructors lead students to believe coding
feels easier than it "really" does.

I find it hard to believe that the word "simply" is a giveaway. But I could be
convinced. I can't remember coming across the word simply to often in
tutorials.

------
crisopolis
This is fairly old and I believe it was already posted by Quincy himself.

~~~
abustamam
Well, two weeks is pretty old in Internet terms.

------
je42
Nice chrome extension ! :))

