Live data from Hacker News

Why Learning to Code Is So Damn Hard

vikingcodeschool.com

101–110 of 270 posts

Re: Why Learning to Code Is So Damn Hard

#101
post #45

Learning to code is not hard. At all. Not relative to things that actually are hard. Having trained as an electronic engineer, programming is by far one of the easiest things I've ever done, by an order of magnitude. You can tell by the number of teenagers that can code, how many teenagers can design a nuclear submarine? That is much harder to learn.

Your comment is both unfairly dismissive and wrong.

| Learning to code is not hard. At all.

This assertion is empirically untrue in the market for programmers (if nothing else). Why are programmers paid as skilled laborers? How many not hard (at all), highly paid, and quite frankly cushy job exists? In the Bay, hiring is the biggest problem.

| how many teenagers can design a nuclear submarine?

Why is designing a nuclear submarine the point of comparison? Is this some sort of humble brag?

| That is much harder to learn.

No one claimed programming is the hardest job in the universe. It is perfectly possible for harder jobs to exist and for programming to be hard.

Re: Why Learning to Code Is So Damn Hard

#102
post #96

Currently I teach Java courses (up to Data Structures) and I give the warning at the beginning of the semester. I don't use it as a scare tactic to be mean, but to help instill the sense of difficulty in the course. Programming is only hard because it is simultaneously a basic IT, foreign language, applied mathematics and logic class wrapped into one! Also, since its 100% cumulative, every class they miss can be a de…

That sort of deviated into more of a 'this is what I do', but the ultimate goal was to try to ease the difficulty of the courses as best you can. If they're slackers, let them fail, but if they have a want to learn and it is just confusing, figure out how to get them to learn.

Developers are problem solvers, the student doesn't get the material, figure out how to solve the problem.

Re: Why Learning to Code Is So Damn Hard

#103

This may be thinking back on things with rose tinted glasses, but I learned to code in qbasic when I was 12 or so at a Boys and Girls club after school and fell in love. It was entirely effortless and fun to me. I think the difference is at that point I wasn't trying to program to enter some lucrative career and be a startup guy (where are these "coders" going to be once the market dies down and a new industry is hot…

I first learned on a variant of BASIC myself when I was in elementary school, and it was effortless then -- but that's a profoundly different thing from learning the professional tools/design patterns/development styles to get hired in a specific domain. As somebody who picked it up again after a long break, the whole point was not 'getting hired in some hot new lucrative industry,' but 'god, please let somebody hire…

I may have been to harsh in my assessment. But still, how many of these people are sitting down and working on some puzzle/problem/project they find interesting vs saying I know I need rails, and angular to make web apps and then just going through tutorial after tutorial. How many of them are actually interested in it in and of itself. I learned how to program very far away from the concept of writing an app that I could deploy to heroku.

Re: Why Learning to Code Is So Damn Hard

#104

When I was in college, one CS professor explained the difficulty of coding to me in terms of discreteness vs continuity. In the real world, things are continuous. If you accidentally build your structure with 9 supports instead of 10, then you only lose 10% of the strength of the structure, more or less. The strength varies continuously with the amount of support. But if you're writing a 10-line program and you forge…

In a general sense, it can be more difficult to reason about what effect adding or removing something will have because the skill is still being developed.

Yes, but that's true of any new skill that one might try to learn. I'm talking about specifically what makes programming harder than other things to learn. When things are continuous, you can at least experiment by making small changes and be confident that those changes will only have small effects.

Re: Why Learning to Code Is So Damn Hard

#105

This may be thinking back on things with rose tinted glasses, but I learned to code in qbasic when I was 12 or so at a Boys and Girls club after school and fell in love. It was entirely effortless and fun to me. I think the difference is at that point I wasn't trying to program to enter some lucrative career and be a startup guy (where are these "coders" going to be once the market dies down and a new industry is hot…

I first learned on a variant of BASIC myself when I was in elementary school, and it was effortless then -- but that's a profoundly different thing from learning the professional tools/design patterns/development styles to get hired in a specific domain. As somebody who picked it up again after a long break, the whole point was not 'getting hired in some hot new lucrative industry,' but 'god, please let somebody hire…

At the time "design patterns" were somewhere in the distant future, development style was something you had rather than something you learned, and the list of professional tools was really short. I'm sure this is part of what made it incredibly fun.

I think today's students would also have a lot more fun if they ignored all the opinionated garbage about which flavor-of-the-month checkboxes they need on their resume. Figure out what you like and get really good at it. Many top employers are looking for passion, pragmatism, and adaptability rather than specific tools and libraries.

Re: Why Learning to Code Is So Damn Hard

#107

When I was in college, one CS professor explained the difficulty of coding to me in terms of discreteness vs continuity. In the real world, things are continuous. If you accidentally build your structure with 9 supports instead of 10, then you only lose 10% of the strength of the structure, more or less. The strength varies continuously with the amount of support. But if you're writing a 10-line program and you forge…

> But if you're writing a 10-line program and you forget one of the lines (or even one character), the program isn't 10% wrong, it's 100% wrong. (For example, instead of compiling and running correctly, it doesn't compile at all. Completely different results.) This is where the beauty/simplicity of some programming languages, namely, intepreted languages (e.g., Python), comes in: if a bad line of code never gets exec…

This is a risk that you should be aware of when using languages like this and thus use them appropriately. To continue with the building analogy, you don't want it to take an actual fire to learn that all your fire exits are dead-ends.

Re: Why Learning to Code Is So Damn Hard

#108
Because learning "to Code" is nonsense, and learning "to Program" is damn hard because it is a whole new set of new mental habits, like an ability to zoom thorough multiple levels of abstractions, without losing understanding. Think of following of a flow of data from, say, linux TCP stack, to nginx, then via fastcgi to some backend, then to, say, postgres, then back to code, then back to client, remembering about memory allocations, data encoding, data-structures build up, etc. Or, even better, think of how your code (interpreted or compiled) would be executed, how syscalls would be made, would code block during a syscall, is there another theread, what they are doing, is there are locks, which kind, etc.

The idea that there is some Java which allows you not to think about all the important details is just nonsense. You have to understand what are you doing and why, and this is so damn hard.

btw, Robert M. Pirsig has a whole book about why everything is so damn hard.

Re: Why Learning to Code Is So Damn Hard

#109

Many of the coders I know (which is mostly folk in their 40s) never learned from scratch. More often, we started in support roles, and slowly worked into the code. First, learning to read it to help troubleshoot issue, then making basic changes, and slowly picking up more and more of a specific codebase. Once the basics were understood, we'd start making basic apps on our own, often while still supporting more comple…

this is good to read. i am 7 months into a trainee developer role. the first 6 months were spent working on other peoples code and it was brilliant once they dropped me onto my first project, i didnt realise how much i was learning at the time.

Re: Why Learning to Code Is So Damn Hard

#110

Many of the coders I know (which is mostly folk in their 40s) never learned from scratch. More often, we started in support roles, and slowly worked into the code. First, learning to read it to help troubleshoot issue, then making basic changes, and slowly picking up more and more of a specific codebase. Once the basics were understood, we'd start making basic apps on our own, often while still supporting more comple…

My first job was Night Operator at Transdata, a dial-up timesharing company in Phoenix, for the summer of 1969, earning $2/hour. The fun part was that they turned off the timesharing service at night - but they didn't want to power down the Sigma 5 for fear that it might not start back up in the morning. There were occasional overnight batch jobs to run, but mostly I didn't have much to do. I already knew BASIC, havi…

I was 8 years old in 1970. My dad was working for NCR in Waltham, Mass. He'd bring home a honkin' huge teletype and an acoustic coupler on the weekends. I taught myself BASIC and got hooked on Hamurabi [0], my first computer game vice.

How much paper did all of us go through back then?

[0] http://en.wikipedia.org/wiki/Hamurabi

Post reply on HN