Arduino and Raspberry
Програмирование - это процесс написания кода в результате которого програмист пишет текст. Этот текст состоит не только из букв и цифр, но и включает в себя функции, операторы, переменные. Сейчас не актуально выбирать сферу деятельности не связанную с информационными технологиями. Во многом насколько ты эффективно овладел навыками програмирования будет зависеть твой личный успех. Програмирование - это не работа, это образ жизни, даже я бы сказал мировозрение человека. Стоять за станком, водить фуры и прочие трудовые задачи человека, забирает роботизированная автоматика, логистический центр Амазон тому пример. Количество людей в котором для выполнения основных задач сведенно к минимуму.
Однако все это не новый день, это вчера. Се творю все новое, в этом смысл самовоспроизводства роботов, электронный мозг научиться думать сам, то есть роботы не только начнут ремонтировать сами себя , но и воспроизводить себя, делая каждого робота уникальным, наделяя особенной душой прошивкой. Физический труд который в течении многих тысяч лет кормил человека уходит в общество не осознаных. Люди которые не вовлеченны в физический труд должны затачивать скилы програмирования, в виду увеличения свободного времени.
Програмирование не работа, програмирование симбиоз творчества, математики и техники. Задача програмирования создание вещей которые еще не придуманы, проведение дофаминовой детоксикации мозга. До програмирования мысли в порядок приводила математика с появлением кода, процесс его написания также помогает упорядочить сознание.
Для меня всегда было загадкой как компьютер может разобрать набор слов, цифр и символов. Как из страниц кода появляються интерфейсы программы, как программа взаимодействует с пользователем. В отношении самих комплектующих в целом понятна работа процессора, оперативной памяти, шины передачи данных, накопителей. Однако в отношении Softa сложно ответить как работает операционная система. Для понимания этого необходимо затронуть основы взаимодействия программы и устройства. Для этого был создан язык ассемблера, но до ассемблера были машинные коды.
Машинные коды позволяют посредством нулей и единиц цифрового мира связаться с миром физическим, в котором взаимодействие происходит на уровне напряжений высоко и низкого уровня. Как раз в таком взаимодействии единица это высокий уровень напряжения, а ноль низкий уровень. Соответственно по аналогии с азбукой Морзе (такой же двоичный код - точка, тире) чередованием нулей и единиц можно записать все нужное. Програмированию необходимо учиться.
Далее машинные коды эволюционировали в ассемблер, о самом ассемблере как о языке низкого уровня мы поговорим в следующей главе.
Совершенная технология не отличима от магии. Языки програмирования высокого уровня такие к примеру как С++ и Python позволяют програмировать все от микроконтроллеров до операционных систем.
Сейчас помимо софта для начинающих в програмировании к примеру такого как Scratch cуществуют физические компненты такие как микроконтроллеры к примеру Arduino, ESP в которых среда разработки IDE написана на языке С.
Начиная с програмирования микроконтроллеров в целом осваивание на практике языка програмирования С помогает вдальнейшем перейти на програмирование одноплатных компьютеров Orange PI, Raspberry pi далее на которых вполне реально осваивать Python. Специально для языка Python существуют готовые фреймворки, это значит, что этот язык програмирования уже портирован на одноплатные компьютеры. В самой системе Rasbian уже есть Python.