Naked Science Forum

Non Life Sciences => Technology => Topic started by: Dharmansh on 24/02/2014 13:57:01

Title: How should i learn CPU programming?
Post by: Dharmansh on 24/02/2014 13:57:01
Hello guys,i am studying in High School and i am interested in CPU Programming though i don't know anything about it,i don't even know any programming language.So can you all suggest me how should i start,which language should i learn,how and what should i learn,basic,suggest me some books which will help me a lot? :)  :D
Thank you.
Title: Re: How should i learn CPU programming?
Post by: evan_au on 24/02/2014 14:45:50 ( provides interactive beginners courses for High School and Primary school. I was impressed by the way it gets you to write a simple program in just 1 hour. It features short interviews with famous programmers like Bill Gates (Microsoft) and Mark Zuckerberg (Facebook).

After mastering the basics, perhaps the most accessible platform to learn programming would be on a smartphone or tablet computer. You could try:
These environments provide a Software Development Kit that you can use to write programs, and then load them onto a smartphone to show your friends.

A smartphone has many functions, and the huge library of programming functions to access them can seem scary at first - but just start with the ones you need.

Programming is hard - computers tend to do exactly what you tell them, so it helps to be a bit of a perfectionist. But the hardest thing is probably coming up with a concept that people find they need (and for which they may even pay 99 cents).
Title: Re: How should i learn CPU programming?
Post by: CliffordK on 24/02/2014 18:04:59
You may also be interested in single chip computers, or PIC chips.  One that is marketed as an educational tool is the Basic Stamp Kit.  Also consider the Raspberry PI.
Title: Re: How should i learn CPU programming?
Post by: David Cooper on 24/02/2014 19:14:59
If you want to program in such a way as to work with the CPU directly, the key word you need to search for is "assembler". Most people program using languages which hide what goes on in the processor from them, but they do so for a good reason: different types of CPU can work very differently from each other, so if you want your code to work on different kinds of machine, you're best off using a high-level programming language which will compile your code into machine code for you for whatever processor you want it to run on. Assembler is most used by operating system writers (and people who write code for embedded devices where hardly any memory is available to work with), and most of them only use it in a few awkward places which compilers can't handle. A few people write entire operating systems in assembler, but that restricts them to running on a single type of machine, such as the standard PC. If you decide you want to work in assembler, the PC is probably the best platform to start programming on, so you want to learn "x86 assembly language". One mad person is known for writing all his code directly in machine code without using assembler, but he cheats by indexing the code so that it's no harder than using assembler. If you aren't so bothered about how the CPU works, there are many programming languages to choose from and it's hard to say which one's best. JavaScript is a mess, but it's good for writing interactive Web pages (in combination with HTML), so it's probably one that everyone should learn.