Live data from Hacker News

Why Learning to Code Is So Damn Hard

vikingcodeschool.com

231–240 of 270 posts

Re: Why Learning to Code Is So Damn Hard

#232
post #144

I think one effective way to navigate the "Desert of Despair" is to join another project first. That gives you the focus you need and set of practices and libraries/language/frameworks to learn deeply. And as you learn how senior people in the project make their decisions and hear stories about the history of the project you gain context and valuable information for the next stage. Much of what I've learned I learned…

basically, joining a project with senior programmers is akin to an apprenticeship for other crafts. If you have the opportunity, because you chanced upon somebody willing to do it with you (especially if for free), then take it.

But most people won't get that opportunity, or isn't smart enough to go look for it.

Re: Why Learning to Code Is So Damn Hard

#233
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.

Well learning if - while is like drawing a submarine on paper. How many teenagers can design an embedded software system of a nuclear submarine is a better question I think.

Re: Why Learning to Code Is So Damn Hard

#234
post #183

Earlier quoted context omitted.

I have to agree - The path helpers are very opaque. It would probably do Rails well to generate a app/helpers/path_helper.rb file with the actual implementations in them.

`rake routes` will output the routes and paths. Appending _path or _url to the path will generate appropriate methods.

Sure. But that still doesn't tell me exactly which arguments they take. Or give me an opportunity to debug the code when it doesn't do as I expect. I realise that it just-works (tm). It's when it doesn't, it gets problematic.

Re: Why Learning to Code Is So Damn Hard

#235

Here's where I disagree with other people - software development is special in that it requires focus, relentlessness, intelligence, creativity and I also find it interesting that many software developers tend to suffer conditions from the autistic spectrum. To me that's a clear sign that software development requires the mind to be hardwired in a certain way. And the thing is - I never needed handholding, which is w…

I have a contrarian view. This is purely based on my experience. When I was first 'taught' BASIC in high school I detested it. I didn't want to stay anywhere near computers because it was no fun compared to let's say jumping off a roof. Fast forward to Uni, I still detested computer science - mostly because I never realized what one can achieve by using computers. That context was simply not there. This was 1995 in India. My mind was simply elsewhere - mostly I was disinterested in anything related to making a career.

I did find a job and turned out to be an average programmer and I worked mostly for the heck of it.

The turning point in my life came when I ventured into management. I realized how fucked up that industry was, as compared to even the most inane programming task I had ever done. So that's when my love for programming started to grow and it hasn't stopped ever since. More and more I see other industries I realize how shoddily disorganized they are. I mean - consider the process of getting an approval. It takes days where as it's just a push of a button on an app.

So it's not true that as an adult - you can't realize the magic of programming. You just need the right context and some affordabiity for the right tools.

Re: Why Learning to Code Is So Damn Hard

#236
post #230

Earlier quoted context omitted.

I agree that "discrete vs continuous" is not the perfect way of expressing the difference; it's just an analogy. (But the structural support example is continuous. You could have 9.5 supports by adding a 10th support with half the strength, etc. "Amount of support" is the continuous measure.) But it's not just an issue of graceful degradation. The fact that tiny changes in a program can have very large effects is a f…

there are continuous programming languages out there - DNA is one such one i guess. But i don't think the discrete vs continuous nature of a programming language is what makes it difficult. It's more that a person's mind may not conceptualize tasks algorithmically, and to switch to this frame of mind is difficult for someone who isn't already in this frame of mind.

That's a good point. DNA as a programming language has to be at least somewhat continuous, or else evolution has nothing to optimize because every change has a random effect.

Re: Why Learning to Code Is So Damn Hard

#237

I've had the pleasure of co-teaching Rails classes with Erik Trautman (OP) and he's a smart, dedicated guy. He's written a thoughtful article but underplays a key point. Learning to code would not be "so damn hard" if there were better learning resources. There's too much "learn to code" crap for beginners (as Erik points out), and not enough resources for advanced education (the "resource density" in the "Desert of…

No. No amount of resource will help with the kind of mental gymanstics required for programming (manipulating abstractions). Resources will help once you have that ability, but I am not sure how trainable it is itself.

Re: Why Learning to Code Is So Damn Hard

#238

I was lucky because I started coding at 13 (Pascal and C). At that point in my life, I could spend all of my free time developing something cool just for fun (and learning a good foundation in the process). By the time I got to college, new concepts took me a fraction of the time because I already had that foundation. Even now, I went from 10+ years of PHP development to building full Python apps in a short amount of…

I was also lucky that my "informatics" teacher took matters seriously and taught me how to program without a computer. Yep, we had programming class in school, but school did not have any computers. So she taught what basics (variables, loops, control strucures, etc.) are on paper, using some pseudo-programming language. Later, when I finaly got access to the computers learning the first programming language (MSX Basic) was just a matter of learning the syntax.

Re: Why Learning to Code Is So Damn Hard

#239

No, it's not hard. You can make practically any program with just four constructs: assign, condition, loop and function. The rest is just imagination.

Yep, writing Harry Potter series is not hard, you can do that with a couple of dozen of letters. The rest is just imagination.

Re: Why Learning to Code Is So Damn Hard

#240

Here's where I disagree with other people - software development is special in that it requires focus, relentlessness, intelligence, creativity and I also find it interesting that many software developers tend to suffer conditions from the autistic spectrum. To me that's a clear sign that software development requires the mind to be hardwired in a certain way. And the thing is - I never needed handholding, which is w…

Not sure I agree with you.

I always avoided maths at school, despite being reasonably good at it, because I didn't find it interesting. Studied biology and ended up in software engineering.

Now after many years in the "real world" I can see the practical application for many forms of mathematics (particularly statistics), and kind of wish I had studied it more. If I had the chance to go back to university and study it, I am sure I would find it a lot more interesting, as now I can see where all the techniques could be put to use, rather than seeing some abstract set of symbols on a blackboard.

Post reply on HN