Baloney. That's like telling a newly licensed driver that they need to buy a OBD scanner to be able to analyze what's going on with their car if something confusing happens while driving.
No. That's like telling a newly licensed driver that they need to buy parking radar for better learning to parking. Yes, they can do that without parking radar, but it will be much more complicated for them, because they don't get enough feedback what is going on around vehicle while they trying to parking in a limited space with poor visibility.
The same thing with in-circuit debugging for microcontrollers. It allows newbies to see what is going on in the microcontroller when they trying to do something. And it helps to understand it more easy why something going wrong and how to fix it. It will helps newbies a lot.
Newbies - please don't listen to this person. Get an Arduino UNO and try some basic setups like lighting some LEDs or reading a temperature sensor. I've used them for more then ten years - Nano, Uno, Due, and the new Uno R4 and I've never once needed to debug any program step-by-step.
In my opinion this is bad recommendation.
Well... I didn't wanted to talk my thoughts about arduino due to my negative attitude towards their libraries and IDE, but it appears that it needs to be explained.
Arduino is a bloated and very expensive marketing platform. When you use it, you're paying ten's times higher price and get very slow and very expensive MCU with a small features. Yes, they provide you with their branded IDE and libraries designed for noobs which allows to simplify copy-paste coding with no knowledge at all. But when you use it, you will not learn microcontrollers and you will get stick with arduino market. That's the issue.
I know guys who using arduino for about 10 years and still don't know how to deal with microcontrollers with no arduino platform (to be clear I'm talking not about you or someone in this thread). They are ready to pay hundred dollars for arduino development board just because they don't know how to deal with non arduino boards which cost just ten dollars and can provide you 100-1000 times higher performance, much more hardware features. This looks like crazy for me.
They are not newbie, but they stuck with these arduino products and don't know how to deal with non arduino boards at all. And they even don't want to learn something else. That's looks like some kind of disease, and I often see the same symptoms from many peoples, and they all have one thing in common - they started with arduino...
This is not a joke, I really see that behavior, even in this thread several peoples demonstrated that "arduino" symptom... And this is not only my discovery. All my colleagues who professionally working with MCU also had exactly the same opinion about arduino...
I think the root of cause for that is that they started with a wrong way. In my opinion their main mistake is using arduino as a first platform. They started with arduino and this formed in them an attraction to this arduino market and a reluctance to learn anything else.
This is some kind of fast food, there are some peoples who like to eat fast food and just don't want to eat healthy and delicious food. They prefer to eat some fast food which cause cancer simply because it is full of chemical flavor enhancers... It become so crazy, that people consciously refuses healthy food and voluntarily eating fast food... And the things are even worse many of them well understand that this is bad for their health, but no longer able to abandon the chosen path...
Exactly the same issue with arduino. Of course this is your choice, but note, if you start with arduino it will learn you how to use arduino products, but not how to use microcontrollers.
Note that the faster way to code something and the best way to do it are different things.
PS: in my opinion spending money on Nano, Uno, Due and other marketing arduino stuff is a big waste of money. It's better to spend a little bit more time to learn with some STM32 board. You will get much faster MCU and much more hardware features at much cheaper price and you will not be tied to the arduino market platform.
If you're planning to learn microcontrollers for professional use,
I strongly don't recommend to start with arduino.
But if you're don't planning to code for microcontrollers professionally, and just want to play with some electronic stuff for a short period of time, arduino platform may be the best solution for you, because it allows to use it with no knowledge at all, but at the price of much higher cost.