Begin programming in linux

How to Begin Programming on Linux Platform

Unless you’ve been living in a cave for the last decade, you know that Linux has pretty much taken over the enterprise business world. From web servers, frameworks, clouds, containers, AI, and so much more, Linux powers it all.

Because of this, businesses need programmers who can develop both for and on the Linux platform. If you’re not already savvy enough to transition back and forth between macOS or Windows to Linux, it’s time you learned.

But where do you start? How do you begin programming on Linux platform? If you’re already comfortable with one or more programming languages, you already have the hard part taken care of. In fact, programming on Linux isn’t really all that much of a challenge, compared to working with other platforms. Why? The available tools.

With Linux, you have a lot of tools you can work with. And although some of those tools might be command line only, you’re a programmer, so the command line is second nature.

But how do you take this necessary plunge? Let’s dive in and find out.

How to Begin Programming on Linux Platform

First Things First

  • Develop GNU/Linux software that works as expected.
  • Writing more sophisticated programs that take advantage of Linux multiprocessing, multi-threading, interprocess communication, and hardware interaction.
  • Create programs that run faster, more reliably, and more securely.
  • The unique peculiarities of a GNU/Linux system (such as specific limitations, special capabilities, and standard UNIX conventions).

Some of the chapters of what should be considered the Linux programming bible include:

  • Editing with Emacs
  • Compiling with GCC
  • Automating with GNU Make
  • Using the GNU Debugger
  • Interacting with the executing environment
  • Writing and using libraries
  • Looking at and creating processes
  • Signals
  • Process termination

Because there are fundamental differences between the Windows and Linux environments, you should consider this book a must-read, if only to gain a better understanding of how Linux works.

Bash Scripts

Bash scripts are easy-to-write scripts that run from within the Linux shell. These scripts can be written to do just about anything and should be considered one of the first stepping stones for learning to program in Linux.

By creating simple bash scripts, you’ll learn things like:

  • Execution privileges
  • The Linux $PATH
  • How to use variables in Linux
  • Permissions
  • Shell scripting “dialects”
  • File manipulation

Because bash scripts don’t need to be compiled, they are a great place to begin your journey. This is also a good way to start understanding how to problem-solve without having to employ QA services. Because bash scripts aren’t compiled, they are very easy to troubleshoot.

Installing the Tools

  • dpkg-dev – Debian package development tools
  • g++ – GNU C++ compiler
  • gcc – GNU C compiler
  • libc6-dev – GNU C Library
  • make – Utility for direction program compilation
Читайте также:  Firebird server for linux

These are, as the name implies, essential tools for building applications on Linux. To install this software on a Ubuntu-based Linux distribution, you only need to issue the command:

sudo apt-get install build-essential -y

Learn an Editor

Although you will find plenty of graphical tools available for developing with Linux, you should consider it a must-do to learn the ins and outs of one of the available editors. Although you could do well with the simplicity of nano, you will probably find a tool like vim or emacs to be better suited to the task of programming on Linux.

And although you might think using a text editor is a simple affair, you would be wrong. In order to get the most out of the vim text editor, you really need to take the time to understand how the tool is used. For example, the simple act of saving a file requires you to hit Escape and then type :wq. That’s right, vim isn’t like Notepad.

In fact, vim is incredibly powerful. The vim editor includes features like:

  • Perform complex tasks with a few quick commands
  • Highly configurable
  • Powerful plugin system, to expand the feature set
  • Multi-window/buffer support
  • Tab support
  • Macro support
  • Syntax highlighting
  • Auto indent

There is no way around learning a solid editor. No matter if you’re programming heavy duty, enterprise-grade software or if you’re working with a software QA outsourcing, you’ll need to know the ins and outs of this tool.

Learn a Widget Toolkit

  • GTK – used for the GNOME desktop
  • Qt – used by the KDE desktop
  • Tcl – used for web and desktop programming
  • SWT – used with the Java platform.
  • FLTK – cross-platform C++ GUI toolkit.

You will not be creating any graphical applications on Linux without knowing one of the toolkits. Make sure to go through the official documentation for whichever toolkit you decide to work with.

Conclusion

This short list of tips will get you started on your Linux programming journey. Of course, no matter how well of a start you get, you’re going to have to have a solid grasp on the fundamentals of programming first. So before you dive into coding for the open-source community, make sure you know how to write those first lines of code.

Источник

Как начать писать программный код Си в ОС Linux (Руководство для совсем начинающих)

Добрый день. Этот материал рассчитан на людей, будущих программистов, которые только начинают разбираться в программировании под ОС Linux. Я попробую здесь показать прямое руководство к действию на примере тех простых инструментов, которые использовал некогда сам при изучении Си в процессе знакомства с Linux. На самом деле, с теми или иными поправками, это руководство можно использовать в большинстве дистрибутивов. Руководство однозначно подходит для всех deb-based дистрибутивов.

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

Итак: у Вас сейчас установлен дистрибутив ОС, как говорится, «из коробки». Перед глазами пособие для разработчика/учебник/просто_хорошая_книга по «Языку программирования Си». И никакой вменяемой, полноценной подробной информации о том, как же собственно откомпилировать и выполнить, написанный в книге, исходный код. Быстрый осмотр тематических ресурсов уже показал Вам, что, необходимо установить компилятор Си, запустить его с нужными параметрами и потом запустить компилированный бинарный код. Примерно с этого момента мы и начнём.

Читайте также:  Open source linux distros

Установка компилятора

Я имею ввиду, что Вы скорее всего (бывший) пользователь ОС Windows и действия в чёрном/синем окошке при помощи клавиатуры оканчивались где-то на команде ping, кажутся неким таинством. Однако отмечу, что всё банально просто и текстовой интерфейс предоставляет намного более гибкие возможности (скорее всего Вы неоднократно Вы слышали это ранее). Приступим:

Я подразумеваю, что с понятием компиляции и о том что такое компилятор Вас уже познакомила правильная книга.

На этом этапе всё будет очень быстро и просто. Открываем терминал и пишем:

(На всякий случай: вставка в gnome-terminal ctrl+shift+v)

Сразу поясню, что текст слева от курсора — это приглашение командного интерпретатора и оно выглядит следующим образом:

Далее я буду указывать только команды интерпретатору без приглашения.

Данная строка «говорит» интерпретатору: «от имени суперпользователя запустить менеджер пакетов для установки пакета gcc».

Система попросит Вас ввести пароль суперпользователя и приступит к установке компилятора.

Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Предлагаемые пакеты: gcc-multilib gcc-doc Следующие НОВЫЕ пакеты будут установлены: gcc Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 44 пакетов не обновлено. Необходимо скачать 5 208 B архивов. После данной операции объём занятого дискового пространства возрастёт на 51,2 kB. Пол:1 http://ru.archive.ubuntu.com/ubuntu focal/main amd64 gcc amd64 4:9.3.0-1ubuntu2 [5 208 B] Получено 5 208 B за 0с (34,6 kB/s) Выбор ранее не выбранного пакета gcc. (Чтение базы данных … на данный момент установлено 371769 файлов и каталогов.) Подготовка к распаковке …/gcc_4%3a9.3.0-1ubuntu2_amd64.deb … Распаковывается gcc (4:9.3.0-1ubuntu2) … Настраивается пакет gcc (4:9.3.0-1ubuntu2) … Обрабатываются триггеры для man-db (2.9.1-1) …

Если же он уже установлен, то менеджер пакетов apt просто укажет на это примерно следующим образом:

Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Уже установлен пакет gcc самой новой версии (4:9.3.0-1ubuntu2).

Установка редактора

Обычно с дистрибутивом Ubuntu поставляется весьма интересный текстовой редактор gedit . Однако в других дистрибутивах возможно придётся установить этот редактор:

Создание файла с исходным кодом

Теперь пришло то самое время нашего классического «hello world»! Давайте сделаем это в стиле linux. Просто наберите в консоли:

Более подробно Вы обязательно прочитайте в профильных ресурсах и в документации, я только отмечу, что символ «тильда» возвращает полный путь к домашнему каталогу пользователя ОС. Соответственно будет создан файл в вашем домашнем каталоге с указанным именем.

И далее наш программный код на языке Си в редакторе:

#include "stdio.h" int main() < printf ("\nHello world)\n"); for (int c=0; c<10;c++) < for (int i =0;ireturn 0; >

(Стоит отметить, что в редакторе gedit есть подсветка синтаксиса для различных языков программирования. Переключить режимы подсветки можно в нижней части окна редактора.)

Не забываем сохранить изменения нажатием ctrl+s. Обратите внимание, что вопросов об имени файла не последовало, так как имя было уже указано параметром при запуске редактора из командной строки терминала.

Компиляция и запуск

Закрываем окно редактора нажатием Alt+F4 и запустим же то сокровенное ради чего все тут и собрались:

И в ответ только новое приглашение. В отличие от стиля в ОС Windows, когда консоль, жутко подробно по-умолчанию, комментирует выполняемые действия — большинство программ в ОС семейства *nix сообщают только об исключительных ситуациях, ошибках и тому подобных вещах. То есть если «в ответ тишина» — то всё прошло хорошо.

Теперь в домашнем каталоге у нас появился файл a.out — он и есть файл с исполнимым кодом.

Для запуска этого файла на исполнение — назначим ему атрибут: «исполнимый»:

и теперь запустим получившееся приложение:

(Для запуска исполнимого файла интерпретатору требуется указать полный путь к файлу. Как в случае с «тильдой» символ «точка» возвращает полный путь к текущему каталогу. В данном конкретном случае правомерно так же запустить через ~/a.out Это не имеет значения здесь, так как файл создан в домашнем каталоге пользователя.)

И мы получаем вывод в терминале:

Для выполнения всех повторных действий: изменение кода и снова компиляция, — Вы можете не вводить все эти команды каждый раз заново, а использовать стрелки вверх и вниз, для быстрого выбора команд из истории. И, кстати, вывод списка истории всех введённых команд можно выполнить командой (на самом деле программой) history .

Минутка автоматизации

Теперь приступим к очень интересному моменту связанному с творчеством в духе *nix. Каждый раз вводить много скучных команд неинтересно, возможно, даже вредно. Мы расширим функционал редактора gedit и доработаем его «напильником» до состояния примитивной среды разработки: запустим gedit и откроем меню параметров,

Главное меню gedit

где на вкладке «Расширения» добавляем «Внешние инструменты»

Begin programming in linux

И затем, из того же главного меню gedit выбираем «Управление внешними инструментами».

Begin programming in linux

Как Вы уже поняли — здесь можно выполнить доработку функциональности текстового редактора. Создадим новый инструмент: «Компиляция и запуск», В качестве вывода используем нижнюю область редактора. Инструмент назначим для файлов C и C++. Назначим клавишу F5 (дело вкуса) на применение инструмента и собственно сам код инструмента в виде скрипта bash:

#!/bin/bash gcc -o a.out $GEDIT_CURRENT_DOCUMENT_NAME chmod +x ./a.out ./a.out rm ./a.out

Разберёмся в том, что тут происходит:

#!/bin/bash — указание командного интерпретатора для выполнения скрипта.

gcc -o a.out $GEDIT_CURRENT_DOCUMENT_NAME — здесь мы запускаем компилятор, где в параметре -o указываем имя выходного файла. Пускай он будет таким же как и по-умолчанию.

$GEDIT_CURRENT_DOCUMENT_NAME — через эту переменную gedit передаёт имя файла.

Дальше Вы уже знаете — назначение атрибута «исполнения», запуск файла и потом:

rm ./a.out — удаление созданного исполнимого файла.

Попробуем инструмент в деле:

Теперь можно продолжать изучать пособие для разработчика/учебник/просто_хорошую_книгу по «Языку программирования Си» на практике.

Заключение

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

В дальнейшем Вам обязательно понадобятся более серьёзные средства. А на первое время Вы можете дополнительно посмотреть другие редакторы, вплоть до больших и серьёзных сред разработки. Однако обязательно обратите внимание на редактор vim.

Источник

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