I don't like Assembler programming. I was forced to use it in 1997 in EE 380 on the Motorola 68000 with Prof NelsonDurdle at the University of Alberta. Ditto, for C++. My C professor, Prof. Martin Mintchev, in EE 445 convinced me that it was bloated and terrible. So, since that time, I've been programming in C on embedded systems, starting with Interactive C and then GNU tools. This is all in the dark, pre-Arduino days.
It's 2018 and I'm starting to have a change of heart. Last year, I used Python and R for some work. I realized that these OOP languages were actually better and more effective than C code. That opened up the door to C++ a crack. This was reinforced while listening to the Embedded.fm podcast. Specifically, the interview with Dan Saks on using C++ in embedded devices.
So, now I'm looking to apply myself to learning how to program in C++ on ARM Cortex M0 boards and to analyze the functioning of the code on these boards using disassembled views of the code using tools like Radare2.
This post was originally written in July, 2018 on my other blog site: https://drsmith.blog.yorku.ca/2018/07/rethinking-c-c-and-assembler/
James Andrew Smith is an associate professor in Electrical Engineering and Computer Science Department in York University's Lassonde School. He lived in Strasbourg, France and taught at the INSA Strasbourg and Hochschule Karlsruhe while on sabbatical in 2018-19 with his wife and kids.