Live data from Hacker News

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

techcrunch.com

171–180 of 186 posts

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

#171

Earlier quoted context omitted.

Absolutely disagree. I personally learned (as I think many people did) by copying code out of books. Whenever something went wrong, I had to figure out whether it was my typo or the book's typo or my conceptual error or the book's conceptual error. That process helped me to learn a lot, and quickly. If everything went perfect, I got to play some creative game which I loved and gave me a sense of acheivement that help…

I think there's a large difference between copy-paste and what you're describing (which I'll dub 'manual transcription'). I have no formal training in learning or cognition, but I do have quite a bit of personal, anecdotal evidence to suggest that manual transcription is far more useful, from a pedagogical standpoint, than straight copy-paste. Rather than take a boring example from my programming career I'd rather dr…

I'm very interested in whether or not manual transcription is pedagogically beneficial.

I personally write a lot. I certainly find it useful to do that.

However, I would not normally recommend Zed Shaw "Learn Code the Hard Way" type of method of writing out over and over again. I think it probably works and you can do it yourself, but I think it's quite inefficient. I don't need to type 10 PRINT "HELLO" 20 GOTO 10 more than once to get a good sense of what's going on.

I think you most of all benefit here from the time you're forced to put in. If you can understand nothing, there's really no other sensible thing that allows you to concentrate for the time you need to make decent progress.

However, I don't think this means transcription is pedagogically ideal. IMHO building something for yourself is more effective; getting expert tuition is more effective: in terms of time spent vs benefit received.

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

#172

Earlier quoted context omitted.

Absolutely disagree. I personally learned (as I think many people did) by copying code out of books. Whenever something went wrong, I had to figure out whether it was my typo or the book's typo or my conceptual error or the book's conceptual error. That process helped me to learn a lot, and quickly. If everything went perfect, I got to play some creative game which I loved and gave me a sense of acheivement that help…

I think there's a large difference between copy-paste and what you're describing (which I'll dub 'manual transcription'). I have no formal training in learning or cognition, but I do have quite a bit of personal, anecdotal evidence to suggest that manual transcription is far more useful, from a pedagogical standpoint, than straight copy-paste. Rather than take a boring example from my programming career I'd rather dr…

[deleted]

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

#173
post #167

I've been programming for maybe too long now, but likely not nearly as long as the higher level advanced developers, but still the idea that people copy & paste code from Google/SO is horrifying. You are really just going to work on some real life project and just blindly copy some random crap you found online without even knowing what it does completely? Yikes.

It's so common, large companies have entire teams dedicated to running Black Duck scans of their software to hunt down the paste-ins lest their software become open source or their patents cross-licensed by accident. That scenario might not be entirely possible given the terms of GPL and Apache, but that's how they talk about it.

The problem such companies has is extremely similar to news papers. They constantly has journalists that copies from Wikipedia, uses images from "the Internet", and end up committing copyright infringement, for profit, in a commercial scale.

Even political parties who's slogan is more police and harsher punishment don't understand copyright. In Sweden, the extreme right just plucked some images from the internet, did not check the license, and used it in their party program and commercials. In the end, every Swedish household got sent a pirate copy.

The problem is that copyright infringement is so extremely easy to do, that it happens everywhere, and will likely keep happening regardless of scans.

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

#174
post #104

Earlier quoted context omitted.

Don't be ridiculous. That does not make "You are doing god's work, son. Thank you." any less ad hominem, nor do you actually demonstrate any reasons. Your argument amounts to "copy+paste coding is bad, therefore your codebase is bad", yet at no point explains why. But keep downvoting anyone who points that out :)

An ad hominem argument is one in which you reject a position not on its merits but because of who is making it. They took a position that copy/pasting code leads to unmaintainable code, therefore his argument is not ad hominem. He's being insulting, sure, but that doesn't mean he's making an ad hominem argument.

It is ad hominem. The ad hominem part is the part which infers the parent poster makes whole teams grind to a halt and also earns less than himself.

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

#175
post #104

Earlier quoted context omitted.

Don't be ridiculous. That does not make "You are doing god's work, son. Thank you." any less ad hominem, nor do you actually demonstrate any reasons. Your argument amounts to "copy+paste coding is bad, therefore your codebase is bad", yet at no point explains why. But keep downvoting anyone who points that out :)

An ad hominem argument is one in which you reject a position not on its merits but because of who is making it. They took a position that copy/pasting code leads to unmaintainable code, therefore his argument is not ad hominem. He's being insulting, sure, but that doesn't mean he's making an ad hominem argument.

[deleted]

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

#176
post #68

Coding is easy. The problem is too many "teachers" expect you to have a larger vocabulary than you need. I taught 3rd graders to code. I also taught 1st graders, but the 3rd graders it really clicked. They would come up with solutions to things I would not have thought were possible given the limited language we were working in. We started in "Project Europa" it is object oriented, module based, and the vocabulary is…

You might as well say "basketball is easy". Sure, dribbling a ball can be taught instantly, but your 3 pt percentage or rebounding skill can continually improve over the course of a career. Just because you taught some 3rd graders a for loop doesn't make them coders and it certainly doesn't make them engineers. The programming is easy myth is doubly bad: it sets a false expectation for the aspirants and belittles act…

Mastering anything is hard. But kids play basketball.

I can cook, but I'm not a master chef. That doesn't mean I don't do it. Nor does it mean "cooking is hard".

Riding a bicycle is a lot harder than basketball.

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

#177

"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." No, no, no! This always frustrates me. This is not 'coding' (maybe it is, and we should be doing less of it, and more programming). This is gluing together pre-coded snippets and trying to make it work. Continuing to do this is an impediment to gettin…

Copy/Paste is OK as long as you understand the code. If the code is elegant and you know what's happening there's no need to change it. I would argue that the problem is not the copy/pasting but where to paste the code. As an iOS developer I download a lot of code samples from the Apple Development Website. In many cases on these samples the developers put a lot of code in Controllers to show how things are done. Beg…

I have seen many sample projects included in full in final products. "It's from Apple, it must be good!"

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

#178

I have been programming a long time, and even now I often feel getting the environment set up to start something than just writing the actual code to solve the problem. Compiler versions, dependency injection configuration files (why yes, I am a Java developer, how did you guess?), build systems, source control, dependency management, library incompatibilities, setting up a test environment, setting up and configurin…

So much of the time the basic environment isn't even enough. Consider writing a 3D game. You can't just load some data into a structure and then invoke render(). You have to choose the correct library that will be performant enough to work and simple enough to learn quickly. However good your code is it will be too slow if you are targeting the wrong environment. IMHO this accounts for a lot of the actual frustration of learning to code.

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

#179
post #59
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…

What I think is cool about programming is that if you can understand a book, like the C Programming Language for example, then you can probably program. Although, being able to understand that book may take a little more work than just reading it (you might need some supplementary material). A lot of other pieces are soft skills for becoming a professional software engineer, such as time estimation, communication, ve…

Yes, but the coding part is usually the easiest party about being a programmer. All the other skills and knowledge you mention are what makes me far more valuable than when I started 14 years ago.

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

#180
post #55

Earlier quoted context omitted.

I bet the person who maintained your code felt lost and stupid though! The benefit of libraries is that the reference exists at all.

You assume that all libraries are bug-free and documented accurately! I assure you that few are.

That depends. Use a well known library in Python or Perl, and they usually are well documented and tested.

Now choose some obscure JavaScript library from Joe Random on github, and what you say is probably true.

Post reply on HN