Linux оболочка для программирования

10 лучших сред разработки (IDE) для Linux

Программирование (а точнее кодинг) — это, по сути, постоянный набор текста, поэтому очень важно найти хороший редактор, обеспечивающий комфортные условия для написания кода. Многие начинают с простых текстовых, но потом переходят на IDE (интегрированная среда разработки), поскольку IDE делает создание кода более удобным и быстрым с помощью автоматического дополнения, всплывающих подсказок, информации о возможных ошибках и средств отладки. Сегодня рассмотрим топ-10 сред разработки для Linux.

Для тех, кто не в курсе Linux — это open-source операционная система, которая используется по всему миру на компьютерах, серверах, в игровой сфере и т.д. Ее очень любят за безопасность, стабильность, конфиденциальность, продвинутый контроль + здесь подавляющая часть приложений бесплатны. Она предоставляет программистам некоторые преимущества — тот, кто умеет программировать в Linux, сможет без проблем построить карьеру в области системного администрирования и получить хорошую должность на рынке (такие знания будут отличным плюсом в резюме).

Хотя, если говорить о программировании в целом, то не особо важно какой ОС вы пользуетесь — многие из представленных ниже сред разработки под Linux отлично подходят и для Win/Mac. Сейчас даже можно найти разные компиляторы в сети, например запустить то же python онлайн для решения каких-то задач. Хотя локально работать все же быстрее и удобнее.

Выбор того или иного варианта зависит от ваших предпочтений. В списке находятся не все доступные программные продукты и он не является каким-то рейтингом — воспринимайте статью как перечень одних из лучших IDE для Linux, с которыми следует ознакомиться в первую очередь.

1. Eclipse

Бесплатный редактор с открытым кодом, созданный для тяжелой разработки на Java. Может работать с языками программирования: Ruby, Java, C, Perl, Python, PHP, C++ и другие.

  • Поддержка большого количества языков программирования.
  • Много плагинов для расширения возможностей.
  • Инструменты для Java EE проектов.
  • Инструменты для разработки на Java.
  • Среда разработки плагинов.
  • Интеграция с Junit.
  • Поддержка системы Git.

2. Bluefish

Это бесплатный и открытый проект, который ориентирован как на Web-разработчиков, так и на обычных программистов. Может работать с: ASP .NET, HTML5, C++, C, CSS, JS, Pearl, Ruby, Java, PHP, SQL, XML.

  • Быстрый и чистый.
  • Легкий.
  • Поддерживает многопоточность.
  • Неограниченное выполнение команд отменить/повторить.
  • Много разнообразных инструментов.
  • Авто-восстановление после крашей.
  • Мощный инструмент поиска и замены.

3. NetBeans

Бесплатная и открытая IDE от Sun Microsystems. Поддерживает такие ЯП как: Java, Python, C++, C, Ruby, PHP, JavaScript.

  • Удобный интерфейс.
  • Кросс-платформенная.
  • Динамические и статические библиотеки.
  • Мульти-сессионный интегрированный отладчик GNU.
  • Рефакторинг в редакторе, Обработчик классов и навигатор.
  • Поддержка инструментов Qt.
  • Универсальные команды Run и Debug.

4. Zend Studio

PHP программисты используют Zend для быстрого написания кода, легкого решения проблем и свободного интегрирования в облако. Zend Studio, PHP Unit и Composer образуют одно целое и становятся мощным инструментом для мобильных и PHP разработчиков.

Читайте также:  Как объединить диск средствами windows

Работает с такими языками как: HTML, PHP, JavaScript.:

  • Поддержка большинства баз данных.
  • Обнаружение ошибок в реальном времени.
  • Рефакторинг кода.
  • Параметры управления исходным кодом.
  • Локальная и серверная отладка.

5. Komodo IDE

Эта IDE под Linux, созданная в Mozilla, заслужила множество наград. Поддерживает языки программирования: Python, PHP, HTML, Perl, RHTML, C, CSS, C++, JS, Ruby, Django. Основные фишки:

  • Кросс-платформенная.
  • Профилирование кода для PHP и Python.
  • Графическая отладка.
  • Расширенные функции редактирования с многооконным и разделенным видом.
  • Множество дополнений.
  • Много настроек для кастомизации.
  • Отладка и развертывание в Stackato PaaS.

Цена: обычная и образовательная лицензии — бесплатны, а персональная и предпринимательская версии — по 89 и 295 долларов соответственно.

6. Anjuta

Универсальная IDE, которая включает в себя ряд расширенных возможностей, таких как мастер приложений, редактор исходного кода, управление проектами и версиями, профилировщик, отладчик, дизайнер графического интерфейса и другие инструменты. Anjuta предоставляет простой графический интерфейс и достаточные мощности для систематической разработки. Поддержка языков: C и C++.

  • Простой пользовательский интерфейс.
  • Мастер проектов и готовые шаблоны.
  • Интегрированный Glade.
  • Интегрированный DevHelp.

7. MonoDevelop

Эта IDE создана для C#, но также поддерживает другие языки и позволяет разработчикам быстро писать десктопные и ASP.NET Web приложения для Linux. Это кросс-платформенный продукт, который делает простым процесс извлечения .NET приложений, созданных в Visual Studio, в Linux без потери исходного кода.

Может работать с языками: VB, C, C++, Python, C#, Java.

  • Изменяемое рабочее пространство, которое соответствует виду вашего рабочего процесса.
  • Встроенный отладчик.
  • Визуальный дизайнер.
  • Развертывание и тестирование.
  • Объектно-ориентированный API.
  • Инструменты для увеличения возможностей.

8. CodeLite

Бесплатный проект с открытым исходным кодом для разработки на C++ и C под разные платформы. Полезные фишки:

  • Встроенная поддержка GDB, GCC, clang, VC++.
  • Плагины GIT.
  • Подсветка синтаксиса для различных языков.
  • 2 механизма, завершающих код, которые работают одновременно.
  • Просмотр локальных потоков процессора, просмотр дерева и памяти.

9. Kdevelop

Полноценная и расширяемая IDE для C, C++, PHP и Ruby. Основные преимущества:

  • Кросс-платформенная.
  • Используется для KDE/QT разработки.

10. Geany

Хотя Geany имеет базовые возможности IDE, он является текстовым редактором, который работает на GTK2 библиотеке. Он был спроектирован так, чтобы стать маленькой и быстрой IDE. Поддерживаемые языки: HTML, PHP, Java, C, Perl, Pascal, Python.

  • Автоматическое закрытие тегов XML и HTML.
  • Развитая система навигации по коду.
  • Работает на нескольких платформах.
  • Позволяет создавать пользовательские плагины.
  • Свертывание кода и подсветка синтаксиса.
  • Простое управление проектом.

Как уже сказал выше, были рассмотрены далеко не все среды разработки для Linux, есть и другие хорошие решения: IDE от JetBrains, Code::Blocks и Qt Creator. Расскажите в комментариях ниже о тех приложениях, что вы используете у себя.

Источник

О разных командных оболочках Linux и Unix

Наверняка почти все читатели Хабра знают оболочки sh и bash. Так же большинство из нас что-то слышали про zsh и tcsh. Однако на этом список существующих оболочек не заканчивается. Условно можно разделить их на три группы:

  • Клоны Bourne shell (bash, zsh)
  • C shell (csh, tcsh)
  • Базирующиеся на популярных языках программирования(psh, ipython, scsh)
  • Экзотические, специфические и все остальные
Читайте также:  Calculate linux vs sabayon

О наиболее интересных из них и пойдет речь.

Целью написания статьи не был обзор или классификация всех существующих командных оболочек. Просто хочу рассказать о некоторых интересных продуктах в этой области, расширить кругозор читателя. Буду рад. если этим сподвигну кого-то к более детальному изучению темы или даже к тому, чтоб перейти на другой шел.
Сначала коротко о том, что же это такое. Командная оболочка или командный интерпретатор- это приложение предоставляющее пользователю интерфейс командной строки в которой тот либо вводит команды по отдельности, либо запускает скрипты состоящие из списка команд. Устно и в неофициальных текстах часто называется «шел», от английского shell — оболочка.

Наибольшее распространение получили POSIX-совместимые оболочки, ведущие родословную от Bourne shell (шелл Борна), поэтому с него и начнем

Bourne shell и его клоны

Bourne shell, исполняемый файл: sh. Командная оболочка названная в честь своего создателя Стивена Борна. Большая часть операторов была заимствована им из языка Алгол 68. Вышла в 7-м издании операционной системы UNIX, где была оболочкой по умолчанию. До сих пор подавляющее большинство Unix-подобных систем имеют /bin/sh — символическую или жесткую ссылку на sh-совместимую оболочку.

Bourne again shell, исполняемый файл: bash. Название можно перевести, как «Возрождённый шел Борна». Скорее всего самая популярная оболочка на сегодняшний день. Де-факто стандарт для Linux. Не буду на ней останавливаться, т.к. в интернете много хороших статей про bash. Например вот и вот.

Z shell, исполняемый файл: zsh. Свободная современная sh-совместимая оболочка. Имеет ряд преимуществ перед bash касающихся в основном работы в интерактивном режиме. О ней на Хабре писали тут и тут
Кроме того существует довольно много оболочек попадающих в эту группу: Korn shell (ksh) и Almquist shell (ash) etc но не будем подробно на них останавливаться.

C shell

C shell, исполняемый файл: csh Командная оболочка разработанная автором vi Биллом Джоем. За основу для скриптового языка csh был взят, как понятно из названия, язык C. Т.к. на тот момент, в 1978 г., это был наиболее популярный язык программирования среди разработчиков и пользователей BSD UNIX. В настоящий момент более популярна свободная реализация csh — tcsh.

TENEX C Shell, исполняемый файл: tcsh. Именно в tcsh когда-то впервые появилось автодополнение. Является оболочкой по умолчанию в FreeBSD. Подробнее о ней почитать можно здесь.
Для того чтоб наглядно показать разницу в синтаксисе приведу несколько примеров скриптов делающих одно и то же для csh и sh-совместимого командного интерпретатора.

Множественное ветвление (Переключатель, Swich/case):

Цикл вычисляющий 10 первых степеней двойки:

Однако список фичь поддерживаемых свежими версиями bash, zsh и tcsh очень похож и выбор конкретной оболочки по большей части дело вкуса. С менее распространенными оболочками дело обстоит иначе. Тут различия существеннее.

Читайте также:  App клиент для windows
Командные оболочки, базирующиеся на популярных языках программирования.

Perl Shell, исполняемый файл: psh. Оболочка сочетающая в себе функции вышеупомянутых оболочек и мощь языка Perl. Т.к. psh написана на perl она может запускаться даже на Windows. Несколько примеров использования psh:

Scsh, исполняемый файл scsh. Командный интерпретатор с открытым кодом использующий в качестве скриптового языка Scheme 48. Не поддерживает стандартные для других оболочек функции (история команд, редактирование текста в командной строке, дополнение путей/команд). Рекомендуется написания скриптов, но не для интерактивной работы. Может прийтись по вкусу любителям функционального программирования. Ниже приведен пример скрипта, который выводит имена всех исполняемых файлов находящихся в каталогах из переменной окружения PATH

IPython. Это интерактивная оболочка для языка программирования Python, имеющая ряд дополнительных функций. IPython имеет специальный профиль для работы в качестве системной командной оболочки. Способ запуска этого режима зависит, как я понял, от версии, но на моей машине это выглядит так:
ipython3 —profile=pysh

О IPython уже написано довольно много в том числе и на русском языке (ссылки в конце статьи). Постараюсь перечислить его основные фичи с точки зрения применения его как командной оболочки:

  • Кросплатформенность. Есть даже версия под Windows
  • Python версий 2.x или 3.x в качестве скриптового языка, расширенные возможности интроспекции
  • Автодополнение кода Python а так же имен файлов и системных команд.
  • История команд и макросы на ее основе
  • Механизм ускоряющий навигацию по каталогам, закладки и многое другое

Как видите, по своим интерактивным возможностям IPython как минимум не уступает bash. Что же касается скриптов, то IPython будет удобен тем, кто знает python лучше чем bash. По сути скрипты на IPython будут отличаться от чистого питона только упрошенным вызовом системных команд. Приведу несколько примеров интеграции python и системных команд:

Остальные

Конечно это не полный список даже популярных оболочек. Помимо вышеперечисленных категорий существуют ещё использующие собственный синтаксис, не совместимый с sh и не копирующий существующие ЯП . Примером может служить friendly interactive shell (fish). Но на последок хотел бы рассказать не о ней, а более специфической sleepshell.

Sleep Dummy Shell, исполняемый файл: sleepshell. Строго говоря командным процессором sleepshell назвать нельзя, т.к. он не умеет обрабатывать команды. И вообще не умеет ничего, кроме как периодически записывать в стандартный вывод звёздочки «*». Однако используется она именно в качестве командной оболочки и вот для чего: Допустим мы хотим предоставить кому-то возможность делать тоннели ssh через наш сервер под управлением Linux или Unix. Подробнее про ssh-туннелирование читаем тут. Но нам не нужно при этом, что этот кто-то получил доступ к командной строке и файловой системе нашего сервера. Для такого случая и предназначена sleepshell. Создаем на сервере аккаунт в качестве шела для него устанавливаем sleepshell. Владелец аккаунта сможет подключаться и пробрасывать порты, но не сможет выполнять команды.

На этом всё. Надеюсь, что было интересно. Буду рад любым замечаниям и советам по тексту статьи.

Источник

Оцените статью