LINUX.ORG.RU

Выбор IDE

 


0

2

Добрый вечер, господа-товарищи. Такой у меня к вам вопрос «ребром» - боюсь, как бы холивар не начать.
Но все же. Вот не сиделось мне, и захотелось писать на C++ не под виндоузом, а под убунтой. Уровень минимальный, поделки уровня «хеллоуворлд». Раньше до этого в качестве IDE использовал Geany (посоветовали мне его). Штука простая, удобная, но, зараза , без дебаггера. И вот, собственно, вопрос: какое же IDE ставить, чтобы также просто, удобно, но еще и с дебаггером?

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

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

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

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

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

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

не… ты ошибся.

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

А почему ты уподобляешься глупому анонимусу? И оправдываешься зачем? Зачем ты вообще отвечаешь на подобное, если тебе ответить нечего?

Ну, я могу привести аргументы за логгирование. Оно читабельное в выводе и в коде; низкий порог вхождения, переключение уровней отладки, включение только для определённых модулей. Навскидку. Теперь ты давай аргументы.

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

У анонима более 20 лет опыта разработки под дюжину разных платформ на многих языках. А что ты такое, чтобы вякать?

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

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

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

Оно читабельное в выводе

Если вы потратите время и сделаете его таким.

и в коде

Весьма сомнительно.

переключение уровней отладки, включение только для определённых модулей

Вам не лень писать продвинутое логгирование с модулями и уровнями только для того, чтобы понять логику в функции замечательного физика, поверхностно знакомого с программированием, или криворукого студента? Странно, что при этом у вас остаётся время на ЛОР.

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

А почему ты уподобляешься глупому анонимусу? И оправдываешься зачем? Зачем ты вообще отвечаешь на подобное, если тебе ответить нечего?

Чтобы вас позлить. Нажмите на кнопочку в моём профиле, сделайте одолжение.

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

У анонима более 20 лет опыта разработки под дюжину разных платформ на многих языках

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

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

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

Каким образом отладчик влияет на чьи-то представления о том, как работает код? Утверждение уровня фрейдизма.

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

место того, чтобы включить мозги и расставить точечно ассерты там, где это необходимо.

Чем принципиально отличается расставление assert'ов и breakpoint'ов? Первое иногда удобнее, я сам предпочитаю так делать, но расскажите пожалуйста, почему второе приводит к "неверным представлениям", а первое — нет?

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

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

Кроме того, ассерт в коде навсегда, он часть логики и документации (то есть - является аналогом контрактов в этом смысле), а брейкпоинты в коде не останутся.

Так же и с полноценным логгировантем. Оно останется в коде навсегда.

Твоя проблема в том, что ты сам не умеешь программировать. Но мнение иметь имеешь наглость.

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

Таким, тупой сопляк, что новички считают, что код исполняется именно так, как они видят при пошаговой отладке.

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

Не воняй, сосунок ничтожный. Я высказываю банальшину, с которой ни один спец не поспорит. Аргументы тут не нужны.

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

Откуда вы узнали, что они считают? Ах да, ниоткуда, это же всё ваши проекции.

P.S. Повторяете за Виртом, тупо копируете стиль Луговского. Своих мыслей у вас нет, не интересно.

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

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

А вы не видите разницу между уровнями отладки. Ещё до вас не дошёл смысл моего вопроса. И не надо мне "тыкать", пожалуйста.

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

Отладчик - инструмент для профессионала-паталогоанатома. Новичку его давать нельзя, пока он не научится писать код грамотно.

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

Казалось бы, причем тут ты и яга

Он слакварщик, там без алкоголя и веществ никак.

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

Оттуда узнал, сопляк, что я учил десятки таких как ты, покалеченных дебаггером.

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

не не не

лучший дебаг вырхнего языка (Си /пас/ чито угодно ) это дебагер маш кода

ибо отучает от бездумного прошагивания каждой команды .

printf - оно как информатор годно когда само не влияет на ситуацию .

как и эмуль /дебагер.

дебагер очень полезен для понимания семантики операторов - не больше не меньше

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

Ну в том то и дело. ) Чем бльше знаешь хоткеев - тем больше магии умеешь. Вот тут на сцене и появляется вим)
Мне вообще IDE перестали нравится, ибо много лишних окошек. Мне нужена только панель с закладками и браузер, в виме это есть плюс ещё и прячется по хоткею.

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

vim/gdb inb4: emacs

да вы шутники, однако

Чего вдруг? Сам пользую vim+urxvt+gnu screen+gdb. А вообще, такие темы как твоя меня всегда удивляют. Поработай по паре дней в разных средах и выбери то, что подходит лучше лично тебе.

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

в том же msvc для продуктивной работы тоже надо довольно много хоткеев знать, или предлагаешь каждый раз искать в меню или на тулбаре кнопочку? :)

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

чем assert от брэйкпоинта отличается, могу на примере показать:

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

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

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

На локальном компьютере это же поведение можно и breakpoint'ами сделать при желании. С отладкой на удалённой машине всё вообще весело.

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

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

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

P.S. Сам я отладчиком не пользуюсь, поскольку для GPGPU работающего нет.

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

На локальном компьютере это же поведение можно и breakpoint'ами сделать при желании.

Но не нужно. Потому как контракты - неотъемлимая часть логики и должны сохраниться в коде.

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

Ты живых студентов вообще видел когда либо?

После дебаггера они ничем другим пользоваться не хотят и не умеют. Синдром утенка и природная (возрастная) тупость.

когда нужно найти тупую ошибку в новом коде,

А тут как раз наиболее дидактически вредно использовать отладку. Они потом и дальше так будут все проблемы решать, лечением симптомов, а не причин.

например, или для любого рода реверс-инжиниринга.

Для новичков, в процессе обучения? Ты, сява, рамсы попутал. Ври, да не завирайся.

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

Потому как контракты - неотъемлимая часть логики и должны сохраниться в коде.

Кто-то сделал тупую ошибку в функции, перепутал параметры a и b. Чтобы найти ошибку, я смотрю состояние a и b до вызова и после, после чего исправляю ошибку. Какой контракт должен остаться в коде после этого?

После дебаггера они ничем другим пользоваться не хотят и не умеют.

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

dmfd
()

Code::Blocks

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

Можно и скрипт для дебаггера написать, с нужными условиями и логгированием интересущей информации. Хотя если есть возможность ребутнуть сервис или патчить бинарно живьем, то это проще сделать через «printf метод».

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

несоменно, все инструменты отладки должны дополнять друг друга, а не исключать. logging, ассерты, дебаггер с разными вариантами брейкпоинтов (не только по строчке в коде, но допустим и по изменению определённого адреса памяти, или условные). Туда же и тесты с TDD пожалуй стоит отнести - оно лучше всего тупые ошибки вылавливает ещё на этапе разработки.

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

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

invy ★★★★★
()

Жди, когда Жетбрайнсы плюплюснутую Идею зарелизят.

JN
()
Последнее исправление: JN (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.