Live data from Hacker News

Don’t Believe Anyone Who Tells You Learning To Code Is Easy

techcrunch.com

11–20 of 186 posts

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#11
With programming, art, carpentry and many other things, you just have to accept that the first project you finish will likely not be very good and the best thing to do is to throw it away and start over.

If you can embrace that idea, you can eventually learn to code.

The goal is to understand what you are doing and why, not just blindly copy and paste code that seems to work. Break it by changing something and fix it enough times and you will gain insight about how it all goes together.

Even the most complex problems can be made easy if you can break it into smaller tasks and build up to the finish.

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#13
post #3

" As a programmer, there is a limitless amount of stuff to learn" I absolutely disagree with this. I learn new things at least once a week about computer science in general. No one knows everything. "They don’t tell you that a lot of programming skill is about developing a knack for asking the right questions on Google" So, she relies on S.O. for all her programming problems, what if other people don't? SO is _not_ m…

"As a programmer, there is a limitless amount of stuff to learn"

"I learn new things at least once a week about computer science in general. No one knows everything."

How do these statements contradict each other?

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#14
I found the free cs50 courses at Harvard helpful. I honestly didn't have the patience to sit through the videos, but I listened to the mp3's while exercising. All the buzz words started to make sense. I don't think I'll ever become a Programmer--just don't have the drive, but I can put up websites--half ass, but they are improving. Yea, I know a bit about ROR, and Django, but would never call myself a Programer, or a cutesy Coder. In terms of making a living in this field, I honetly think who you knows matters more than what you know? I guess that's the case in a lot of fields? I've never had the stomach to suck up to someone I didn't truely like. I guess you have too though?

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#15
>They don’t tell you that a lot of programming skill is about developing a knack for asking the right questions on Google and knowing which code is best to copy-paste"

This is a misleading simplification. I'm sure I'm preaching to the choir here, but I'm going to elaborate anyway.

Learning to program isn't fundamentally about learning what text to type in to a box somewhere. It's about learning to think computationally. "Think computationally" is vague and doesn't mean very much to the beginner. That's because it's something you need to learn with practice.

Think about writing in normal human languages. You could say there are two things going on when you are writing an essay, for example. At one level, you are thinking about the concepts. What are your arguments? How are you going to support them? At another level, you are thinking about how to write them down -- how to encode them in a way that readers will understand.

The same distinction exists in programming. At one level, you need to think computationally. What are the inputs I have access to? How can I use them to produce the right outputs? What data structures should I use? How should I handle this edge case? At another level, you are thinking about how to write all of this down so that the computer will actually be able to do it.

Copying and pasting will help you with the second part -- figuring out how to write down the structures you come up with -- and real, experienced programmers do that all the time, but it won't help you with the first part -- figuring out what structures to write down.

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#16
You need multiple things to come together. Some are abstract and general, some are more specific. You need to know the tools you are using, the capabilities of your platforms.

At some lowest level it is about solving problems and knowing how to drill down and understand requirements, split a large problem into sub-problems. In that respect it is not unlike an architect or an engineer or carpenter.

Then it comes to about learning how to translate to an intermediate mental representation. Here where you you already think about the typical language paradigms. Like someone used to object oriented design starts seeing objects, factories, inheritance hierarchies. Someone used to actor based programming (like Erlang) starts seeing actors sending messages to each other. A Haskell programmer starts thinking about type-classes (presumably, I am not one).

Then it comes down writing it. Here one needs to know the tools in detail. The specific language, platform, API. Say something object oriented at the higher level could become something in C++, Java or Python here. Here is where Google-ing helps. Knowing that say oh Python has this cool built-in module that can help me. Or yeah, I'll use a smart pointer here. Well you have to know about the smart pointers.

Then here is boring but important stuff. Knowing how to use version control. Knowing how to estimate time, communicate with team-mates. Not being stupid about security.

Anyway a lot of things have to come together to make someone a successful programmer in the general sense. Some acquire these capacities formally by going to college. Some acquire these on their own.

The interesting thing is that regardless of how it was acquired, the usual instinct is to discount it while looking back. "Oh I just write Python, here is a book on syntax, learn it and start programming". That always somehow seems easy to programmers. And I have made the that mistake. Friends and family member I have tried to show/teach programming.

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#17
I only tell my friends that programming is simple as a way to encourage them to get started.

Once they have begun, I tell them "sure, basic programming is simple, but you need to think hard about what you really want to do".

That generally has a good outcome and they continue to be interested in programming and wanting to learn more about it.

If you tell an interested person straight away that "it is incredibly difficult" then you will be discouraging a large number of people before they even begin.

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#18
>And they don’t let you in on a big secret: that there is no mastery, there is no final level. The anxiety of feeling lost and stupid is not something you learn to conquer, but something you learn to live with.

One of the biggest surprises when I started to learn, LANGUAGES ARE STILL BEING UPDATED. ?_? Totally thought that was done and over with, then I come to find language/framework updates can break entire programs. First time learning Rails was when they just upgraded to 4.x and all the tutorials was in 3.x. Now that was a "FUUUUU" moment.

P.S. I thought the pictures was done quite nicely ^.^

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#19
post #16

You need multiple things to come together. Some are abstract and general, some are more specific. You need to know the tools you are using, the capabilities of your platforms. At some lowest level it is about solving problems and knowing how to drill down and understand requirements, split a large problem into sub-problems. In that respect it is not unlike an architect or an engineer or carpenter. Then it comes to ab…

"And I have made the that mistake. Friends and family member I have tried to show/teach programming."

I'm just curious, knowing what you know now, how would you go about trying to show someone how to program?

I may have that opportunity soon and I was going to suggest thinking about a simple yet everyday problem that arises, and try to make it better with an app (could be phone, web app, client app, etc).

Re: Don’t Believe Anyone Who Tells You Learning To Code Is Easy

#20
post #9

I'll hijack here a bit (sorry). A good friend of mine in in a PhD program at UCLA. She's into solid-state physics and modeling. They use IgorPRO a lot in this field (oddly, also audiology). However, she can't use it a lick. She tries, she really does, but she just can't. Why? Dyslexia. She has dyslexia. All the variables on the screen just look the same. i++ and i--, or +i and 'hi', or for() and if(). Just the same s…

This is perhaps more fitting in one of those QA sites or as an ask hn but i did some googling for you:

http://programmers.stackexchange.com/questions/9657/programm...

Post reply on HN