I am trying to fast forward from the 1980's and 1990's when I built my 8085 and 8052 BASIC based robots. Back then I used BASIC and assembly lang to program them.

Now I am thinking about building a new SOTA project using Arduino or Axon. Looks like these are based on C or C++. I have used BASIC, Pascal, Fortan and machine langs in the past but never could get my hands around C. Will I have to learn C or C++ for anything I build today using Arduino or Axon? I have heard of the BASIC STAMP but looking at its code, it doesn't look like any basic I have ever seen. Plus I want something more powerful and expandable than the Stamp. Any inputs? Thanks.

You CAN use assembly - but I wouldn't recommend it for anything unless its so time critical and your higher level language is not fast enough. ie use it by exception. Its not always portable and its not very easy to understand/write unless you are using it day in day out.

You really need to learn C. Not always a million miles away from Basic in that you have many of the same constructs: IF/THEN/ELSE, DO/WHILE, FOR etc etc

Do not attempt C++ (object orientated C) until you understand C as it is built on top of C.

At the end of the day the language you use is fed through a compiler to produce assembly code which is then uploaded to the micro controller.

Well, I went up in my attic and found a book I got years ago called "New C Primer Plus" by the Waite group. It is the first edition from 1990 but I figure C hasn't changed that much over the years and the C that runs on the microcontrollers would be the same. I hope!

If you needed something more powerful then the stamp and Arduino uno I would take a look at the Arduino DUE they use 32 arm core so beating out 8 bit processors are pretty easy. Also the DUE as UART and various other differences over the Arduino uno.

~Idan

Logged

There are 10 types of people in the world: those who understand binary, and those who don't.