LINUX.ORG.RU

Выбор IDE, и вообще как перейти с разработки под win к разработке по LINUX

 , ,


0

4

Добрый день, господа. Подскажите, пожалуйста, ленивому чуваку. Разрабатывал на с# и питоне программы для своих научных исследований под windows (я не прогер, просто самому написать проще, чем кому-то объяснить, да и контролировать правильность кода труднее, а не контролировать - я уже обжегся). Пользовался VisualStudio. Но недавно, со сменой научной области, возникла необходимость в написании кода на с++ под linux. Так вышло, что под линуксом никогда не писал и вообще не работал.

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

Спасибо.


Пора переходить на линукс

какую виртуалку лучше поставить

Исключающие требования.

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

Почему? Запускаться будет не на моем ноутбуке. Почему нельзя поставить виртуалку, и в ней разрабатывать? Я нуб, сори.

Nissie
() автор топика
Ответ на: комментарий от Nissie

Почему нельзя поставить виртуалку, и в ней разрабатывать?

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

В виртуалке, да ещё с IDE, так не получится.

vvn_black ★★★★★
()

Раз нужна виртуалка - бери VirtualBox. IDE - QtCreator из репозитория. Ну и дистрибутив - kubuntu или manjaro. Ну и да, всё вышеперечисленное - вкусовщина.

l4gfcm ★★
()
Ответ на: комментарий от Nissie

Сначала разберись как попроще, а как извратиться - сам придумаешь.

l4gfcm ★★
()
Ответ на: комментарий от Nissie

Окей, а как надо? Снести винду к чертям, поставить линух?

А тут уже философия и метафизика.

Даже дуалбут советовать не буду, потому что руки могут опуститься после попыток организовать его. Тут более-менее бэкграунд нужен за плечами. А если бы он был, не думаю, что тема возникла бы )

В идеале на отдельный ноут (какой не жалко, но не особо древний) поставить линукс и начать с его использования как десктопа - браузеры-мессенджеры, а потом, как уже просто использование не будет вызывать вопросов, влепить какую-нибудь студию и пробовать «разрабатывать».

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 2)

ну может и курс какой-то для входа в тему?

А какой курс по виндовс для входа в тему проходил?

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

Ну, как десктоп у меня убунта стояла. И в дикой юности я писал рассчетные программы на Фортране под юникс. Но это 100 лет назад было, как сейчас - я не знаю. Другие задачи совсем.

Nissie
() автор топика
Ответ на: комментарий от vvn_black

В смысле курс - по плюсам? Да как-то везде понемножку. Я математик, рассчетные программы пишу, ну года с 96-го где-то. Для первых вообще книги читал, а потом поставил Студию году в 2010 и по шарпу книгу купил. Дальше сам разбирался, читал, видео смотрел. По питону так же. На Java тоже немного учился, Интеллиджи поставил. Но оказалось не сильно надо, так что бросил.

По плюсам на ютубе смотрел видео SimpleCode на ютубе, потом смотрел с гитхаба, что другие пишут в моей области.

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

Nissie
() автор топика

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

В первую очередь надо освоить командную строку (напр. bash) дальше само пойдет.

По библиотекам большой разницы с виндой нет, есть разница по сборке и некоторым системным вызовам, но для Вашей/нашей области это некритично. Хотя шарпы конечно странноватый выбор…

Из IDE - кто во что горазд. У меня коллеги в основном сидят под vim, я по старинке под емаксом. Это не полноценная IDE, но и задачи IDE в общем не требуют, тут другие сложности. Да и если командной строкой владеешь хоть немного, многое можно делать в ней.

AntonI ★★★★★
()
Ответ на: комментарий от Nissie

В смысле курс - по плюсам?

Из контекста было непонятно курс по плюсам или по линуксу.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)

Послушай моего совета: нафиг студию (в связке с Linux-ом, без него она хорошая), WSL и виртуалки, они не дадут тебе понять как всё будет лагать на реальном железе. В linux-е тебе с ними только хуже будет, так как даже нагуглить по ошибке будет очень проблематично. Бери дуалбут (ставишь linux на реальное железо рядом с windows), QtCreator как IDE для C++ и Pycharm, как ide для Python-а. На Python-е в Linux-е вообще удобнее писать, чем в Windows. Не забудь про Git (не путать с Github-ом), в качестве дистрибутива бери либо LTS Ubuntu, либо Mint, основанный на LTS Ubuntu. Для новичка самое то. Боли по началу будет очень много, но потом станет легче, так что делай это когда будет гарантированно пара недель свободного времени, все вопросы можешь тут спрашивать, начать с того как разбить диск и зачем так, а не иначе (рекомендую 50 Гб под / и сколько не жалко под /home если тебе не требуется шифрование диска, /SWAP если памяти меньше 16 гигабайт делай, хотя холиварно, FS ext4 лучше всего для новичка)...

ЗЫ

vim/emacs и прочие извращения оставь на потом, когда захочешь странного.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)

В этом мире существуют следующие IDE для C и C++:

  1. Visual Studio (только Windows).
  2. Eclipse CDT (кросс-платформенная).
  3. NetBeans (кросс-платформенная).
  4. CLion (кросс-платформенная, платная).
  5. XCode (только macOS).
  6. Qt Creator (кросс-платформенная).

Помимо этих имеются ещё слабо поддерживаемые, непопулярные и устаревшие IDE с довольно ограниченной функциональностью:

  1. Code::Blocks (кросс-платформенная).
  2. CodeLite (кросс-платформенная).
  3. Dev-C++ (только Windows).
  4. KDevelop (только Linux).

Лично я бы взял Qt Creator для разработки на C++. Так как это очень быстрая и лёгкая IDE с нормальным парсером C++ на основе libclang, встроенным статическим анализатором и прочими удобными плюшками. Но новичков несколько может отпугнуть её интерфейс, например, отсутствие вкладок.

EXL ★★★★★
()
Ответ на: комментарий от AntonI

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

Nissie
() автор топика
Ответ на: комментарий от Nissie

Ну тогда в первую очередь командную строку учить и vim/emacs/консольный редактор. В консоли на удаленном сервере IDE скорее всего не будет;-)

AntonI ★★★★★
()

Пора переходить на линукс, но чего-то мне страшно

Зря боитесь. В отличие от «оффтопика», дистрибутивы (по крайней мере некоторые) не сливают информацию в открытом виде рекламщикам.

какую виртуалку лучше поставить

Никакую. Точнее, даже не так: виртуальная машина сгодится для того, чтобы привыкнуть к «линуксу», но дальше она будет только мешать, т.к. будет упор в производительность.

какую IDE

VS Code хоть и не совсем подходит под такое описание, тем не менее вполне себе позволяет писать довольно сложные программы. А учитывая, что есть очень даже приятные дополнения…

ну может и курс какой-то для входа в тему?

Совет от меня: начать с «виртуалки», посмотреть, как оно работает, чтобы не было так страшно, после чего поставить уже на голое «железо» (можно рядом с «виндой») и изучать в такой последовательности:

  1. Работа в командной строке и язык Bash (на базовом уровне).

  2. Пакетный менеджер (а точнее, как оно работает).

  3. Структура файлов в дистрибутивах Linux (она может отличаться в плане расположения файлов, но базис – /etc, /dev и так далее – один).

  4. И только после этого приступать к основам разработки программ под «онтопик». Благо, предыдущие три пункта должны занять максимум два-три дня.

В качестве литературы могу посоветовать залезть в любой Telegram-канал, специализирующийся по «компьютерной» литературе и подобрать себе по вкусу нужный материал. Например: https://t.me/progbook. Конкретных примеров не приведу, т.к. работе с «линуксом» обучался ещё лет 10 назад, а программирование предпочитаю осваивать с помощью официальной документации.

Korchevatel ★★★★★
()
Ответ на: комментарий от paramon

Не выносит мозг антивирусом, очень ожидаемое поведение и ясная структура, удобно разрабатывать софт, потому как у тебя вся система по сути один большой конструктор и нет ограничения в том, к чему ты хочешь привязаться (реверсинженеринг больше не требуется), централизованное управление софтом и обновлениями - сказка, вот только смузихлёбы стали гадить в этой области последнее время, командная строка - серьёзный и удобный инструмент, например, сравни насколько проще:

for i in *.png ; do convert "$i" "${i%.*}.jpg" ; done
чем возиться с GUI и искать конвертилку, никаких ребутов из-за обновления и вообще, как настроишь, так и будет, а не то что у меня время от времени настройки рееста в дефолтные улетают, как только обновление Windows затрагивает этот кусочек системы, что приходится всякие костыли в автозапуск прописывать.

peregrine ★★★★★
()
Ответ на: комментарий от Nissie

Шоттс У. Командная строка Linux. Полное руководство. — СПб.: Питер, 2017. — 480 с.: (Серия «Для профессионалов»).

Годная книжка, можно найти в сети.

AntonI ★★★★★
()
Ответ на: комментарий от Nissie

Снести винду к чертям, поставить линух?

Однозначно. Лучше взять старенький ноут, добавить памяти и SSD, и наслаждаться.

Или дуалбуут.

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

Ну, как десктоп у меня убунта стояла. И в дикой юности я писал рассчетные программы на Фортране под юникс. Но это 100 лет назад было, как сейчас - я не знаю. Другие задачи совсем.

Ну тогда CMake + Visual Code + git и учиться писать код, который будет собираться на обоих платформах.

AlexVR ★★★★★
()
Ответ на: комментарий от paramon

Нет, Eclipse нужно во второй, он помойный в сравнении NetBeans. То что его у нас куча народу пользует, так то заслуга универов.

peregrine ★★★★★
()
Ответ на: комментарий от vvn_black

А пацаны и не знали что надо перезагрузиться!

xDShot ★★★★★
()
Ответ на: комментарий от AntonI

C#, несколько проприетарных программ ну и погамать очень редко.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Моментами согласен, но напишу ответ для честности.

Не выносит мозг антивирусом

Можно отключить встроенный.

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

Софт можно разрабатывать и с помощью WSL.

централизованное управление софтом и обновлениями - сказка

npm, pip, vcpkg, cargo, apt, snapd, flatpak, итд

командная строка - серьёзный и удобный инструмент, например, сравни насколько проще

Коммандную строку WSL можно открыть прямо в папке через контекстное меню в explorer. Но вообще в Windows есть более продвинутый PowerShell.

никаких ребутов из-за обновления

То что линукс не перезагружается, еще не значит что изменения применяются и без этого.

paramon
()
Ответ на: комментарий от vvn_black

ССЗБ должны страдать, им нравится. Linux это про свободу, в том числе про свободу быть мазохистами.

peregrine ★★★★★
()
Ответ на: комментарий от EXL

Из новости:

Интеграция поддержки языков C/C++ в очередной раз перенесена на следующий выпуск.

paramon
()
Ответ на: комментарий от peregrine

Нет, Eclipse нужно во второй, он помойный в сравнении NetBeans. То что его у нас куча народу пользует, так то заслуга универов.

Eclipse – это в первую очередь не просто сам сферический Eclipse в вакууме, а вся его платформа, на основе которой сделана огромная куча всяких разных IDE для C и C++ под определённые задачи. Типа того же CodeWarrior и прочих. Это весьма весомый пласт.

EXL ★★★★★
()
Ответ на: комментарий от paramon

Можно отключить встроенный

И напороться на какую-то гадость в сети, да, знаем, помним, скорбим

Софт можно разрабатывать и с помощью WSL.

Можно и через попу гланды удалять

npm, pip, vcpkg, cargo, apt, snapd, flatpak

Из всего этого говна не разработчику можно ничего не ставить, apt из коробки хватит. Но согласен, это наибольшая проблема текущего linux-а

Коммандную строку WSL можно открыть прямо в папке через контекстное меню в explorer. Но вообще в Windows есть более продвинутый PowerShell.

Ненужно. Если кому-то bash-а мало, то есть fish/zsh и прочие более продвинутые шелы

То что линукс не перезагружается, еще не значит что изменения применяются и без этого.

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

peregrine ★★★★★
()
Ответ на: комментарий от EXL

NetBeans это такая же платформа, только автодополнение кода там божественное было, когда я его использовал, лучше чем в Visual Studio от Microsoft-а, хотя с тех пор уже лет 8 прошло.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

И напороться на какую-то гадость в сети, да, знаем, помним, скорбим

Время Windows 95 прошло. В линуксе напороться тоже можно в общем то. https://www.blackhat.com/docs/us-16/materials/us-16-Weston-Windows-10-Mitigat...

Можно и через попу гланды удалять

Ну это не ответ.

Ненужно. Если кому-то bash-а мало, то есть fish/zsh и прочие более продвинутые шелы

На винде PowerShell неплох, так что bash не плюс.

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

С Windows тоже, если у тебя не Home версия какая нибудь, в Pro версии можно и не обновляться.

paramon
()
Ответ на: комментарий от Nissie

Виртуалка - virtualbox.
Дистрибутив линукса - Debian 10.

Готовых курсов и книжек с картинками нет - всё устаревает каждые три - четыре года и сильно по разному от дистрибутива к дистрибутиву.

Чтобы понять, что к чему в общих чертах, нужно прочить пару книг:

Название: Установка и конфигурирование LINUX. Учебный курс
Автор: Фолькердинг П., Рейчард К., Фостер-Джонсон Э.
Издательство: Питер
Год: 1999
Cтраниц: 496

и

Петерсен Ричард. Linux. Полное руководство в 2-х томах. Том 1, 2. В комплекте CD-ROM. Перевод с англ. 2-е изд., переработанное и дополненное. Киев BHV 1999 г. 528 с., 480 с. Мягкий переплет, Увеличенный формат. (ISBN: 5-7733-0062-1 / 5773300621)

Не смотря на даты из прошлого тысячелетия, это пока что самые вменяемые из известных мне книг на русском, описывающих Linux в общем для полного новичка. Петерсен особенно полезен тем, что знакомит с LateX’ом и прочим набором утилит для автоматизации обработки файлов. Потом надо будет почитать что-нибудь типа «введения» по Debian / Ubuntu и можно будет переходить к практике.

Большая часть остальной литературы ориентирована либо на системных администраторов или на системных же программистов, то есть информация там для расчётов и статей совершенно бесполезна.

P.S. Большинство книг от русских авторов - довольно откровенный трэш.

LamerOk ★★★★★
()
Последнее исправление: LamerOk (всего исправлений: 1)
Ответ на: комментарий от paramon

Очень редко, потому как дальше сайта POE и почты на гугле в Windows не хожу. Но учитывая что в день у меня типичная история посещённых сайтов это под сотню разных сайтов, включая маленькие, то когда полностью на Windows сижу (редко бывает), то раз в месяц что-то интересное встречается.

peregrine ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.