I can't even guess how many times this questions has been asked but I think I have to ask in my own words to get satisfaction. Mainly, I want to understand how my computer(computers in general work) and want to know what language I should start with. I know there's hardware and software and they all communicate through channels and something controls those channels and that there's a CPU that does basic comparisons of data in machine code and that has to be translated into machine code by , is it assemblers, from high level language written by a person. I think that dll's in windows are common parts of software that all the programs share to make code shorter and I think that has something to do with batch programming. I still do not understand what windows is "sitting on" in my Dell laptop that it is running on. I know there's different layers that OS run on like the kernal, that I think manages, I don't know something. But, my question is- to help tie this all together for me, what language should I start with.