Okay, this is mostlysomewhat related to programming.
I'm looking for someone with some free time (doesn't have to be immediately, but would like a response if interested) to answer some questions for me (preferably private messages, rather than open thread) about some aspects of programming. Generally questions regarding the idea and practice of compiling/linking, with interest in the technical aspects of it, rather than the programming aspects (how it works, as opposed to how to do it). So preferably someone with in-depth knowledge of this process, if that's not too much too ask.
Basically, interested in the technical process involved, and looking to (metaphorically) pick someone's brain...Some links to informative articles/references on the subject would work just as well. Thank you (^_^)
Why not create a thread for open ended discussion on the matter? It would be good knowledge for many people, and it's actually a pretty big area of knowledge that I doubt one person here knows everything about, but I'm sure if you put several of us together we can answer just about anything.
I've been self-studying programming, and haven't quite gotten into anything (too) advanced yet. I honestly wasn't sure if this was a topic covered in more advanced concepts of programming, or if others knew (or were even interested in) this topic. To be honest, I asked out of personal curiosity, but please don't take this the wrong way. I'm not against an open ended discussion, and that would work just as well if others are interested in joining in. (^_^)
EDIT* To answer your question more specifically, I suggested private message rather than open thread, because I wasn't sure if the idea was of enough interest to others, or general knowledge at some point along the way, and therefore worth having openly. :)
I just finished a university course in compiler construction, these are the slides I used, you can also find the textbook rather easily using less than...legitimate means.
It's a fourth year University class, so there's quite a bit of background information you need to be extremely good at before you can tackle it. Mostly theory of computation (regular expressions, state machines and all the variants), discrete math and a bit of calculus.
Well, after about an hour and a half, I've looked through some of that, and after my headache from trying to understand all of it is gone, I'll continue to look through the rest XD
I'm not going to pretend I understand all of it (I think at this point I would be lucky to get about half), but I still find it very interesting, so thank you very much darkestfright (^_^)
Chances are, unless you're actually getting into compiler design you don't need that indepth of knowledge. Just knowing how compiling happens, some optimizations that they do, and how linking works should suffice for most needs.
Yea about how they work, not how to implement them. That's like saying I know how to build a pen out of random house hold items, so therefore I can draw better.
Knowing how compilers work requires knowing how to implement them (at least to a certain extent) and it's useful because it teaches you to write code that's easier for the compiler to optimise (for example).
That's like saying I know how to build a pen out of random house hold items, so therefore I can draw better.