Page 104 - 1156_Arduino-Polnyy-uchebnyy-kurs-ot-igry-k-inzhenernomu-proektu
P. 104
Глава 5. Язык программирования раммирования
Г лава 5. Язык прог
Wiring
Wiring
5.1. Введение в язык Wiring
Из третьей главы вы знаете, что в первых версиях программ-
ной среды Arduino IDE использовался язык программирования
Processing. Он основан на Java — одном из самых востребованных
современных языков программирования. На нем можно писать се-
рьезные проекты, например большие программы или игры (кста-
ти, популярный движок браузерных игр Unity написан на Java).
Однако у Java и его модификаций, включая Processing, существу-
ет большая проблема с распределением ресурсов и требованиями
к ним.
Микроконтроллеры имеют небольшую свободную память и сла-
бые вычислительные мощности, поэтому было принято решение
создать Wiring — модификацию языка C++. Точнее, Wiring явля-
ется фреймворком (англ. framework) — набором библиотек и пра-
вил, частично меняющих основные конструкции и синтаксис язы-
ка. Этот язык менее требователен к ресурсам и более стабилен,
поскольку оснащен автоматической проверкой ошибок обращения
к памяти. С++, в свою очередь, является идейным развитием
и упрощением синтаксиса языка программирования C, используе-
мого при программировании управляющих микроконтроллеров на
производственных роботах. Wiring получил от создателей новые
встроенные функции для простого (с точки зрения программиста)
обращения к электронным компонентам прототипа. Новый язык
сохранил в себе функциональность предшественников, а сни-
жение сложности написания программ позволило приблизиться
к программированию микропроцессоров множеству людей по все-
му миру. Дополнительными плюсами языка являются проверка
и компиляция программы на компьютере, выявление ошибок до
этапа загрузки на прототип, а также большое количество готовых
решений или их элементов в свободном доступе.
Wiring — это язык высокого уровня, т. е. нацелен на взаимо-
действие с человеком и программами. Одновременно он способен
обращаться к аппаратным компонентам как язык низкого уров-
ня и реализует парадигмы (свод нерушимых правил) объектно
ориентированного программирования (ООП) и процедурного про-
граммирования (ПП). Следование принципам ООП подразумева-
6 / 17