Информация об изменениях

Сообщение Re[3]: Что такое "знание Linux" для бэкэнд программиста? от 21.11.2020 22:16

Изменено 21.11.2020 23:16 a7d3

Re[3]: Что такое "знание Linux" для бэкэнд программиста?
Здравствуйте, Aleksey82, Вы писали:

DP>>девелопил и C++ проекты под линуксом, и питон, и всякие Го для веба.


A>А что использовали для редактирования исходников, какие обычно используются тулзы? Т.е., скажем, что используется вместо виндовой студии?

A>Я как-то отлаживал C++ проект под андроид из-под линукса с помощью gdb... и это была боль...

Забыть как страшный сон autotools (./configure), весь вменяемый народ ушёл на cmake.

Можно работать с С++ внутри:
• Visual Studio Code (ставить из репозитория своего дистрибутива линукса, а не с сайта)
• QtCreator (можно взять с репозитория), на сайте наиболее свежее https://www.qt.io/offline-installers
• CLion https://www.jetbrains.com/clion/
• KDevelop (ставить из репозитория) или наиболее свежее https://www.kdevelop.org/download можно и в виде AppImage

Человек может делать разработку софта на С++ из под линуха, если он в состоянии собирать С++проекты посредством CMake из консоли и те же самые проекты из под этих подобий-IDE.

У них есть удалённая отладка кода, как и сборка на удалённом сервере или же внутри контейнера / виртуальной машины. Можно иметь на своей машине один вариант линукса, а собираться исходники будут на удалённом сервере с другим линухом (другим тулчейном и либами) или внутри контейнера на этой же машине, но внутри которого копия серверного линукса.
Re[3]: Что такое "знание Linux" для бэкэнд программиста?
Здравствуйте, Aleksey82, Вы писали:

DP>>девелопил и C++ проекты под линуксом, и питон, и всякие Го для веба.


A>А что использовали для редактирования исходников, какие обычно используются тулзы? Т.е., скажем, что используется вместо виндовой студии?

A>Я как-то отлаживал C++ проект под андроид из-под линукса с помощью gdb... и это была боль...

Забыть как страшный сон autotools (./configure), весь вменяемый народ ушёл на cmake.

Можно работать с С++ внутри:
• Visual Studio Code (ставить из репозитория своего дистрибутива линукса, а не с сайта)
• QtCreator (можно взять с репозитория), на сайте наиболее свежее https://www.qt.io/offline-installers
• CLion https://www.jetbrains.com/clion/
• KDevelop (ставить из репозитория) или наиболее свежее https://www.kdevelop.org/download можно и в виде AppImage

Про знание линукса пишут в вакансиях подразумевая, что сотрудник должен быть способен вести разработку софта на линуксах.
В современных реалиях, без сферических коней в вакууме, человек может делать разработку софта на С++ из под линуха, если он в состоянии собирать С++проекты посредством CMake из консоли и те же самые проекты из под этих подобий-IDE.

С той оговоркой, что хоть VS Code и стоит первой в списке, но врядли подходит для того, чтобы её первой же и пробовать. Поскольку требует установки экстеншенов для поддержки С++, для поддержки CMake, удалённой отладки и т.д. и т.п.

QtCreator может быть полезен и для нативных С++ проектов без Qt, когда надо работать с плеядой различных тулчейнов и хочется использовать подобие IDE имеющее поддержку clang-tidy (статический анализатор) и набор valgrind (динамический анализ).

CLion пытается дать всё тоже самое, но в виде удобного коммерческого продукта, является платным и не особо шустрым, отжирая много оперативки во время работы.

KDevelop предоставляет всё тоже самое, что и QtCreator, но имеет очень убогую поддержку работы с контейнерами, нет смысла пытаться пользоваться этой функциональностью (явно ещё не зрелая даже на уровне концепции).

У них всех есть удалённая отладка кода в виде GUI обёртки над GDB и/или LLDB. Равно как у некоторых есть сборка кода на удалённом сервере или же внутри контейнера / виртуальной машины (которые могут быть локально). Иначе говоря, можно иметь на своей машине один вариант линукса, а собираться исходники будут на удалённом сервере с другим линухом (другим тулчейном и либами) или же внутри контейнера на этой же машине, когда внутри контейнера копия серверного линукса.