Since we have Arduino with all the shields for it and the enormous amount of cheap, compatible break-out boards for sensors, motor drivers and what not, we see people doing great projects with these high-level modules. They don’t design a circuit from scratch with transistors, resistors and ICs, solder it all on a board and debug it; no, they want faster results without the hassle. And can you blame them? Of course not. The Arduino “ecosystem” allows people to concentrate on the application and achieve results quicker.

Python does to programming as what Arduino did to electronics engineering: make things easy. Not so much by themselves – let’s face it, Python is as unreadable as any other programming language and Arduino is a crappy design – but because users have created a huge amount of supporting modules for it. These modules make that, like Arduino users, Python users too can focus on their application instead of typing in software equivalents of transistors, resistors and ICs. Need a function? Download a module from the Internet.

Of course, Python applications would be much more efficient if they were hand-written in assembler just like the many Arduino projects that can also be done with three hand-picked transistors and a drop of solder, but who cares? Ninety-nine percent of the projects done like this are one-offs anyway; the only thing that matters is the result, not how we got it.