Live data from Hacker News

Why Learning to Code Is So Damn Hard

vikingcodeschool.com

251–260 of 270 posts

Re: Why Learning to Code Is So Damn Hard

#251
post #203
post #198

Earlier quoted context omitted.

Are there really no longer any open and relevant research issues around this topic? Is humanity's understanding of CPUs, how they work, how they should work, is it all wrapped up and complete? Not really my field, so I truly don't know. But I'd be a little suspicious of someone who claims there's nothing new to learn here.

I don't think he means innovation which seems to be what you are implying. If you take a current working computer system, there are no "mysteries" in the existing hardware where the hardware designer just threw up their hands and decided to hope it would work. Sure when you throw in environmental factors there is certainly unpredictability in terms of hardware failure, but actually understanding what the system is do…

Sure, but I think that definition makes the difference in complexity a bit of a contrivance. You're deliberately excluding the things that make CPUs complicated and interesting, and then concluding that they aren't as complicated and interesting as something else.

The other thing is that while the brain is highly complex, that doesn't mean that people who work in it have managed to master something more complex than CPUs (or house wiring, for that matter). They may simply not really understand what they're doing to the same extent.

To me, the thesis in the original post is this "[if] there are people who are brain surgeons, it cannot be so much harder than being a really competent programmer."

I tend to agree, because I think that some types of programming push people's mental ability and sheer stubbornness past the point of human ability. In short, it will take all you have, and there will still be things you just can't understand or do.

If you define the task as "the things that we understand and can do", then by definition is is not equal in complexity to the brain, but like I said, I think the statement is a contrivance.

Re: Why Learning to Code Is So Damn Hard

#252

Earlier quoted context omitted.

The upswing of awesome sounds like a great way to prepare yourself to build things that are 90% correct with a 10% catastrophic failure rate. I really try to keep a more emotionally neutral stance on all of my code and my abilities. If I want to indulge in arrogance I philosophize. In the end, it's the same thing over and over again. Symbols swapping with others symbols denoting some kind of esoterically tangible, bu…

You've made an interesting comment. I've felt the same way about some of the things you've mentioned, such as "In the end, it's the same thing over and over again. Symbols swapping with others symbols denoting some kind of esoterically tangible, but ultimately fleeting, meaning." I feel that way about all the different languages, new ones or old. Just different symbols that distill down to machine instructions. My qu…

> My question to you, how do you approach learning? Learning new things and marking your progress? What gives you the satisfaction that you've made progress in "learning" a given topic?

I don't know. Right now I am learning how to not know when I am learning, because I have determined that measuring learning in any form can often be a barrier that actually prevents me from learning.

Re: Why Learning to Code Is So Damn Hard

#253
post #234

Earlier quoted context omitted.

`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.

It's actually pretty easy to tell the parameters they take if you look at the url for the route.

For:

    story GET   /story/:id(.:format)  story#show
You get

    story_path(id)
    story_path(id, format)
    story_url(id)
    story_url(id, format)
In practice it doesn't cause as many problems as you think, even in large applications.

Re: Why Learning to Code Is So Damn Hard

#254
post #132

Earlier quoted context omitted.

I don't really agree with the notion that software development is something that others cannot learn if they try to do it; that seems like a very harsh perspective which, from my anecdotal experience, is far from the truth. Any skill can be learned if you have the discipline to put in regular effort: that's just the way the human mind works. I do agree that for a lot of people, Software Engineering is easier because…

What you're saying is true and I used to be optimistic about it like you, however I stopped believing that it is feasible for most adults after failing to teach family members the basics or junior colleagues to become better. Maybe I've been a bad teacher, however the thing I noticed is this - yes, if you put enough effort, Ok, we can probably do anything, like learning to play the violin or do programming, except th…

> . Some of the problems we end up working on are extremely difficult, yet because we are idealists, we go around telling everybody that everybody can do it, probably out of sheer enthusiasm for the things we do, because we believe the world would be better and maybe because we want to share with others our passion.

This right here is the money quote. This is why I am very wary of taking a position as a "developer" or "programmer", and not a consultant. Computer science is one of the most intellectually demanding professions in existence, yet a bunch of kids who are talented try to stunt and make it sound easy. It's like the world's greatest Neurosurgeon posting his surgeries on youtube and saying "anyone can learn, come to my bootcamp!".

Absolute nonsense. It probably has to do with them trying to signal competence for mate selection...If that's the case, I've got news for you boys, CS is never gonna get you laid. Money on the other hand, most definitely will. So focus on your boatloads of cash, not how "easy" CS or programming is, and leave the dignity of your profession untarnished.

Re: Why Learning to Code Is So Damn Hard

#255

Earlier quoted context omitted.

You've made an interesting comment. I've felt the same way about some of the things you've mentioned, such as "In the end, it's the same thing over and over again. Symbols swapping with others symbols denoting some kind of esoterically tangible, but ultimately fleeting, meaning." I feel that way about all the different languages, new ones or old. Just different symbols that distill down to machine instructions. My qu…

> My question to you, how do you approach learning? Learning new things and marking your progress? What gives you the satisfaction that you've made progress in "learning" a given topic? I don't know. Right now I am learning how to not know when I am learning, because I have determined that measuring learning in any form can often be a barrier that actually prevents me from learning.

Interesting.

Re: Why Learning to Code Is So Damn Hard

#256

Earlier quoted context omitted.

> 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. I agree, and I don't think it's a good thing. As Crockf…

I don't think it's a good thing either. I also find the spread of autism terrifying. My wife works at a kindergarten and she has had to deal with children that have problems from the autistic spectrum, healthy enough to be allowed to integrate in a normal collectivity, problematic enough that adjustment is very hard - they simply stand out from everybody else. And she noticed an interesting pattern, those children us…

> And she noticed an interesting pattern, those children usually come from families of engineers, mathematicians or software developers.

This is a serious issue, there was an article on HN a few years back on how the concentration of children born with Autism in SV is something like 10x higher than elsewhere across the nation. They concluded that its most likely due to a severe case of assortive mating between mathematically gifted couples.

People wanted to know why evolution didn't continue to make us smarter? There's your answer...there's an upper ceiling imposed by biology. The way our neural architecture develops puts a damper on how much abstract reasoning we can do before we sacrifice our basic survival mechanisms (i.e. social interaction).

Autism is one of the most fascinating conditions from a medical perspective, but its absolutely terrifying when the majority of HN (myself included) is at greater risk of producing autistic children.

Guess there was a reason why people married their secretaries...

Re: Why Learning to Code Is So Damn Hard

#257
post #251
post #203

Earlier quoted context omitted.

I don't think he means innovation which seems to be what you are implying. If you take a current working computer system, there are no "mysteries" in the existing hardware where the hardware designer just threw up their hands and decided to hope it would work. Sure when you throw in environmental factors there is certainly unpredictability in terms of hardware failure, but actually understanding what the system is do…

Sure, but I think that definition makes the difference in complexity a bit of a contrivance. You're deliberately excluding the things that make CPUs complicated and interesting, and then concluding that they aren't as complicated and interesting as something else. The other thing is that while the brain is highly complex, that doesn't mean that people who work in it have managed to master something more complex than…

This, exactly. CPUs and their insides, the hardware, understanding that, and then understanding the whole software stack that runs on that hardware, I mean _really_ understanding, by definition that if one bit was off in the RAM you could completely trace it all the way from the application level to the hardware level.

Almost nobody can do that. The hardware alone is so complex, these modern CPUs have many BILLIONS of transistors packed so tight that it is impossible for us to even fix them. So we just have a vague understanding of what is going on when we program, but really, we have no clear picture. But the best programmers out there, they have this map of the computer in their heads and the systems, and the better you are, the better the map in your head is.

Think NASA level programmers. They truly have to know how the system works, and yet, they cannot most probably understand the whole stack even, down to the transistor level operation, and then below that even in some really extreme cases where the systems overheat and there is magnetic bit flipping happening and other obscure stuff.

Immense amounts of work equals to amount of commitment required, which equals hard. To be a really competent programmer that knows how to truly take advantage of the machine is really rare, and even then it is down to some very specific domain, like graphics programming, systems programming and so on. So it is very hard to achieve, and very rare.

Re: Why Learning to Code Is So Damn Hard

#258

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…

> 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. I agree, and I don't think it's a good thing. As Crockf…

I dont think so. Why wrong ? Computers have huge potential. Forget the naysayers who dont understand these "big machines taking our jobs!", they fear the change and spread this fear to those who work with them too.

Be proud of what you do. Love it. Aknowledge you are on the right path. Or else change path or your way to approach it. Why do it if it feels wrong ?

Re: Why Learning to Code Is So Damn Hard

#259

Earlier quoted context omitted.

> 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. I agree, and I don't think it's a good thing. As Crockf…

I don't think it's a good thing either. I also find the spread of autism terrifying. My wife works at a kindergarten and she has had to deal with children that have problems from the autistic spectrum, healthy enough to be allowed to integrate in a normal collectivity, problematic enough that adjustment is very hard - they simply stand out from everybody else. And she noticed an interesting pattern, those children us…

Is standing out a bad thing ? Look at where we are now. Consumerism at its highest, people becoming mass educated, mass medicated, mass produced. Is the world in a good shape ?

Maybe those who stand out are exactly the specialists we need to change this world. To think differently, as Steve Jobs famously said.

We are not broken. We are perfect as we are. It is our approach to these children and people that is broken. We should embrace them, and foster their creativity and unhuman kind capability to concentrate. And not medicate them with medicine that will kill their creativity and unique way of looking at the world.

Think of them as Specialists, not Generalists. Our current education system sucks for them, sure. But it will change.

Re: Why Learning to Code Is So Damn Hard

#260

Warning, unpopular opinion based on experience lies ahead. The ability to program (and can we please stop calling it 'coding' as a career path? Writing code is the smallest part of programming) is something that either comes naturally to you or it doesn't. If it does, you wonder why everyone says it's hard - to you, it's almost literally how you think. The pieces just fall into place. If it doesn't, it's always an up…

Agree on this one. Certain kinds of people and thinkers tend to gravitate towards programming. The aspect of getting satisfaction from seeing the perfect alignment of code on the screen, and the satisfaction of re-factoring code into clean, modular pieces, must somehow satisfy the programmer in order to get a kick out if it.

So probably those who are naturally logical thinkers, even to a level that normally would not be very useful, become useful in the computer space where they can utilize their internal skills of putting things into neat ordered rows of zeros and ones.

Post reply on HN