Программирование как жонглирование

Недавно осознал, что программировать просто. Также просто, как жонглировать.
ведь для программы любой сложности достаточно возможности выполнять оператор, делать ветвление и циклы. А если Разрешить GOTO, то хватит операторов и ветвления! Шальная мысль пошла дальше, родились ассоциации про жонглирование:

Структурное программирование – жонглирование 3 шарами

ООП – жонглирование пирамидами, шарами, кубами и т.п., внутри которых лежат шары. Опытный ООП программист может одновременно жонглировать 3-7 фигурами произвольной формы. Что включает в себя от 0 до 1000000 шаров

Программирование на фреймворке – подбрасывание вверх конструкции из шаров, подкручивание ее по часовой стрелке или против

функциональное программирование – все шары стоят на месте в разных местах пространства, в зависимости от точки наблюдения и освещения картина шаров меняется, если двигаться вокруг меня свет, кажется, что шары двигаются

метапрограммирование – жонглирование жонглерами

программирование на С++ – жонглирование бусинками из разорванных перламутровых бус. Нужно быстро-быстро перебирать руками. Получается красиво. Учиться долго. Тот кто умеет жонглировать бусинками считает, что может жонглировать всем, чем угодно. Но не жонглирует.

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

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

многопоточное программирование – Ничем не отличается от обычного жонглирования при небольшом количестве шаров. Когда шаров становится больше, они начинают самопроизвольно появляться и исчезать, менять траекторию, зависать в воздухе

инфраструктура – цирк, в котором выступают жонглеры

Добавляйте свои ассоциации!

14520787703_77fa4179ab

Arduino toolchain in OS X

Давно уже не возился с Arduino. Настолько давно, что обнаружил на обоих маках отсутствие тулчейна Ардуино :(

Я предпочитаю программировать Arduino непосредственно на С/C++ без всяких там IDE (если не считать vim за IDE). Как все это установить на мак написано ниже:

brew tap osx-cross/avr
brew install avr-libc
brew install avrdude --with-usb

Более подробно можете почитать тут.

avr-libc собирается довольно долго, не пугайтесь. Более того, оно может падать примерно так:

configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
make: *** [all] Error 2

Это тоже не беда. Просто вы не установили системные хедеры. Это делается так –


xcode-select --install

Подробнее про это

Happy coding!

arduino loves servo

arduino loves servo

Да, собираю я все проекты при помощи Make файла, позаимствованного отсюда и немного доработанного.