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

That's a great question. I started out as a programmer having been a casual computer user through my childhood/teenage years. I never took apart computers or ventured into how they worked. Thus, when I decided to pursue this as a career, I had a lot of catch up to do. Here's a couple of things off the top of my head:

- The terminal was completely foreign to me. Why is it structured so? How are permissions set? Octal?!?!?!

- Why do I have to specify a type in a programming language?

- What/why are all these special characters used in programming?!

- Why is a program structured in the way it is? What are the levels of abstraction working in a given program?

- What happens when I run/compile my program?

I would also say that learning a little bit of C also really helped illuminate computers for me. Not only in the sense of how they work, but also why programs use their current syntax. For example, for developers who look at Javascript for the first time seeing parenthesis, colons, curly brackets, etc all make an initial sense: they seem familiar. However, to somebody first diving in all of these characters seem totally arbitrary! Having gained a sense of how computers worked and then a very basic introduction into low-level programming, suddenly these high level languages seem much less arbitrary.



Thanks for sharing! I can (of course) understand that many of these things seem arbitrary, but would never have been able to come up with the list on my own. :)


None of these sound like particularly low-level concepts the book is purported to cover.

Like you said, "learning a little bit of C" would probably cover most of the things you listed. It sounds like you're a web developer.




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

Search: