Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>Additionally, all code must be able to be understood by 70% of the population of programmers. If the code can not be understood by that volume, it needs to be altered until it satifies the above requirement.

How is this measured/qualified? These days, I would doubt that 70% of people whose primary job is to write code have any knowledge of assembly whatsoever, so a naive reading of the above paragraph seems unlikely to succeed.



These days, I would doubt that 70% of people whose primary job is to write code have any knowledge of assembly whatsoever

If pressed, I suspect most of the programmers in the world could read assembly. They might hate it, but they could do it, if given sufficient motivation. Simplified assembly used to be written as a game.

https://www.corewars.org/index.html

so a naive reading of the above paragraph seems unlikely to succeed.

How naive are you going here? Turn it into a contest, where the versions of the code contain backdoors, and contestants are ranked by how quickly and accurately they can identify them. Arrange for cash prizes, and you'd have your determination.


>If pressed, I suspect most of the programmers in the world could read assembly. They might hate it, but they could do it, if given sufficient motivation. Simplified assembly used to be written as a game.

I strongly disagree. I work with a lot of very smart people. These people are Phd researchers at the top of their field, working on cutting edge algorithmic development. Their work is primarily mathematical, but they write enough MATLAB to prove that what they're developing really works. They write enough code that I think most people would consider them "programmers", yet they absolutely do not understand C++, much less assembly. As I said, these are very smart people; they could certainly learn, but they have no motivation to do so. It's not their job to understand all of the details of how a computer works (it's mine, more or less).

>How naive are you going here? Turn it into a contest, where the versions of the code contain backdoors, and contestants are ranked by how quickly and accurately they can identify them. Arrange for cash prizes, and you'd have your determination.

I didn't really mean naive in the sense of the people, but in the intent of the author. When I read "70% of the population of programmers", I think of myself and my ~6 coworkers who spend ~50+% of their time manipulating code. That's the simplest (i.e. naive) definition of "programmer" that I can come up with. If the author intended a different definition (like "people who claim to understand any assembly language"), then that definition might exclude my coworkers, making the goal a lot more achievable.

For the naive definition, only 14% (1/7) of my group have any chance of understanding this project. I think you could find a lot of front-end web focused groups where the percentage was much lower than that, and at this point I think those groups far outnumber the embedded systems groups where the number would be much closer to 100%.


They write enough code that I think most people would consider them "programmers", yet they absolutely do not understand C++, much less assembly. As I said, these are very smart people; they could certainly learn, but they have no motivation to do so.

You're supporting my position, not refuting it. Again, most programmers could handle assembly. It's really just that they don't have the motivation to bother. That doesn't mean that less than X% of programmers can't. It just means that most of them won't.

When it comes to any survey or psychological experiment, one has to live with the inherent filter of people who will bother with your experiment. Outside of a totalitarian command society, you can't get X% of your sample of programmers to do something. Rather, you're stuck with seeing if you can get X% of your volunteers. That's just the way it works with any kind of experiment with people as your test subjects.

When I read "70% of the population of programmers", I think of myself and my ~6 coworkers who spend ~50+% of their time manipulating code.

When you read X% of subjects in an sex research experiment, it's really X% of available volunteers. That's how you should read it. That's just how it works, within the ethical boundaries of using human subjects in a free society.


>You're supporting my position, not refuting it. Again, most programmers could handle assembly. It's really just that they don't have the motivation to bother. That doesn't mean that less than X% of programmers can't. It just means that most of them won't.

Fair enough. I think we really just disagree on the definition of the word "able".

>When you read X% of subjects in an sex research experiment, it's really X% of available volunteers. That's how you should read it. That's just how it works, within the ethical boundaries of using human subjects in a free society.

That's kind of an odd parallel to draw. Regardless, unless you're the author of the readme we're both just speculating.

I think we've gotten far enough into the weeds here that there's not much point in continuing to pick this apart. We'll just have to agree to disagree.


> I think we really just disagree on the definition of the word "able".

In one sense, "X% able," means "if you held a gun to their heads, X% end up pulling it off." My wife can code and debug. There's no way in hell she'd ever do it for a job. However, if she was in a real life instance of "Saw" and she had to debug something to save my life, I'd like to think she'd at least try.

In a practical survey sense in the western world, it means, "X% of the people you can get to participate." It's nonsense to talk about it in the 1st sense, unless you happen to be a totalitarian dictator with lackeys who would hold a gun to the subject's heads.

That's kind of an odd parallel to draw.

It's an apt parallel. Not all programmers have the inclination to do assembly. However, you can still do an experiment on the population who will. Does the sub-population of subjects you can get affect things? Maybe, but I don't think it makes too much of a difference here.


I wouldn't be surprised if none of the people who learn to code through bootcamps or self-taught modules can read assembly. Most of that kind of stuff teaches web development and not much else, so any code lower on the stack is mostly unfamiliar territory.


None is a rather final quantity.

I'm self taught, and pull out IDA pretty often in my job. My wife went to galvanize, and I taught her 6502 asm before she started there. So that's two for you.


I wouldn't be surprised if none of the people who learn to code through bootcamps or self-taught modules can read assembly.

Neither would I. However, some of them could.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: