![](https://habrastorage.org/getpro/habr/post_images/a4e/1fa/6e5/a4e1fa6e5fbb85dd68fc36362913bcbb.jpg)
Raspberry Pi
Из этого материала вы узнаете о том, почему Raspberry Pi имеет смысл рассматривать как компьютер, подходящий для разработчика ПО. Здесь же мы поговорим о выборе интегрированной среды разработки (integrated development environment, IDE). Среди рассмотренных IDE можно найти инструменты для программирования практически на любом языке.
Почему Raspberry Pi отлично подходит в качестве настольного компьютера программиста?
Raspberry Pi, скромный одноплатный компьютер размером с кредитную карточку, скрывает в себе гораздо большую вычислительную мощь, чем кажется на первый взгляд. Так, например, хотя новый Raspberry Pi 4 и не крупнее сравнимых моделей предыдущих поколений, он несёт в себе много улучшений. В нём больше памяти, которая быстрее, чем раньше. Есть варианты с 1, 2, 4Гб RAM, а через некоторое время после выхода появился и вариант с 8Гб памяти. В Pi 4 имеется новая однокристальная система Broadcom BCM2711 и четырёхъядерный 64-битный процессор Cortex-A72 ARM v8, работающий на частоте 1,5 ГГц. В распоряжении пользователя есть пара USB 2.0-портов, два HDMI-порта, способных выводить 4K-видео, двухдиапазонный Wi-Fi-адаптер, Bluetooth 5.0 BLE. Raspberry Pi обладает всеми атрибутами нормального настольного компьютера.
Я, в качестве эксперимента, неделю, в роли настольного компьютера, пользовался Raspberry Pi с 4 Гб памяти. Я с лёгкостью справился со всеми своими обычными делами. Я писал тексты, редактировал изображения и аудиозаписи, смотрел веб-страницы, открывая кучу вкладок браузера. Raspberry Pi достойно справился с этими задачами. А если в таком же качестве использовать 8-гигабайтный вариант платы, то можно будет совершенно спокойно работать, запуская сразу много программ. При таком раскладе скорее окажется так, что работой будет перегружен процессор, но забить под завязку память, вероятно, не удастся. Для Raspberry Pi существует множество дистрибутивов Linux. Поэтому перед нами — отличный миниатюрный компьютер, который можно приспособить под решение самых разных задач. Если поставить на Pi с 4 или 8 Гб памяти какой-нибудь 64-битный дистрибутив Linux, вроде Ubuntu или Raspberry Pi OS (ранее эта ОС называлась Raspbian), можно будет на полную мощность задействовать ресурсы памяти устройства и запускать 64-битные приложения. В результате оказывается, что у программиста, который решил сделать этот компьютер рабочей машиной, есть возможность воспользоваться целой кучей IDE.
У того, что на базе Raspberry Pi можно создать отличный компьютер для программиста, есть несколько причин:
- Множество совместимых дистрибутивов Linux.
- Доступность.
- Маленькие размеры.
- Отличное соотношение цена/качество.
- Наличие массы IDE.
Geany: лучшая многоязычная IDE
![](https://habrastorage.org/getpro/habr/post_images/dc7/aaf/e78/dc7aafe78885a6044f63ef7574eec036.png)
Geany
Geany — это нетребовательная к ресурсам и весьма функциональная IDE, пользовательский интерфейс которой, очень хорошо сделанный, основан на GTK+ и Scintilla. Это — универсальная система, поддерживающая несколько языков программирования. В частности — PHP, Java, Perl, Ruby, C++, C и C#. Geany может похвастаться множеством различных полезных возможностей. Среди них — автозавершение ввода, подсветка синтаксиса, возможность сворачивания и разворачивания блоков кода. Эту IDE, потребляющую немного системных ресурсов и дающую возможность писать на множестве языков, можно признать лучшей интегрированной средой разработки для Raspberry Pi.
Среди основных особенностей Geany можно отметить следующие:
- Поддержка множества языков (PHP, Java, Perl, Ruby, C++, C#).
- Автозавершение ввода, подсветка синтаксиса, работа с блоками кода.
- Скромные системные требования.
BlueJ: лучшая IDE для Java
![](https://habrastorage.org/getpro/habr/post_images/a1e/816/635/a1e816635073ada1c4d9fbb4ca3624ea.png)
BlueJ
BlueJ — это замечательная IDE для Java-разработчиков. Она отличается простым и удобным интерфейсом, существует её портативный вариант. Это — хороший инструмент для тех, кто занимается объектно-ориентированным программированием. BlueJ, помимо написания кода, позволяет выполнять программы. Изначально эта IDE была создана в качестве инструмента для обучения программированию Поэтому она подойдёт начинающим и опытным разработчикам. Учебное прошлое IDE видно, например, в её возможности визуализировать разные сущности и процессы вроде классов, объектов и вызова функций. А опенсорсная библиотека Pi4J из Java SE позволяет работать с аппаратным обеспечением, подключённым к компьютеру.
Среди основных особенностей BlueJ отметим следующие:
- Поддержка Java.
- Отличная приспособленность для объектно-ориентированного программирования.
- Наличие большого количества справочных материалов (вроде книг и документации), хорошая техподдержка.
Thonny: лучшая IDE для начинающих Python-разработчиков
![](https://habrastorage.org/getpro/habr/post_images/d03/dbf/d39/d03dbfd390b751a70aa5818d96f4a662.png)
Thonny
Thonny — это продвинутая Python-IDE, которая хорошо подходит для новичков. Хотя пользоваться ей вполне могут и профессионалы, некоторые черты этой IDE говорят о том, что она особенно хороша для начинающих питонистов. Она даёт в распоряжение программиста возможности по пошаговому выполнению выражений, средства визуализации стека вызовов и множество других полезных мелочей. Если новичок возьмёт всё это на вооружение — он не только улучшит свои навыки Python-программирования, но и будет лучше понимать то, что происходит во время выполнения кода.
Вот главные особенности Thonny:
- Поддержка Python.
- Простой в использовании отладчик.
- Удобство для новичков.
- Вычисление выражений.
- Подсветка синтаксических ошибок.
- Вспомогательные средства, помогающие разобраться в коде.
Ninja-IDE
![](https://habrastorage.org/getpro/habr/post_images/7bc/03c/e78/7bc03ce780d3125c76f37fa1ce985a97.png)
Ninja-IDE
Редактор кода Ninja-IDE описан на его сайте как «Not Just Another IDE» («не просто ещё одна IDE»). Это — IDE, написанная на Python, которая просто восхитительно работает на Raspberry Pi. Nindja — это до крайности нетребовательный и приятный редактор кода, который подходит для разработки на многих языках, в число которых входит и Python. Например, здесь имеется очень удобное средство для поиска нужных фрагментов кода. Вызывается оно комбинацией клавиш
CTRL + K
. Тут, кроме того, есть поддержка множества других полезных возможностей, что делает Ninja отличным выбором для программиста. Среди того, что умеет Ninja, можно отметить автоматическую расстановку отступов, работу с файлами, подсветку ошибок в соответствии с PEP 8. Более того, в Ninja есть инструменты для управления проектами, этот редактор поддерживает целую кучу плагинов.Вот главные особенности Ninja-IDE:
- Скромные системные требования.
- Подсветка ошибок.
- Мощные средства для поиска фрагментов кода.
- Автоматическая расстановка отступов.
- Инструменты для управления проектами.
- Множество плагинов.
Greenfoot: лучшая IDE для новичков
![](https://habrastorage.org/getpro/habr/post_images/263/84d/044/26384d044fba7c475aeb626b4382d1ed.png)
Greenfoot
IDE Greenfoot основана на Java. Она ориентирована на обучение программированию. Поэтому в ней можно найти много приятных мелочей вроде системы автозавершения кода и подсветки синтаксиса. Greenfoot отличается чрезвычайно интерактивным интерфейсом, который легко освоить. Хотя этой IDE вполне могут пользоваться и опытные разработчики, она лучше всего подойдёт для, так сказать, «зелёных» программистов.
Вот основные особенности Greenfoot:
- Ориентированность на новичков.
- Эта IDE основана на Java.
- Поддержка Java.
- Встроенные средства для управления проектами.
- Автозавершение кода, подсветка синтаксиса, автоматическое исправление ошибок.
IDE Lazarus
![](https://habrastorage.org/getpro/habr/post_images/c1d/824/c6a/c1d824c6a40482db8710a6052cf5efd5.png)
Lazarus
Отличная IDE Lazarus, которую можно запустить на Raspberry Pi, отличается кроссплатформенностью и бесплатностью. Она использует компилятор Free Pascal и прекрасно подходит для быстрой разработки. А именно, код она компилирует очень быстро, поддерживает кросс-компиляцию. Код она тоже выполняет с весьма высокой скоростью. Lazarus поддерживает анализ производительности кода. В ней имеется множество встроенных компонентов, а если их окажется недостаточно, то можно найти дополнительные компоненты в файлах пакетов Lazarus. Перед нами — хорошо документированный опенсорсный проект, поддерживающий множество языков программирования.
Среди особенностей Lazarus можно отметить следующие:
- Быстрая компиляция и быстрое выполнение кода.
- Удобство использования.
- Поддержка визуального режима разработки, множество встроенных компонентов, возможность использования дополнительных компонентов.
- Использование Free Pascal.
- Поддержка множества языков.
Adafruit WebIDE: лучшая браузерная IDE
![](https://habrastorage.org/getpro/habr/post_images/4f0/5dd/a9f/4f05dda9f42ca4a76030a66c3bed583f.gif)
Adafruit WebIDE
Большинство IDE нужно загружать и устанавливать. А вот Adafruit WebIDE — это интегрированная среда разработки для Raspberry Pi, основанная на веб-технологиях. Вот видеодемонстрация этой IDE. Учитывая то, что эта IDE работает в браузере, она отлично подходит для программирования на Chromebook и даже для разработки программ на планшетных компьютерах. Adafruit WebIDE может компилировать код, написанный на разных языках программирования. Среди них — JavaScript, Ruby и Python. Но то, что эта IDE работает в браузере, не значит, что она бедна возможностями. Работая с ней, код можно загружать в Git-репозиторий. Здесь даже имеется встроенный отладчик и система, упрощающая перемещение по коду.
Среди основных особенностей Adafruit WebIDE можно отметить следующие:
- Работа в браузере.
- Поддержка загрузки кода в Git-репозитории.
- Простые компиляция и запуск кода.
- Наличие отладчика и удобных средств для перемещения по коду.
Code::Blocks: лучшая IDE для начинающих C++-программистов
![](https://habrastorage.org/getpro/habr/post_images/d85/0e8/6f3/d850e86f35ded138011a44426fa34096.png)
Code::Blocks
IDE Code::Blocks ориентирована на C++. Это — бесплатный, опенсорсный, кроссплатформенный проект. Эта IDE поддерживает множество компиляторов, таких, как Clang, Visual C++ и GCC. Это — мощная, но, в то же время, простая и удобная среда разработки. Среди её возможностей — подсветка синтаксиса, автозавершение ввода, поддержка плагинов, возможность работы с блоками кода. Тут имеется интеллектуальный отладчик, с помощью которого удобно искать причины программных ошибок. Хотя эта IDE была создана для разработки на C++, в список поддерживаемых ей языков входят ещё C и Fortran.
Вот её главные особенности:
- Интеллектуальный отладчик.
- Отличная поддержка компиляторов, среди которых можно отметить C++, GCC, Visual C++, Intel C++, Watcom, Borland C++.
- Поддержка C, C++ и Fortran.
- Подсветка синтаксиса.
- Форматирование кода, автозавершение ввода, работа с блоками кода.
- Поддержка плагинов.
Итоги
Хотя на рабочих столах программистов обычно встречаются компьютеры, работающие под управлением macOS, Linux и, что там говорить, даже Windows, Raspberry Pi при решении многих задач выглядит на их фоне вполне достойно. Это — отличный вариант второго компьютера. На базе Raspberry Pi можно сделать «песочницу» для всяких экспериментов, эта система вполне может стать и первым компьютером, скажем — для ребёнка, который учится программировать. Существует огромное количество различных IDE, которые позволяют использовать Raspberry Pi для написания кода на практически любом языке программирования. Среди этих IDE есть самые разные проекты — от универсальных, до узкоспециализированных. А некоторые IDE уже встроены в операционные системы, устанавливаемые на Raspberry Pi.
Пользуетесь ли вы Raspberry Pi в качестве рабочей машины программиста?
![](https://habrastorage.org/webt/ou/g5/kh/oug5kh6sjydt9llengsiebnp40w.png)
![](https://habrastorage.org/webt/3p/iw/1j/3piw1j3wd_cgmzq9sefgferaumu.png)
al_sh
Для того, что бы пользовать 8Гб. PI4 нужно, для начала иметь норм. 64бит. ось. Для 4-ой малины mmal/omx сломали, а KMS толком не завезли (FakeKMS не в счет). 2/3 юзерлэнда не собирается под 64бита (что и понятно, учитывая, что основная ось запускается из под, некой, закрытой, крутящейся на гпу оси).