LINUX.ORG.RU

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

 , ,


0

4

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

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

Спасибо.


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

Из всего вышеперечисленного, хочу отметить, что товарищ сказал когда, а не если.

Вместо qtc + pycharm - можно вполне себе использовать vscode, там хотя бы всё в одном окружении. Ну, или пользовать функционал по разработке на python которые есть в qtc.

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

vscode я прямо сейчас использую как замену богомерзкому gedit-у, когда vim не нужен или не удобен (markdown писать приятнее в VS Code, там превьюшка в одном окне, а не в firefox-е), который совсем гномодевелоперы развили до эталонного УГ, что у меня аж ввод в него тупить стал на 8 ядерном i7. Оно не настолько юзабельно, как специализированные ide, ну и конфиги на веб технологиях отпугивают, если с вебом не возились.

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

Если тебе только прогать, т.е. тебе ненужно пользоваться системой как таковой, а просто в линукс-окружении компилить и пускать код - то неплохой вариант поставить IDE, которая умеет в remote разработку (это когда IDE пускается на одном компе, код располагается и компиляется на другом) и сделать хост (можно виртуалку) с линуксом и все.

В свое время я так прогал сидя на винде в NetBeans, к линуксовому хосту нужен доступ по ssh или samba. Элементарно - поставить линукс в виртуалку, пустить ее в headless режиме и спокойно пользоваться через виртуальный сетевой интерфейс.

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

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

Интересные какие математики теперь. Для работы по основной специальности мне не нужно ничего, кроме texlive и okular.

По теме: отталкивайтесь от rhel7. Это стандарт в нашей среде. Остальное – вкусовщина.

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

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

anonymous
()
Ответ на: комментарий от i586

У, сейчас много чего нужно. Начиная от matlaba, заканчивая питоном с батарейками на сишке/расте/крестиках/по вкусу.

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

Ну, как почему. Всякие ibus’ы и прочие радости, о которых всем известно.

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

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

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

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

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

Visual Studio

удобно программировать

взаимоисключающие параметры

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

Ах да, а этом мире существует всего две ide.

Kdevelop - единственное, что умело и умеет в С++. Единственный в своём роде редактор умеющий в семантику текста(ЯП в данном случае) by-design.

libclang со всем вытекающим. Отсутствие развития. Но он настолько опередил своё время, что до сих пор ему это не особо аукнулось.

clion - передовая, привычная пацанам ide. Патченный clangd. Единственное, что в какой-то мере умеет в C++ помимо kdevelop. Умеет намного хуже, потому как lsp-дерьма. Но (какая никакая) встроенная поддержка + кастомный clangd в какой-то мере решают проблему.

Основная проблема и там и там - clang. Это дерьмо может в любой момент упасть, потечь. Потенциально clangd мощнее, потому как использует clang напрямую. libclang - сишное дерьмо, которое протухло уже давно и не реализует множество современной С++-семантики.

В связи с этим kdevelop может сегфолтится(из-за clang). В clion засегфолтится только clangd. Но и в целом clangd намного меньше инфы вытягивает из ast(и использует его напрямую, а не через сишный кусок дерьма) и потому сегфолтится меньше.

Критерии выбора следующие. Есть есть какой-то опыт/привычка работы с jb. Хватит огрызка cmake + make. Если хватит древнего clangd. Либо если код, на которым необходимо работать - какое-то непонятное дерьмо(на cmake). Это clion. Да и почти всегда выбор clion, если ничего более не нужно.

Если не cmake(а там не make), если нужен новый/кастомный компилятор. Если нужна нормальная поддержка языка. Если есть полный контроль над кодом проекта(т.е. его можно писать/править с учётом особенностей kdevelop).

Если ещё более кратко - clion для рядовых, а kdevelop для тех, кто понимает что ему нужно. Так же kdevelop очень хорошо подходит для изучающих язык и для тех, кто готов решать некоторые проблемы. Но ради него можно и потерпеть.

anonymous
()

Эскобар ещё не пробегал?

А так выше писали: для начала есть VSCode.

Vault_Boy
()

Я тебя сильно огорчу, но по сравнению с VS ситуация с ide для с++ в линуксе не просто плохая, она - катастрофическая, особенно для отладки. Но есть выход, саму программу писать в VS, а собирать в линуксе. Тебе еще обязательно нужно освоить еще 2 программы - Cmake, для сборки программы и conan, это пакетный менеджер для установки С++ библиотек.

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

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

Ну так PowerShell под винду и есть более продвинутый, где bash и прочие fish просто ничего не умеют делать, нет прямого доступа к чисто-виндовым технологиям.

anonymous
()

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

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

какую IDE

Для плюсов из того что мне понравилось либо qtcreator либо netbeans. Хотя на плюсах я пишу довольно редко.

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 1)
Ответ на: комментарий от vvn_black

У нищебродов, которые не могут выделить виртуалке хотя бы 8Гб безусловно :) ну и с использованием «модных IDE» на джаве все превращается в «отвращение».

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

если тебя от разработки на c/c++ останавливает «не то ide» или... пакетный менеджер (лолшто?) Нужно еще подумать «твое ли это» вообще

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

>clion - передовая, привычная пацанам ide

Скока лет тем пацанам? :)

slackwarrior ★★★★★
()

Начать пользоваться cmake в качестве системы сборки. Выбрать ide по вкусу. QtCreator и другие. Из vs тоже можно если использовать wsl и т.п.

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

Если я и слышал про ненужно, для разработки на с/с++ оно не перестало быть ненужно. Что ты будешь делать, когда оно сдохнет? :)) скажешь ну все, разработка невозможна?

П.С. пионеры из условных гуглов регулярно добавляют ненужно для сборки чего-то, написанного на с++. Когда в очередной б-ский раз для сборки их поделий вдруг нужен питон определенной версии — понятно что лучше рассмотреть альтернативы чем тянуть в проект ненужно.

Ну так и что там с твоим ненужо? «Written in Python». ЧТД

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

4.2 в виртуалке с QtCreator прекрасно разрабатывал. Туда еще i3 поставить…

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

Чем тебя QtCreator не устраивает. По пунктам плз.

В студии чтобы писать что-то больше хэлоу ворлда прилется осваивать говномсбилд с наркоманским xml внктри и прочим наследием 00-х.

invy ★★★★★
()
Последнее исправление: invy (всего исправлений: 2)
Ответ на: комментарий от ya-betmen

hyper-v меньше всего гемороя. как обычно с оговорочкой иногда бывают грабли с доступом к периферии, но вроде все решаемо

anonymous
()
Ответ на: комментарий от invy

Ты читал ТС? Он пишет, что долгое время работал на VS разрабатывая под C#. Вполне естественно для него остаться на VS и для С++.

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

Но вообще в Windows есть более продвинутый PowerShell.

Ты серьезно? Как этим говнищем пользоваться вообще можно? Его наркоманы писали. В придачу ко всему оно еще и тормозит (grep/sed агалоги).

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

В студии чтобы писать что-то больше хэлоу ворлда прилется осваивать говномсбилд с наркоманским xml внктри и прочим наследием 00-х.

Там давно можно чисто под виндой отказаться от мсбилда, юзать cmake и clang. Если пишешь для линукса, то можно и gcc заюзать с gdb.

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

Навязчивым реганием :) последрий раз так достало - собрал из сорцов :)

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

Серьезно, ты баш то видел? Абсолютно неюзабельный для скриптов.

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

Можно, но зачем она тогда нужна, если есть QtCreator? Только если у тебя в конторе старички которым ло пенсии лет пять и они всю жизнь в венде сидели и тут стоит задача все портировать. Их не пересадить просто так.

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

лучше всего не зависеть от них и/или иметь план «б»

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

Там портировать ничего не надо :) пишешь сразу систем агностик коде и все работает под вынь/линь/андроед/мак

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

Многое там сделано лучше, и есть свои вещи которых нету в QtCreator. Ну кому хватает QtCreator пусть пишут в нем, я не против.

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

задача обратная, чел хочет попробовать лин, а не вынь, решение вроде очевидное. но ты же не читатель, правда?

anonymous
()
Ответ на: комментарий от invy

Как этим говнищем пользоваться вообще можно?

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

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

Чел не хочет полностью слезать с винды, винда в виртуалке в таком случае нормальное решение.

ya-betmen ★★★★★
()

… научной области, … на с++ под linux

Попробуй julia. Там нет разницы Win/Lin и для науки она намного удобнее

anonymous
()
Ответ на: комментарий от invy

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

Функция Live Unit Testing автоматически выполняет модульные тесты в фоновом режиме и графически отображает объем протестированного кода и результаты тестирования в редакторе кода Visual Studio.

Закодированные тесты пользовательского интерфейса позволяют создать полностью автоматические тесты для проверки функциональности и поведения пользовательского интерфейса приложения.

Хватит?

Lzzz
()
Ответ на: комментарий от crutch_master

Использование лабораторной среды для DevOps

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

Использование облака с функциями сборок и выпусков в Azure Pipelines или Team Foundation Server.

Вы можете выполнить автоматическое тестирование и автоматизировать процесс сборки, развертывания и тестирования с помощью функций Сборка и выпуск в Team Foundation Server (TFS) и Azure Test Plans.

Qt умеет такое? Сомневаюсь.

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