Monday, May 29, 2017

Becoming great at programming!

   " Machine language - The best way to learn programming is to first learn how computers work from the inside out. The best programmers understand how their hardware platforms work. There are tons of microprocessor trainers available on Ebay for little money - mostly ones from the 80s, and some much newer - that can be used to learn how to program a microprocessor in machine language, the very lowest level of code that all computing devices use. Every program ever written in any language eventually ends up as machine code executing on a CPU, machine language is everywhere - it’s just that most programmers never even think about it. Master machine language and you become the master of the machine!

  • Assembly language - We’ve all heard of it, but it remains a mystery to most programmers. Just one level up from Machine language all Assembly language does is to create human-friendly “mnemonics” for each Machine language instruction. Add in macros, subroutines, variable definitions, and other features that an assembler (the assembly language equivalent to a compiler) understands, and you’ve got a language that can still do everything that Machine language can, but allows you to be far more productive.
  • C - The nearly 50 year old language that influenced the design of most of the modern programming languages we have today. C is not a “high level” language like Java or C#, but is much higher level than Assembly language and therefore easier to code in. C allows you to do most everything that you can do in Assembly language, but not all (but there are work-arounds for those). For extremely high performance code or code that has to be able to directly access hardware C is the #1 choice for the majority of programmers. Learn C, and you will be able to move on to learning most other languages easier than you would have had you learned them as your first language. C has all of the basic concepts of programming built into it’s relatively small set of keywords, and with C anything that you would want to do on a computing device can be done - maybe with more work than in other languages, but it can be done. Most other high level languages have restrictions that keep them from being able to do anything that the hardware platform supports, but are still great for most things - C has no such limitations."
  • No comments:

    Post a Comment