Подготовка рабочего места к изучению C++ на пакетной базе Debian buster

newbie_

Опубликован:  2019-05-28T06:54:19.700912Z
Отредактирован:  2019-05-28T06:57:31.760673Z

Кто из нас в детстве не мечтал стать программистом?! Вопрос скорее риторический, ответа не требует. Я, когда был совсем юным, абсолютно определённо мечтал стать программистом, правда даже отдалённо не представлял себе работу программиста, и путь, который должен пройти юный организм, чтобы стать программистом. В этом блоге я буду осуществлять мечту своей юности и, двигаясь мелкими шагами, попробую стать программистом. А объектом моего исследования и пристального интереса будет современный объектно ориентированный язык программирования C++.

Надо признать, что C++, будучи очень мощным инструментом и имея достаточно разносторонние возможности, является, тем не менее, довольно сложным в освоении языком программирования и, по моему мнению, требует серьёзной начальной подготовки. В моём случае начальной подготовкой был небольшой практикум программирования на объектно ориентированном языке Python3, в течение которого я написал с использованием парадигмы ООП набор консольных приложений cuetoolkit, разработал несложное web-приложение, на котором базируется этот сайт, и рассказал о некоторых своих злоключениях на этом пути в блоге newbie. За моими плечами скромный опыт программирования на Python3 и JavaScript, работы с базами данных PostgreSQL и Redis, и я отчётливо представляю себе задачи, которые решает программист, поэтому считаю, что мне вполне по силам взяться за освоение C++ и начать писать на нём. В этом выпуске блога я расскажу о подготовке рабочего места и необходимом наборе инструментов, которые потребуются для изучения C++.

Для разработки программ на C++ мне будут необходимы следующие вещи:

  • компьютер, я буду использовать свой бюджетный, порядком устаревший лэптоп Samsung с шестью ГиБ оперативной памяти и процессором Intel Celeron B820;
  • операционная система, я буду работать с операционной системой Debian buster с рабочим столом LXDE;
  • компилятор программ на языке C++, учитывая выбор операционной системы, свои первые программы я буду компилировать с помощью g++ - свободного компилятора C++ с отрытым исходным кодом, разработанного сообществом GNU;
  • текстовый редактор или IDE, на начальном этапе освоения языка наиболее оптимальным выбором для меня стала интегрированная среда разработки Geany.

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

Операционная система Debian buster на текущий момент находится в стадии release candidate и вот-вот будет объявлен выпуск buster как стабильной ветки Debian. Установка Debian stretch на десктоп хорошо описана серией статей в соседнем блоге, последовательность действий с установкой Debian buster практически ничем отличаться не будет.

1jCl4oj8Xg.png

Установить компилятор g++ можно несколькими различными вариантами, я предпочитаю устанавливать пакет build-essential, который по зависимостям вытягивает необходимые для сборки пакетов Debian инструменты, в том числе и g++.

sudo apt install build-essential

26WBxpyLry.png

Остаётся согласиться, ввести Y и дождаться установки всех запрошенных пакетов. Сразу после завершения этого процесса g++ будет доступен в терминале.

I0HKX5GLb7.png

Для разработки и написания исходного кода программ достаточно простого текстового редактора, но я на начальном этапе обучения буду использовать интегрированную среду Geany, её в Debian buster тоже можно установить из официального репозитория.

sudo apt install geany

tLgMdpxB5g.png

Опять ввожу Y и дожидаюсь завершения процесса установки пакетов. Запуск Geany будет доступен в системном меню.

Xjta23iae3.png

Запускаю Geany, перехожу в терминал, создаю рабочее пространство и в нём файл своей первой программы на C++, традиционно это будет Hello, World!.

IDCXTT1z9D.png

Пишу код и обязательно сохраняю изменения в файле.

7gSLAB6dfH.png

Теперь можно попробовать откомпилировать этот файл и исполнить программу, что можно сделать с помощью инструментов Geany или соответствующими командами в терминале. Второй способ мне нравится намного больше, буду использовать его.

g++ hello.cpp -o exe

PcJEhplZbO.png

Компиляция завершилась успешно и без выхлопа, запускаю свою первую программу.

./exe

j2ADi07Qau.png

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

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

9T0Yi6gZWH.png

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

Комментарии: