Hello. Especially Arduinschiki! Yes Yes. Arduinschiki future. You will ask why? Yes Easy.
PS: Who does not like to read, for those there is a video version on the YouTube channel Alex Link.
Let's start with the fact that I am not a programmer by training, and I started with the Z80 processor on the Spectrum (Leningrad or Sinclair), there are many names but one meaning. ')
Yes, indeed, Basic was very slow, the picture on the screen deduced for 15-30 seconds, and on machine code (in assembler) and you do not have time to blink, as loaded on the screen. And besides, before there was a variety of compilers, and what kind of compiler if I only have Spectrum. What to compile? For example, I took a reference book and wrote out the command codes for the algorithm according to a predetermined algorithm, and put them manually in memory cells, or I wrote a program for sequential data entry into memory in BASIC.
I went through this whole school and understand perfectly well what and how it works. Since then, much has changed, the whole Spectrum can fit in one controller. Every day, controllers are gaining power. But our programmers, for some reason, slow down. They spent half their lives blinking with the LEDs on the first controllers. Many people Attiny13 rise to the skies, since it is possible to collect a lot of different devices on it, I will not argue with these. But as soon as there was a question to repeat these devices, we observe a huge number of forums shouting for help ... At the heart of the problem is to set the fuses correctly, and of course the problem is to assemble a working programmer. This is not only with the Attiny13 controller ... Also ATmega8 went to the Arena. Wow !!! The whole 8kb of memory !!! Its cool!!! It is possible to create it !!! ATmega8 stays on the arena for a long time and confidently like Windows XP. But progress does not stand still and programmers can afford ATmega328, but not always, always struck one thing - you can spend $ 4 on a beer at the grocery store and not think about the price, but in a radio store, why is it a pity $ 1 per controller. Unfortunately, this is almost all true. What happens next? Who did not have time, he was late. Who has been programming since childhood, he has become a super programmer, but whoever has booze and smoked, he can only see the brainchild of the Gods (programmers). Everyone admires them, LEDs lit up smoothly, digits were displayed on the 7th segment indicators, Wow !!! And yes, they also measured the temperature and miraculously managed to connect some screen from the cell phone, playing for a long time with the registers (but these are only favorites). Yes, but what to do To all those people who have not gone all this way, but want to create something of their own, and let it not be difficult. Back to the very beginning? To the most primitive controllers ?, to understand how registers work and how, for example, to set flags, and it’s important to study all the fusion modes, the main thing is to protect your diode blinking program from copying by burning the next fuse. The blessing with the advent of the Internet in every home and already in every smartphone you can read this article, and not least you can study without visiting the library in search of reference books, and not just look at naked bodies. What is the plus of this, what is the minus. Studying demand and desire to learn, the Arduino platform goes on the arena on the same ATmega328 controllers (well, the first was 168 and ATmega 8). The terrible and incomprehensible code (let's say “the language of the Gods”) becomes an accessible and easy to understand programming language. Thanks to the simplicity and accessibility of the platform, hundreds of thousands of young volunteers have learned and continue to learn the world of programming and creating devices of varying complexity. What can I say, I myself, in 1 month from the flashing of the LED, reached the finished device on the touch-screen color screen. Moreover, it has been working stably for about 3 years. And this is only for 1 month, in the place of the evening, watching TV. At that time, my device shocked the old-time programmers who were still playing with 1602-type screens.
Naturally, when a programmer spent his whole life (or part) on studying architectures and all the nuances of a controller, a schoolboy comes in and does it all from scratch, spending 1 day. The "squealing" of programmers against Arduino is similar to postmortem convulsions. They just understand that their era has passed, they are not the gods who can do anything. Now they are no longer worshiped as they used to, and any student can download the firmware for any device and flash it without special skills. There are a lot of “screams” from programmers about Arduino “slowing down”, but no one remembers or wants to recall such libraries as Cyberlib, where everything has already been sped up, and everything also remained comfortable in the IDE shell. Many do insert C in the IDE shell. but this is still the same Arduino, and they have provided this opportunity, for those gourmets who need, well, very quickly. Although the usual Arduino, enough for almost all tasks. And it is not necessary to delve into the commands, registers, flags. Need more speed? !!! need efficiency? !!! Please, many corporations like Intel and Google are collaborating and releasing their versions of not very weak controllers up to 1 GHz. And then an experienced programmer will fall into a dead end ... he will need to study the processor architecture, commands, and registers, etc. This is still half the life. And agree that there are already more registers and teams, and the architecture is more complicated. But the schoolboy Arduinschik on such an Arduino will assemble in a matter of minutes a project that the programmer never dreamed of. According to your logic, you need to study ARM Cortex A8 (A10 -20) with its Mali 400 graphics processor, so that something serious can be written on the Arduino. Please study I will use ready-made libraries and developments. And believe me, I will spend less time creating a device than you. Although, you are forbidden to use such technologies until you learn each register and flag, because you need speed. It all fits to the same beer. If you need speed, then buy a controller faster. The Arduino platform has captured controllers such as the STM32 and Wi-Fi modules ESP8266. Yes Yes!!! the student does not need to study the architectures of all of these controllers, he simply chooses the correct controller for his requests, and without any special “straining” programs, enjoying the creation of the program and the finished result in a short time, and notice there is no longer 16 MHz. And you are the former gods ... just continue to "squeal" in the direction of the Arduino, poking at the same primitive ATmega328.
Face it. You are outdated with your views, and you are no longer monopolists in the field of programming. It remains for you to talk like grandmothers near the porch, “There used to be times.” Although not ... In connection with the growing popularity of Arduino, you still have a choice: - Either sit and scream as grannies, or be in the trend, and try to help optimize Arduino platforms, make your useful contribution to society. I respect those programmers who create and develop the Arduino platform, which at least somehow influenced the development and implementation of it to the masses. Thanks to them, many people can show their creativity, and get the desired gadgets created with their own hands without resorting to orders of super expensive programmers.
I myself have repeatedly turned to programmers, for which I was called transcendental prices and order quantity not less than 100 pieces. Always hit one more moment ... we buy phones more and more steeply, from monochrome - push-button to color touch, eight-core. Why do you not mind buying a phone before and above $ 100, and when it comes to the controller, we are looking for where it is 10 cents cheaper and trying to squeeze out all the juice from it. Think about it.
So the Arduino is cool !!! Remember, under any task there is a controller !!! Do not try to save $ 1 on the controller by spending several months studying commands and registers to write more compact and fast code. Save better on beer and cigarettes. Today, ATTiny 13 and Atmega8 are no longer relevant, due to their prices and power. Do not live past, step into the future. With you Was Alex Link. Good luck to you!!!