Live data from Hacker News

Why Learning to Code Is So Damn Hard

vikingcodeschool.com

81–90 of 270 posts

Re: Why Learning to Code Is So Damn Hard

#81
This seems like a symptom of learning to code for the sake of being able to code, versus learning to code because you enjoy coding. It's just as much work in an absolute sense, but the process in the latter case seems more effortless and fun.

There's a similar thing in the music world. Some people want to be good at guitar, others like playing guitar. The former get bogged down in despair, the latter fiddle around on their instruments every night without even thinking. Guess which ones end up getting good?

[edit] cholmon makes a good point; the enjoyment is more in creating things than in simply writing code.

Re: Why Learning to Code Is So Damn Hard

#82

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…

That's closer to the definition of instability than it is discontinuity.

[deleted]

Re: Why Learning to Code Is So Damn Hard

#84
post #71

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…

Unless you're doing Rails, in which case it'll be read as a magic method and guess what you meant :-P Seriously, that was a major sticking point for me having programmed for a long time: going from "if you have not declared that identifier, game over" to "magic happens".

That is absolutely something that irritates me. I've just inherited a large RoR application, and the amount of "magic" and things by convention is driving me crazy. There should be answers to questions like "why is this the way it is?!"

On a side note, if anyone has some great resources for RoR, I'd love to have them linked. I suspect my inexperience is the source of my problems, and I'm welcome to any assistance any one would like to give.

Re: Why Learning to Code Is So Damn Hard

#85

Motivation. If you don't have the motivation you'll never be able to do it. If you can't sit in front of a computer for 8 hours a day reading documentation and hunting for syntax errors you're not going to be able to do it. If re-writing algorithms doesn't give you an intrinsic satisfaction, you're not going to be able to do it. No amount of everybody can code tutorials is going to help. They should all be, "how to f…

Motivation can work for a while, but ultimately how I see it comes down to discipline.

Motivation will fail you when you are left with those last 10% of a project that feel like the first 90%, but now with uninteresting tasks like tweaking the hell out of a UI, fixing all those bugs resulting from code optimization in obscure cases, implementing database integrations to assure backwards compatibility with earlier versions or some such shit that is impossibly uninteresting but required to finish the project.

Then in play comes discipline, and that is something you have to learn systematically, and when you don't feel motivated at all to continue through and just wish to quit it all.

But you are correct, you have to get satisfaction from the process. Maybe the motivation is to see the end result. But still, there is that phase where all hope seems to be lost, inspiration and motivation are nowhere to seen and all that remains is just grind and decide to follow through.

Re: Why Learning to Code Is So Damn Hard

#86

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 path was different.

I was decent enough to implement basic algorithms and data-structures since high-school. I couldn't build apps of course.

Then in the first year of college I got hired for a small and shitty company doing web development, on a very low salary. My first project was to clone a popular dating website (Match.com). For me the project was overwhelming, as I knew nothing about what it meant to do real things. But I felt the pressure of delivering and I really needed the job, so my path from a near zero to somebody hirable took one month, because that was the deadline for showing something working.

So basically for me the driving force was hunger - and I'm talking about both the attraction towards CS and the need for an income.

Of course, from there to somebody that can call himself a decent software developer, well, that took another 12 years. And the kind of projects you're working on matters a lot. At some point I worked for a startup that had crazy technical challenges, crazy constraints, crazy deadlines, crazy everything. For 3 years I worked on that and learned much more than I learned in the other 9 years.

Re: Why Learning to Code Is So Damn Hard

#87

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 executed, then the program itself will run fine. In other words, if the line is never called in the program, then you'll not know that the functionality that that line presented was bad. In this case, the analogy breaks down a bit - and also shows why certain languages are easier to learn than others (e.g., Python vs. C++).

Re: Why Learning to Code Is So Damn Hard

#88
The ease with which you code is directly related to your general problem solving ability. The better you are at solving problems, the more simple and straightforward you'll find programming, because coding is simply an extension of the thoughts which are already floating through your head.

This is why learning to program is so difficult for some people. If you have poor problem solving ability, putting a second abstraction layer over it (thoughts -> something the computer can understand) can be ridiculously difficult. This is especially true for abstractions which don't map directly to thoughts human beings typically have (recursion, pointers, etc.)

This is also why learning to program is so effortless and simple for others.

Re: Why Learning to Code Is So Damn Hard

#89

Earlier quoted context omitted.

C'mon, all of those things you listed (brain surgeon, rocket scientist, lawyer) are WAY harder and more expensive/time-intensive to get into than software engineering. If you feel like your knowledge is getting flushed away with a new platform, then you've been learning the wrong things.

Really? How is being a brain surgeon more difficult than being a computer surgeon ? Understanding how a CPU completely works, on the assembler and even on hardware level is FRIGGING HARD. Computers are very complex and huge beasts of logic to really understand, and the best programmers have to understand a huge amount of technical skills and systems in order to get the wanted results. I have no idea how much stuff a…

>Really? How is being a brain surgeon more difficult than being a computer surgeon ? Understanding how a CPU completely works...

Well, we know how everything about how a CPU works. We don't know everything about how a brain works.

Re: Why Learning to Code Is So Damn Hard

#90
post #71

Earlier quoted context omitted.

Unless you're doing Rails, in which case it'll be read as a magic method and guess what you meant :-P Seriously, that was a major sticking point for me having programmed for a long time: going from "if you have not declared that identifier, game over" to "magic happens".

That is absolutely something that irritates me. I've just inherited a large RoR application, and the amount of "magic" and things by convention is driving me crazy. There should be answers to questions like "why is this the way it is?!" On a side note, if anyone has some great resources for RoR, I'd love to have them linked. I suspect my inexperience is the source of my problems, and I'm welcome to any assistance any…

Convention over configuration is awesome, if you know the conventions. If you don't, it's all magic. At least with configurations, you can read them and get some pointers.
Post reply on HN