Новые книги

Arduino — стандартный микроконтроллер, получивший широкое признание у инженеров, мастеров и преподавателей благодаря своей простоте, невысокой стоимости и большому разнообразию плат расширения. Платы расширения, подключаемые к основной плате Arduino, позволяют выходить в Интернет, управлять роботами и домашней автоматикой.

Простые проекты на основе Arduino не вызывают сложностей в реализации. Но, вступив на территорию, не охваченную вводными руководствами, и увеличивая сложность проектов, вы быстро столкнетесь с проблемой нехватки знаний — врагом всех программистов.

Эта книга задумана как продолжение бестселлера «Programming Arduino: Getting Started with Sketches». Несмотря на то что эта книга включает краткое повторение основ из книги «Programming Arduino», она познакомит читателя с более продвинутыми аспектами программирования плат Arduino.
Предлагаем вам познакомиться со статьей Гарольда Родригеса (Harold Rodriguez) Краткое введение в программирование на Bash

«Данное введение в программирование на bash прельстило меня своей краткостью и содержательностью. В то же время я изменил несколько примеров, потому что они делали слегка не то, что ожидается новичками. Начинающим текст будет полезен как отправная точка для начала написания скриптов. Опытным — как справочник. Удачного чтения!» Антон Чернышов, переводчик.

Чем неудобны не объектно-ориентированные системы программирования

5.5.8. Чем неудобны не объектно-ориентированные системы программирования

Различия между не объектно-ориентированными и объектно-ориентированными системами программирования в основном связаны не с возможностью выразить в программе требуемую функциональность (согласно теории алгоритмов любая функциональность может быть выражена на каждом языке программирования, либо не может быть выражена ни на одном языке программирования), а с выразительностью языка программирования, удобством составления программ, их отладки и сопровождения.

Целесообразность использования объектно-ориентированных систем программирования связана со следующими обстоятельствами:

  • Выразительность: как было показано на примерах, в не объектно-ориентированной системе программирования программисту необходимо самому отображать операции над объектами (вызовы методов, или объявления подклассов) в явные вызовы соответствующих функций (при использовании объектно-ориентированных окружений это обеспечивается системой программирования).
  • Удобство: в не объектно-ориентированной системе программирования программист вынужден вручную отслеживать иерархию классов при вызове методов и передаче им параметров; при изменениях в иерархии классов, он должен вручную внести соответствующие изменения в программу.
  • Защита от ошибок: в не объектно-ориентированной системе программирования программист должен каждый раз проверять правильность управления методами и объектами, инициализировать новые объекты, предотвращать доступ к приватным атрибутам и методам (в объектно-ориентированных окружениях все это обеспечивает система программирования).
  • Поддержка целостности: при внесении изменений в объявления объектов в не объектно-ориентированном окружении программист должен сам определить влияние этих изменений на программу и соответствующим образом изменить ее (объектно-ориентированные системы программирования обеспечивают это автоматически).

Тем не менее даже в случае разработки прикладных программных систем в не объектно-ориентированных системах программирования использование методологии объектно-ориентированного проектирования этих систем, описанной в данном курсе, существенно упрощает их реализацию и последующее сопровождение.

Назад | Содержание