на чем писать под linux

Визуальные среды программирования для Linux

NetBeans

QT / KDevelop Designer

Еще одна мощная среда разработки на
платформе KDE и Gnome. Кросс-платформенные C++
приложения выходят только в путь. Для
некоммерческих программ Qt можно
использовать бесплатно, существует
практически для всех дистрибутивов.

Gambas

WYSIWYG редактор для создания web-страниц. Во
многом напоминает редактор Macromedia или все
тот же FrontPage. Поддерживает автоматическую
работу с сайтом по FTP.

Eric

Python и Ruby IDE среда, делающая
программирование на языке довольно простым
и увлекательным. Написанная собственно на
Python.

Eclipse

Более подробно о среде ты можешь
прочитать в нашем Спеце: http://www.xakep.ru//magazine/xs/065/048/1.asp

JDeveloper

Planner

Ну и наконец визуальная среда управления
проектами для Gnome Desktop. Не менее полезная
программа для программистов чем IDE.

Источник

Популярные языки программирования Linux

Linux быстро развивается и становиться все популярнее, особенно в связи с тем, что сокращается использование Windows, а также множество программистов работают над продвижением Linux, создавая новые программы для настольных компьютеров, которые будут эквивалентны или даже лучше приложений в Windows и Mac OS X.

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

В этой статье мы рассмотрим самые популярные языки программирования для Linux. Рассмотрим те, на которых разработана эта операционная система и те, которые используются для создания приложений. На самом деле список не отсортирован по степени важности, все используемые здесь языки хороши. Все они кроссплатформенные, и вы можете написать на них программу для любой из доступных операционных систем.

Я не преувеличу, если скажу, что этот язык был создан для этой операционной системы. Это уже старый язык. Он создавался в семидесятых годах инженером из Bell Labs Денисом Ритчи специально для написания ядра Unix. Дело в том, что в те времена программы и операционные системы писались на ассемблере и нужно было для каждой архитектуры писать программу отдельно, потому что наборы инструкций отличались. Разработчикам Unix нужен был высокоуровневый язык программирования, на котором они смогли бы написать Unix один раз и собирать его для всех платформ. Таким языком стал Си.

Ядро Linux, основано на Unix, а поэтому тоже написано на Си, также на Си реализованы все модули ядра, драйверы, а также огромное количество системного программного обеспечения. Если вы задавались вопросом, на чем написан Linux то теперь знаете ответ. На Си разработаны множество утилит из набора GNU, X сервер, набор библиотек для работы с графикой GTK и многое другое, некоторые оконные менеджеры. Но для написания новых программ Си используется все реже, ему на замену пришла его объективно ориентированная модификация С++.

Это усовершенствованная версия Cи, появился он ненамного позже си. В 1980 году Бьёрн Страуструп работал над своим исследованием и ему не хватало стандартных возможностей Си, поэтому он придумал к нему пару улучшений. Неожиданно этот язык стал популярен среди его коллег и он уже не мог сам следить за его развитием.

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

Си и С++ наиболее популярные языки программирования для Linux.

3. Python

К тому же на Python написано бесчисленное количество системных скриптов и утилит для управления Linux. Это утилита apt для установки программного обеспечения в Ubuntu, пакетный менеджер Emerge в Gentoo и еще огромное количество небольших скриптов. Причина тому простота языка. Программист тратит на программу несколько часов, а она отлично работает несколько лет.

4. Perl

Много старого кода в Linux написано на Perl, это различные скрипты сборки ядра, часты пакетного менеджера dpkg, скрипты системы инициализации и многое другое. Из современных программ, написанных на Perl можно отметить скрипт просмотра информации о системе inxi. Как правило, всё новое пишется на Python, но переписывать старое особого смысла нет.

5. Язык командой оболочки

Команды терминала Linux позволяют не только выполнять повседневные операции в интерактивном режиме, но это также полноценный язык программирования с поддержкой самых простых управляющих конструкций. Наиболее распространенная оболочка Bash (Bourne Again Shell) Больше всего скриптов написаны именно на ее синтаксисе, но есть и другие, например, тот же fish, sh, zsh, dash и т д.

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

6. Другие языки

Большинство программ в Linux написано с использованием языков программирования, перечисленных выше. Они самые популярные, однако существуют и другие, менее используемые. Но тем не менее написанные на них программы могут выполнятся в Linux.

Выводы

Это далеко не все языки программирования linux, которые используются для создания программ в Linux, очень часто для создания скриптов в последнее время начали использовать новые языки, такие как Dart,Vala и другие. Для своих нужд я использую Python и PHP, а вы пишите программы для Linux? На каких языках программирования? Напишите в комментариях!

Источник

На чем лучше писать прикладные программы, виджеты и другую мелочевку под линукс?

Доброго времени! Собственно интересует сабж. Какое-то время писал под мастдай на плюсах, джаве, скриптил на питоне. Некоторое время назад пересел на линукс и решил в нем закрепиться, вот и задался вопросом по теме. Заранее благодарен за дельные советы.

Читайте также:  программа для ремонта комнаты

То же самое. Плюсы, джава, питон.

AppJS же. Ибо прогрессивно.

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

Хм, не слыхал, но спасибо за наводку, ознакомлюсь 🙂

Для гуй нужно выбрать один из тулкитов, а не gdi как в шинде. Советую Qt, ибо кроссплатформенно.

Да никаких там камней нет для мелочевки. Если что-то серьезное и масштабное, то уже другой вопрос.

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

Чем это так жестко мотивировано?

bash. возможно с kdialog или zenity. возможно с python.

Чем это так жестко мотивировано?

Я тоже присоединяюсь: только Java. Мотивация: золотая середина. И мощно, и просто.

shell. если не хватает, python + pyside (Qt).

Сразу php, чего уж там.

Глобально и надежно!

P.S. ТС, пиши на Qt, т.к. gtk померло, а тормозящего страшного софта и без тебя хватает.

P.S. ТС, пиши на Qt, т.к. gtk померло, а тормозящего страшного софта и без тебя хватает.

Не-а, пусть лучше пишет на Racket: и ЧСВ набухнет, и батарейки все уже есть, как в питоне.

Ни на чём. В Линуксе всё есть.

А почему он у тебя на аватарке такой грустный?

В шинде на gdi не пишут, там тоже десятки тулкитов на выбор, включая qt.

если по быстрому налабать гуевину, то python+qt (pyside, pyqt)

Re: Сразу php, чего уж там.

Что еще произошло хорошего за последний год?

Я тоже присоединяюсь: только Java. Мотивация: золотая середина.
И мощно, и просто.

Как интересно вы сократили фразу «оно просто тормозит даже на мощном железе».

Для GUI можно использовать Tk (он кстати кроссплатформенный и дефолтная тема походит на Motif, но с TTK Ваш гуй станет мягким и шелковистым!)

А я присоединяюсь ко всем тем, кто посоветовал Qt: http://qt-project.org/downloads

Понимаю что ***.js это перспективно, ибо работает на всём, но аффтару топега скорее всего больше подойдет именно Qt + Qt Widgets.

Под Linux оно на НУЛЕ. Это самое последнее что надо советов для перебежчиков на Linux.

Жаль. А в чем конкретно выражается нулевой уровень поддержки WPF?

Это самое последнее что надо советов для перебежчиков на Linux.

Я ж сказал, что не в курсе. Видел все это со стороны, но смотрится сильно лучше, чем Java/Spring или что там.

А в чем конкретно выражается нулевой уровень поддержки WPF?

В том, что нет планов его поддержки в Mono.

Жаль. А в чем конкретно выражается нулевой уровень поддержки WPF?

Полное отсутствие реализации классов + отсутствие планов по созданию + явный запрет от некросовта.

один из тулкитов, а не gdi как в шинде

Квалифицированные красноглазики такие квалифицированные.

Как интересно вы сократили фразу «оно просто тормозит даже на мощном железе».

Как же вы такие надоели. Одно и то же годами. Сменили бы уже пластинку.

В общем решил для себя использовать Qt с плюсами, так же на их сайте нашел QtJambi, чтобы джаву не забывать 🙂 Всем спасибо за советы!

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

на питоне обычно ничего особо серьезного не пишут (сейчас начнется побивание камнями), тут можно и wxWidgetы попользовать, или pyqt, на твой вкус

Лол, C++ и Java. Не слушай виндузятских гуедрочеров, под Linux вся мелочевка пишется на Bash в одну строчку.

Какие такие? Без розовых очков и бананов в ушах?

Одно и то же годами. Сменили бы уже пластинку.

Ну так ява с годами шустрее не стала. Перестал бы софт на яве тормозить, поменялось бы и мнение.

Перестал бы софт на яве тормозить, поменялось бы и мнение.

А насколько сильно по вашему мнению тормозит yEd? И с какими не тормозящими аналогами можно сравнить это Java приложение?

Еще раз благодарю всех за такое обильное внимание и кучу советов. Поглядел, пощупал Qt, вполне понравилось, Qt Creator очень удобная штука, хотя после Code::Blocks как-то не привычно в начале. QML отличная штука для правки формочек. В общем то, что нужно в связке с плюсами. Мелочевку и правда лучше в баше писать ибо куча утилит различных уже имеется в системе, только маны успевай читать 🙂

А насколько сильно по вашему мнению тормозит yEd? И с какими не тормозящими аналогами можно сравнить это Java приложение?

Ну уж qml это не замена wpf, у них разные нишы.

QtJambi все кончился, его не развивают хз сколько лет.

c, perl, gtk, tk, tcl
не слушай этих вендузятников 😉

Источник

5 лучших редакторов кода для программистов в Linux

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

Изучение программирования может быть сложным, но подходящие инструменты немного облегчают процесс. Начав писать прекрасный код, вы можете так увлечься, что забудете обо всем на свете. Но этот волнующий опыт может быть испорчен неправильным инструментарием. Если говорить о машинах, MacBook, пожалуй, лучший выбор для разработчиков, проводящих часы за сплетением кода. Кроме Mac OS, запускаемой на MacBook, есть еще одна платформа, подходящая для создания приложений, и это Linux.

Читайте также:  как узнать какой у меня линукс

На протяжении многих лет Linux развивается и расширяется, отвоевывая долю рынка у Windows. Благодаря усилиям сообщества сегодня существует множество дистрибутивов Linux для самых разных нужд.

Есть даже дистрибутивы, созданные для разработчиков. Однако вам не обязательно переходить на них чтобы использовать редакторы кода из этой статьи.

Эти программы повысят вашу продуктивность благодаря своим продуманным свойствам.

1. Atom

Atom это редактор с открытым исходным кодом, разработанный GitHub. Он подойдет любому разработчику, от нуба до эксперта. Самое большое преимущество Atom заключается в его настраиваемости для любых потребностей и одновременно в возможности начать работу сразу же, не заглядывая в конфиги.

Atom предлагает несколько вариантов настройки для изменения внешнего вида и поведения по вашему вкусу. Если вы знакомы с HTML и JS, вы можете даже наладить вид и поведение внеся некоторые изменения в UI. Все эти свойства делают Atom лидером нашего списка.

Особенности редактора кода Atom

Установка Atom в Linux

Если вы используете Ubuntu или его производные, вы можете установить Atom с помощью PPA, запустив следующие команды:

2. Sublime Text 3

Sublime Text — самый распространенный в сообществе разработчиков редактор кода для Linux. Это легковесный и несложный редактор кода. Sublime Text строится из пользовательских компонентов, что обеспечивает непревзойденную отзывчивость. Благодаря мощному настраиваемому кросс-платформенному инструментарию пользовательского интерфейса с непревзойденным механизмом подсветки синтаксиса Sublime Text высоко устанавливает планку производительности.

Эта программа может использоваться в качестве простого текстового редактора и подсветкой синтаксиса. Подключив дополнительные плагины, вы можете так расширить его функциональность, что он будет способен практически на все, на что способны IDE. Кроме этого в Sublime Text предлагается множество вариантов настройки. Сочетания клавиш, меню, сниппеты, макросы, расширения и многое другое – практически все в Sublime Text настраивается с помощью обычных JSON-файлов. Эта система дает вам гибкость, поскольку настройки могут быть различными для разных типов файлов или разных проектов.

Особенности Sublime Text 3

Вот некоторые из лучших свойств этого редактора:

Установка Sublime Text в Linux

Стабильную версию Sublime Text 3 можно инсталлировать, введя в терминале команды, указанные ниже. Этот способ подходит для дистрибутивов, основанных на Ubuntu и Debian. Если вы используете другие дистрибутивы, такие как Fedora, Arch и Suse, обратитесь к этой странице за инструкциями по установке.

3. Vim

Vim – усовершенствованная версия vi, программы-редактора, поставляемой в большинстве UNIX-систем. Vim часто и вполне заслуженно называют «программистским» редактором. Он очень реконфигурируемый и очень полезен в программировании, поэтому многие считают его целой IDE. Конечно, он подходит не только программистам. Vim отлично справляется с любой редактурой кода, от составления электронных писем до редактирования конфигурационных файлов.

Vim можно использовать как отдельное приложение или запускать в командной строке (это одна из первых программ, приходящих на ум в качестве редактора командной строки).

Особенности Vim

Установка VIM в Linux

Есть несколько способов установить Vim в Linux. Существуют различные инсталляционные файлы, но здесь мы покажем установку через PPA-репозиторий.

Кстати, для облегчения изучения редактора можно запускать vimtutor — пособие и программу для отработки навыков работы.

4. Brackets

Brackets это современный, популярный редактор кода от Adobe, доступный в Linux. Он бесплатен в отличие от другого программного обеспечения Adobe. Если вы веб-разработчик, то вам особенно подойдет Brackets, поскольку он создан с учетом нужд разработки. У этого редактора есть несколько особенностей, которые могут быть расширены дополнительными плагинами. В Adobe работали над Brackets с тем чтобы создать лучший современный редактор кода под Linux.

Brackets после установки уже имеет все функции, обязательные для современного текстового редактора. Основан он на JavaScript.

Особенности текстового редактора Brackets

Скачивание и установка Brackets

5. Редактор Bluefish

Bluefish это больше чем редактор кода. Он кажется скорее современной IDE, как Eclipse и Netbeans. Со своим большим набором функций он может делать практически все то же, что и IDE. Одна интересная особенность Bluefish – интеграция со сторонними программами. Bluefish универсален в плане поддержки различных языков. Он поддерживает Ada, ASP.NET, VBS, C/C++, CSS, CFML, Clojure, D, gettextPO, Google Go, HTML, XHTML, HTML5, Java, JSP, JavaScript, jQuery и Lua.

Особенности Bluefish

Вот некоторые свойства, выделяющие этот редактор кода из общего ряда:

Установка Bluefish

Чтобы установить Bluefish в Ubuntu или основанных на этой ОС дистрибутивах можно запустить следующие команды:

Заключение

Разработчики часто расходятся во мнениях относительно лучшего редактора кода как в целом, так и конкретно для Linux. Приведенные в данной статье редакторы отобраны на основе их производительности, удобства использования и возможностей кастомизации. Вы можете выбрать тот, который больше вам подходит, как из этого списка, так и из не вошедших в него.

Источник

Программирование под Linux

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

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

Читайте также:  модель hdd в linux

1. На чем пишут программы?

Исторически сложилось так, что ядро Unix было написано на языке Си. Даже более того, этот язык был создан для написания ядра Unix. Поскольку ядро Linux было основано на ядре Minix (версии Unix), то оно тоже было написано на Си. Поэтому можно сказать, что основной язык программирования для Linux это Си и С++. Такая тенденция сохранялась на протяжении долгого времени.

А вообще, писать программы для Linux можно почти на любом языке начиная от Java и Python и заканчивая С# и даже Pascal. Для всех языков есть компиляторы и интерпретаторы. Писать программы на С++ сложно, а Си многими уже считается устаревшим, поэтому множество программистов используют другие языки для написания программ. Например, множество системных инструментов написаны на Python или Perl. Большинство программ от команды Linux Mint, установщик Ubuntu и некоторые скрипты apt написаны на Python. Множество скриптов, в том числе простые скрипты оптимизации написаны на Perl. Иногда для скриптов используется Ruby. Это скрипты OpenShift или, например, фреймворк Metasploit. Некоторые разработчики кроссплатформенных программ используют Java. Но основные компоненты системы написаны все же на Си.

2. Библиотеки

Библиотеки делятся на два типа:

Таким образом, для любой программы на Си нужно подключать библиотеки, и все программы используют какие-либо библиотеки. Также важно заметить, на каком языке бы вы не надумали писать, в конечном итоге все будет сведено к системным библиотекам Си. Например, вы пишите программу на Python, используете стандартные возможности этого языка, а сам интерпретатор уже является программой на Си/С++, которая использует системные библиотеки для доступа к основным возможностям. Поэтому важно понимать как работают программы на Си. Конечно, есть языки, вроде Go, которые сразу переводятся на ассемблер, но там используются принципы те же, что и здесь. К тому же системное программирование linux, в основном, это Си или С++.

3. Процесс сборки программы

Перед тем как мы перейдем к практике и создадим свою первую программу, нужно разобрать как происходит процесс сборки, из каких этапов он состоит.

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

Далее к работе приступает компоновщик. Его задача связать объектный модуль со статическими библиотеками и другими объектными модулями. Для каждого исходного файла создается отдельный объектный модуль. Только теперь программа может быть запущена.

А теперь, давайте рассмотрим весь єтот процесс на практике с использованием компилятора GCC.

4. Как собрать программу

Для сборки программ в Linux используется два типа компиляторов, это Gcc и Clang. Пока что GCC более распространен, поэтому рассматривать мы будем именно его. Обычно, программа уже установлена в вашей системе, если же нет, вы можете выполнить для установки в Ubuntu:

sudo apt install gcc

Перед тем как мы перейдем к написанию и сборке программы, давайте рассмотрим синтаксис и опции компилятора:

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

Собственно, это все самое основное, что нам понадобится. Теперь создадим нашу первую программу. Она будет выводить строку текста на экран и чтобы было интереснее, считать квадратный корень из числа 9. Вот исходный код:

int main() <
printf(«losst.ru\n»);
printf(«Корень: %f\n», sqrt(9));
return 0;
>

Я специально добавил функцию корня чтобы показать как работать с библиотеками. Сначала нужно собрать объектный файл. Перейдите в папку с исходниками и выполните:

Это этап компиляции, если в программе нет ошибок, то он пройдет успешно. Если исходных файлов несколько, то такая команда выполняется для каждого из них. Далее выполняем линковку:

Конечно, все эти действия могут быть выполнены и с помощью различных графических сред, но выполняя все вручную, вы можете лучше понять как все работает. С помощью команды ldd вы можете посмотреть какие библиотеки использует наша программа:

Это две библиотеки загрузчика, стандартная libc и libm, которую мы подключили.

5. Автоматизация сборки

Когда мы рассматриваем программирование под Linux невозможно не отметить систему автоматизации сборки программ. Дело в том, что когда исходных файлов программы много, вы не будете вручную вводить команды для их компиляции. Можно записать их один раз, а затем использовать везде. Для этого существует утилита make и файлы Makefile. Этот файл состоит из целей и имеет такой синтаксис:

цель: зависимости
команда

Затем вам достаточно выполнить команду make для запуска компиляции, только не забудьте удалить предыдущие временные файлы и собранную программу:

Программа снова готова и вы можете ее запустить.

Выводы

Создание программ Linux очень интересно и увлекательно. Вы сами убедитесь в этом, когда немного освоитесь в этом деле. Сложно охватить все в такой небольшой статье, но мы рассмотрели самые основы и они должны дать вам базу. В этой статье мы рассмотрели основы программирования в linux, если у вас остались вопросы, спрашивайте в комментариях!

Курс программирования на Си под Linux:

Источник

Образовательный портал