Объявление

Односложные и бессмысленные темы, не несущие полезную нагрузку или не содержащие в себе вопрос, будут удаляться!

#1 16-07-10 00:52:17

Tiphon
Забанен
Здесь с 08-07-10
Сообщений: 2,718

Visual Studio 2010 vs. любая Linux IDE для С++

В соседней ветке я сказал, что при разраобтки ни линукс среди всех вимо-редакторов мне очень нехватает удобства Visual Studio 2010 (2008 тоже хороша).

Мне ответили, что есть хорошие IDE под линукс, я попросил подсказать (ибо ближайшие пол-года сидеть мне на линуксах и писать из под них на С++ - тоскливо). Но ветка трагически погибла при модерации)

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

0) Я пользуюсь Visual Studio 2010 + Visual assist X

1) Вообще, именно для написания кода удобные IDE под линукс есть, это и Eclips, и NetBeans с Sun IDE - они очень тормозные, тк.к. на джаве. Code::blocks ничего. Но нормально С++ они не парсят, автокомплит - не контекстный. Тормоза джавовских IDE приводят к тому, что если автокомплит задумывается на пол-секунды (это много!!! ), то он уже и не нужен. Плюс от автокомплита ждешь, что он будет предлагать что-то путное, но он предлагает все подряд. Можно смеятся, но в этом смысле тогда лучше просто Geany, хоть не тормозит)))

2) Но вот беда начинается с дебаггинга. Такого удобного дебага, как в VS я нигде близко не видел.

Подскажите пожалуйста IDE для С++ подстать VS 2010.

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

Рассматривать же язык+IDE vs. язык+IDE не совсем корректно ввиду расплывчатости языков, средств и заточки этих языков. Хотя есть модули для большинства этих языков под VS - это тоже сторонние модули.

А так, использовать C# + VS2010 вместе - это ни с чем не сравнимое удовольствие. Это как ехать на хорошей машине по хорошей дороге. И в этом смысле мелкомягкие в связке их языков и VS - впереди планеты всей. Ну просто потому, что такой интеграции нет больше нигде. У них и свои языки, и свой сервер, и своя БД, и своя консоль, и своя ОС, и свои технологии, и все это, сделано, чтобы работало вместе и под всю эту разработку своя IDE.

Поэтому давайте сравнивать по C++.

Отредактировано Tiphon (16-07-10 00:55:23)


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Вне форума

#2 16-07-10 01:53:05

whoknows
Гость

Re: Visual Studio 2010 vs. любая Linux IDE для С++

В чём конкретно проявляются трудности дебага? Я использую связку GNU/Linux + GCC + GDB + Eclipse и особенных проблем с дебагом не вижу. А использование дополнительных либов позволяет искать утечки памяти и профилировать приложения без всяких проблем. Единственное, что там плохо, evaluate expressions скорее не работает, чем работает. Но это лечится диагностическим выводом в консоль (лог) необходимой информации.

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

#3 16-07-10 02:13:57

Linups_Troolvalds
С нами Баг!
Откуда: Отовсюду
Здесь с 06-10-09
Сообщений: 2,100

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Tiphon пишет:

ибо ближайшие пол-года сидеть мне на линуксах и писать из под них на С++ - тоскливо

Значит есть два вероятных исхода:
1. Включатся мозги, и вы поймете, о чем я говорю.
2. Вы зайфэйлите работу, и вам намылят одно место. От этого тоже могут включиться мозги, потому что если п.1 не выполнится, то они у вас именно там, где намылят.

Отредактировано Linups_Troolvalds (16-07-10 02:15:40)


.:``́3̶E̶P̶O̶W̶h̶`́`:.

Вне форума

#4 16-07-10 13:00:21

Tiphon
Забанен
Здесь с 08-07-10
Сообщений: 2,718

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Linups_Troolvalds пишет:

Значит есть два вероятных исхода:
1. Включатся мозги, и вы поймете, о чем я говорю.
2. Вы зайфэйлите работу, и вам намылят одно место. От этого тоже могут включиться мозги, потому что если п.1 не выполнится, то они у вас именно там, где намылят.

Оффтоп и злой флуд) Не намылят, я хорошо пишу, так что не позлорадствовать вам. Но вот лучше бы что-то сказали конструктивное, кроме пука в воду.

Ну, ГДБ - понятно. Там, в общем, все - морда ГДБ. 
В дебаге все банально начинается с того, чтобы я подводил мышу к любой переменной и мог видеть, чему она равна. Если это класс, то я мог не отводя далеко мышу смотреть все его члены, разворачить члены бызового класса (понятно, что про другие объекты - тоже самое). Просматривать строковые переменные, да чтобы можно было легко менять формат вывода переменных (хекс, десятичные, например, адрес - значение по адресу и т.д.). Мне многого не надо, но чтобы это было - обязательно. И не подсовывайте эклипсовские уродские окна watch. Такими окнами можно иногда пользоваться, если глубоко копать, но не каждый раз.

Во-вторых мне нужны кондишенелы. Чтобы нормально можно было останавливать дебаг под нужную ситуацию.

В-третих - удобно иметь достойный вотч (если уж до него доходит) и историю изменений. Нормальную.

В-четвертых - нормальное средство просмотра и снапшота нескольких потоков и процессов.

Вот, это для начала, если без всяких извращений. В эклипсе это все по большей части есть (про потоки не видел и история изменений), только очень топорно и не удобно.

Понимаете...  Представьте, что я прилетел с другой планеты к вам. Скажем, ездил всю жизнь в германии на BMW, а тут приехал в россию и меня сажают за девятку. Я спрашиваю, а что у вас нет кнопки, чтобы стекло опустить? А мне надменно говорят "А что, ручку покрутить уже нельзя?".


whoknows пишет:

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

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

JSP, конечно, ничего, тоже не спорю.

З.Ы. Ребята, если вы пишите на эклипс и вам все нравится, то попробуйте снять презерватив и сравните ощуще... В смысле, поставьте на виртуальную машину какую-нибудь винду, туда VS2010 + Visual assist x и пару недель что-нибудь попишите. А то, виндоузятниу уже как несколько лет отслеживаю все ваши IDE, а вы тоже наши посмотрите, чтобы потом нас же обсирать удобнее было))))

Отредактировано Tiphon (16-07-10 13:05:27)


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Вне форума

#5 16-07-10 13:36:24

Linups_Troolvalds
С нами Баг!
Откуда: Отовсюду
Здесь с 06-10-09
Сообщений: 2,100

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Tiphon пишет:

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

Я бы на этом месте закончил собеседование фразой "Вы идеально подходите нашим конкурентам".
У меня нет цели вас оскорбить или унизить. Дело лишь в том, что если разработчик умеет применять визуальные средства автоматизации разработки и отладки и знает их положительные качества - это плюс, а если он требует такие средства, причем конкретного плана, и считает их единственно верными и удобными, то все очень наоборот. Если вы умеете ходить на руках и лазать по деревьям - это хорошо, если не можете нормально ходить на ногах - инвалидность.

Tiphon пишет:

Во-вторых мне нужны кондишенелы. Чтобы нормально можно было останавливать дебаг под нужную ситуацию.

В-десятых, в-сотых...(man gdb && man valgrind)||(встали и ушли в свое вижл стюдио.)

Tiphon пишет:

Понимаете...  Представьте, что я прилетел с другой планеты к вам.

...а тут туземцы в белых халатах пристают, в белое одевают и уколы делают. Понимаем.

Tiphon пишет:

Я спрашиваю, а что у вас нет кнопки, чтобы стекло опустить?

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

Tiphon пишет:

Ребята, если вы пишите на эклипс и вам все нравится

Grammar Nazi рекомендует вам во избежание получения избыточной дозы свинца написать себе спеллчекер. Хоть на брейнфаке, только чтоб работал. А то серьезно говорить с людьми, которые пишут "если вы пишите", извините, очень трудно.
А по существу, все эти ваши требования IDE с маджонгом и гейшами указывают на очень низкую вероятность того, что

Tiphon пишет:

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

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

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

Отредактировано Linups_Troolvalds (16-07-10 14:03:37)


.:``́3̶E̶P̶O̶W̶h̶`́`:.

Вне форума

#6 16-07-10 13:46:33

whoknows
Гость

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Tiphon пишет:

Вот, это для начала, если без всяких извращений. В эклипсе это все по большей части есть (про потоки не видел и история изменений), только очень топорно и не удобно.

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

Под виндой, я, как ни странно, тоже программирую на Eclipse smile От Java-кодинга впечатления на 5+, от С++ - достаточно комфортно (проблемы возникают скорее от собственного криворучия). Попробуйте последнюю версию Eclipse - прогресс CDT (С/C++ dev kit) расширения от 3.2 до 3.4 (Ganymede) просто колоссальный в плане разных автокомплитов.

Вы С++ код только для .net писали? Если так, то, скорее всего, того же уровня удобства на компиляторах в нативный код вы не получите. JVM/.net сохраняют всю информацию о классах, чего не скажешь о нативном C++.

Кстати, те же JSP в проекте на 30 человек писал в plain text (без автокомплитов, подсветки и прочей валидации) - качество и производительность были минимум на "хорошо". (Не)Зависимость от свистоперделок - это всего лишь дело привычки.

Обсирать я ничего не собираюсь, просто в тулах для C++ кодинга лучше Eclipse особой необходимости для себя не вижу. Если он вам не подходит - тяжёлый вам предстоит период smile. Хотя может и наступит потом просветление smile

P.S.

Tiphon пишет:

Во-вторых мне нужны кондишенелы. Чтобы нормально можно было останавливать дебаг под нужную ситуацию.

Это там точно есть. Насколько хорошо работает - не знаю. На Жаве щ завёл привычку в код ставить if (cond) {int __temp = 0} - работает ничуть не хуже, зато гораздо быстрее smile. Поэтому на С++ даже не проверял.

Отредактировано whoknows (16-07-10 13:49:09)

#7 16-07-10 15:20:26

Tiphon
Забанен
Здесь с 08-07-10
Сообщений: 2,718

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Linups_Troolvalds пишет:

т.к. программы пишутся "на ЯП", а не "на средах разработки".

Мне конечно хочется высказать одно яркое и короткое (из 6 букв) слово в поддержку ваших мыслительных способностей, но я воздержусь.

Вместо этого замечу, что вы совершенно не в теме=) Полный непрофессионализм, не понимание и нубизм.

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

whoknows пишет:

Если он вам не подходит - тяжёлый вам предстоит период

Угу. Но кто-то на этом форуме хотел рассказать, что есть лучшая жизнь, чем эклипс под линукс на С++...

whoknows пишет:

Вы С++ код только для .net писали?

Я нативный код пишу, но Visual assist X очень хорошо парсит С++, больше, в общем-то, я такого нигде пока не видел(

Отредактировано Tiphon (16-07-10 15:28:03)


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Вне форума

#8 16-07-10 17:17:11

Linups_Troolvalds
С нами Баг!
Откуда: Отовсюду
Здесь с 06-10-09
Сообщений: 2,100

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Tiphon пишет:

Вместо этого замечу, что вы совершенно не в теме=)

А вы аргументируйте.

Tiphon пишет:

Полный непрофессионализм, не понимание и нубизм.

Аргументы, уважаемый, будут? Или только песенки про "вижлстюдио рулез форева"?

Tiphon пишет:

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

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


.:``́3̶E̶P̶O̶W̶h̶`́`:.

Вне форума

#9 16-07-10 17:37:41

Tiphon
Забанен
Здесь с 08-07-10
Сообщений: 2,718

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Да у тебя батхерт и слив начался без моей аргументации. Лучше помолчи и не гадь в теме, может люди чего умного посоветуют.

Отредактировано Tiphon (16-07-10 17:41:48)


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Вне форума

#10 16-07-10 17:50:47

Linups_Troolvalds
С нами Баг!
Откуда: Отовсюду
Здесь с 06-10-09
Сообщений: 2,100

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Tiphon пишет:

Да у тебя батхерт и слив начался без моей аргументации.

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

Tiphon пишет:

Лучше помолчи и не гадь в теме, может люди чего умного посоветуют.

Всё умное уже посоветовали. Если это непонятно, то следующий умный совет уже нарушит правила форума.

Отредактировано Linups_Troolvalds (16-07-10 17:51:55)


.:``́3̶E̶P̶O̶W̶h̶`́`:.

Вне форума

#11 16-07-10 18:09:07

whoknows
Гость

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Tiphon пишет:

Угу. Но кто-то на этом форуме хотел рассказать, что есть лучшая жизнь, чем эклипс под линукс на С++...

На самом деле я хотел сказать, что ВАМ предстоит тяжёлый период. Я, например, вполне себе доволен smile
Соответствие стандартам (у МС это традиционно довольно посредственно) для меня гораздо важнее, чем свистелки-перделки, которыми я не пользуюсь.

Сразу могу пример насчёт стандартов, чтоб упредить комментарий - у переменной цикла в MSVC 6 была область видимости родительского блока вместо области собственно цикла. Раздражало ужас как.

#12 16-07-10 18:12:43

Tiphon
Забанен
Здесь с 08-07-10
Сообщений: 2,718

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Linups_Troolvalds пишет:

Совершенно верно, насчет слива.

Короче, ты можешь думать что хочешь, но:
1) под "профессиональной разработкой" - я понимаю разработку не только качественную (это само собой), но и быструю. Ты "продаешь"(отдаешь) готовый продукт, на производство которого тратишь свой ресурс - время, за это получаешь деньги (или удовольствие от ощущения разработки, но лучше всего, когда и то и другое). Причем платят тут именно за законченный продукт, а не за твое время. И чем меньше ты на продукт затратил времени, тем выгоднее "сделка". (Пускай даже это опен соурс и ты получаешь не деньги, а только моральное удовлетворение).
2) в профессиональной разработке людей сильно привязывают IDE.

Либо ты оспариваешь этот факт, либо ты слил.

Отредактировано Tiphon (16-07-10 18:19:19)


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Вне форума

#13 16-07-10 18:15:01

Tiphon
Забанен
Здесь с 08-07-10
Сообщений: 2,718

Re: Visual Studio 2010 vs. любая Linux IDE для С++

whoknows пишет:

что ВАМ предстоит тяжёлый период

Да пишу я себе под линукс, все нормально. Делаю это под gvim и прикрученным gdb, и настроено у меня все достаточно сносно. Просто каждый раз, когда пересаживаюсь с одного на другое - становится очень грустно. Что "линукс для профессионалов", но даже профессиональной IDE для разработки конкурентной нет.

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

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

З.Ы.Ы. Кстати, раз уж про вим, то я вам могу рассказить и про вим под Visual Studio...

Отредактировано Tiphon (16-07-10 18:18:26)


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Вне форума

#14 16-07-10 18:32:47

whoknows
Гость

Re: Visual Studio 2010 vs. любая Linux IDE для С++

code.google.com/p/google-perftools/
code.google.com/a/eclipselabs.org/p/cppcheclipse

может эти тулы скрасят жизнь под линухом wink (тут правда вопрос качества, а не скорости)

Tiphon пишет:

под "профессиональной разработкой" - я понимаю разработку не только качественную (это само собой), но и быструю

Быстрая разработка слабо зависит от IDE. Согласно одному исследованию (пруфлинка не будет, ибо в какой-то книге читал) нормальная производительность программиста около 100 строк кода в неделю. Возможно, имелись в виду системные программисты, ибо энтэрпрайз-быдлокодинг намного более простой и прямолинейный. Но тем не менее, скорость набора текста далеко не главное. Основное время тратится на "думать" и "дебажить". А для этого гораздо более важно уверенно знание API и возможностей/граблей языка. Поэтому вряд ли вы сильно потеряете в производительности программируя "не под MSVC".

Tiphon пишет:

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

Скорее всего это лечится заданием маппингов скан-кодов на символы для терминалов. Настройка клавиатуры для терминала отличается от иксов. Опытные линуховоды должны подсказать как можно задать там дворака.

#15 16-07-10 18:57:38

Linups_Troolvalds
С нами Баг!
Откуда: Отовсюду
Здесь с 06-10-09
Сообщений: 2,100

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Tiphon пишет:

1) под "профессиональной разработкой" - я понимаю разработку не только качественную (это само собой), но и быструю.

Ну, в общем, конечно, вы правильно понимаете. Итак, с чего вы начнете процесс не только качественной, но и быстрой разработки?

Tiphon пишет:

2) в профессиональной разработке людей сильно привязывают IDE.

Вовсе и не обязательно. Почему вы считаете что привязывают? Начальство, что ли, уволит, если без IDE(или в другой IDE) будете писать? Может быть, имелось в виду, что когда человек обучается программированию (всерьез) сразу на IDE, то срабатывает "синдром утенка"?


.:``́3̶E̶P̶O̶W̶h̶`́`:.

Вне форума

#16 16-07-10 19:17:29

whoknows
Гость

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Linups_Troolvalds пишет:

Может быть, имелось в виду, что когда человек обучается программированию (всерьез) сразу на IDE, то срабатывает "синдром утенка"?

Кстати, не исключено, что сей феномен имеет место быть smile

#17 16-07-10 19:18:57

whoknows
Гость

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Tiphon пишет:

З.Ы.Ы. Кстати, раз уж про вим, то я вам могу рассказить и про вим под Visual Studio...

Вперёд, пока что связи между ними не вижу smile

#18 16-07-10 22:19:01

Tiphon
Забанен
Здесь с 08-07-10
Сообщений: 2,718

Re: Visual Studio 2010 vs. любая Linux IDE для С++

whoknows пишет:

Быстрая разработка слабо зависит от IDE. Согласно одному исследованию (пруфлинка не будет, ибо в какой-то книге читал) нормальная производительность программиста около 100 строк кода в неделю.

100 строк в неделю - это как-то очень сильно. Обычно люди по 40-50 пишут, чтобы не более, чем по 7 строк в день, т.е. не более, чем 1 строка в час + обед и перекуры)))

Давайте мысли

whoknows пишет:

Основное время тратится на "думать" и "дебажить".

Давайте не будем смешивать IDE и время на раздумья над архитектурой программ. Просто тут подходы могут быть совершенно разные. Например, может быть архитектор, который продумывает и кодеры, которые этокодят. Может быть парное программирование. Продумывание может быть в виде написание юнит тестов вперед. От IDE, кстати, архитектура зависит, но косвенным образом.

Когда же идет процесс кодинга намеченной архитектуры ПО, то много думать не надо, программирование на 99% состоит из использования типовых алгоритмов и кусков кода (if else... if else... for...). Более того, я не знаю, у кого там дебаггинг отнимает больше времени, чем разработка, но у меня, например, дебаггинг занимает меньше времени. Только опять же, дебаггинг и тесты с выявлением багов - это разные вещи которыми, по совести, занимаются разные люди.

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

Поехали.

Ваши пальцы зависли над клавиатурой.

Начнем с кодинга.

Давать переменным понятные имена, это ведь хорошо? Это делает программу удобочитаемой и легче воспринимаемой (а мы все, как профессионалы, делаем такой код к которому надо возвращаться вновь и вновь, ну, хотя бы, чтобы повторно его использовать или апдейтить). Т.е. нам приятно, если код приятно читать.

Если я каждый раз, пусть и со слепым методом печати, буду набирать что-то вроде ExpressionProviderBase , то, понятно, я опухну, поэтому без автокомплита я буду хреначить что-нибудь вроде exprn_prov  и прочую путатень. Но если у меня есть автокомплит, то использовать удобочитаемые имена сразу становится легко. Что лучше, экономить время или делать код более удобочитаемым? Ну конечно, лучше быть богатым и здоровым, чем бедным и больным. Все знают.

Но сразу появляется другой эффект по экономии времени. Например, одна из библиотек, которую я использую, имеет вот столько классов (зайдите не поленитесь)
root.cern.ch/root/html/ClassIndex.html
Помнить все это, конечно, невозможно. Особенно учитывая, что это не все, чем ты пользуешься в своей жизни. Более того, С++ просто один из языков.. А ведь у каждого класса еще куча функций. И вот хоть тресни, не запомнить, как с точностью до символа каждая из них пишется. 

Но я помню примерно, что мне: "нужно событие, значит Event, ага, мне выскакивают варианты - FileEventProvider - Оно. И у него вот есть такая функция... Чтения всех событий... Таккк... Read... похоже, ReadAllEvents - оно". Дальше смотрим по типам и по комментам, в какой последовательности надо пихать переменные. Вуаля! Время на открытие браузера и чтение мануала - сэкономлено. И это то, что во время кодинга приходится делать постоянно.

Только я вас огорчу, в линуксе этого нет (Может только в новом эклипсе...) Т.е. когда я введу Event мне сподобятся показать только все на слово Event, но никак не FileEventProvider.

Но мы двинемся дальше по "контекстному" автокомплиту. И разберем один из примеров. 
Представим я написал:
FileEventProvider * provider = ... И вот тут наступает время автокомлита. Как вы считаете, что я захочу делать если я после этого наберу букву n?
FileEventProvider * provider = n... - вероятнее я хочу написать new, значит из всего списка new  должно выпадать первым. И вероятнее всего, после этого я хочу сделать
FileEventProvider * provider = new FileEventProvider (...
Значит после new из открывающегося списка FileEventProvider  будет первым. Если у него есть только один конструктор, например, по умолчанию, то можно и преложить сделать
FileEventProvider * provider = new FileEventProvider ().
Маленькая мелочь, хоть и описал я ее на много слов, но она дает мне 2-я табами реализовать то, что я задумал и идти дальше. За эти два таба в блокноте человек написал бы уже "ne".

Но такого контекстного автокомплита в линуксе нет. Вообще, я когда первый раз за линукс сел (а тогда еще и эклипс ненормальный был, только вим), написал своему напарнику в россии, мол, как так у вас дела с автокомплитом обстоят? А он так замялся, что мол и зачем автокомплит использовать? А оказывается под линуксом его и нет, а когда в эклипсе он происходит с тормозами, так и вообще, действительно, зачем его использовать.

Конечно. Такой автокомплит может приносить много-много других микро радостей в жизни. Капяля бесплатно? Накапайте стаканчик...

А мы двинем дальше.

Допустим у вас есть .h файл со стандартным сеттером
void SetValue(int value){
   fValue = value;
}
но тут вы решили дописать в него функционала, а значит, переместить из хедера в cpp файл. Что для этого надо сделать в блокноте:
1) выделить эти 3 строчки.
2) скопировать их в буфер обмена
3) поставить ";" после void  SetValue(int value);
4) удалить {
   fValue = value;
}
5) перейти в файл cpp
6) вставить в него скопированную функцию SetValue
7) дописать имя класса void Class::SetValue...
8) можно приступать к редактированию.

В студии с ассист Х для этого я просто щелкаю правой кнопкой мыши на имени функции и выбираю "Move to source" (ну или сочетание клавишь ". И если надо обратно, то всегда есть  "Move to header". Сокращается время, нервы?

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

Каждая из этих 1000 мелочей экономит время. К хорошему быстро привыкаешь. А тебя хуеяк - на вим... Нет, вим хороший, он очень передовой. Был. В 97 году. 

Сам я с компами еще с ДВК 2, поэтому никакой гусиной хуйни, в смысле утиной болезни у меня нет))) Просто в итоге выбрал лучшее, что есть. Но интересно, может я просто чего-то не знаю и есть достойная замена.

А IDE заставляет привыкать к себе очень просто. Даже не беря студию, вы пробовали брать vim-овца с уже заточенными спинномозговыми рефлексами на каждую операцию и пересаживать за emacs?)) Или наоборот?

Именно то, что есть  vim-овцы с уже заточенными спинномозговыми рефлексами и толкает к тому, что есть 2 пакета симулирующих vim на Visual Studio. Правда один пока не допилили, а второй постоянно падает)))))

Отредактировано Tiphon (16-07-10 22:23:53)


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Вне форума

#19 16-07-10 22:51:09

whoknows
Гость

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Tiphon пишет:

Что лучше, экономить время или делать код более удобочитаемым?

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

Tiphon пишет:

Только я вас огорчу, в линуксе этого нет (Может только в новом эклипсе...)

Опять же что-то в таком духе в Eclipse есть.

Tiphon пишет:

Значит после new из открывающегося списка FileEventProvider  будет первым. Если у него есть только один конструктор, например, по умолчанию, то можно и преложить сделать
FileEventProvider * provider = new FileEventProvider ().

Это в Eclipse есть.

Tiphon пишет:

В студии с ассист Х для этого я просто щелкаю правой кнопкой мыши на имени функции и выбираю "Move to source" (ну или сочетание клавишь ". И если надо обратно, то всегда есть  "Move to header". Сокращается время, нервы?

Это фигня. Проблема техническая. Для одного класса (ну или заголовочного файла) может быть необходимо создавать несколько файлов с реализацией (кросс-платформ девелопмент, щ размеров итогового бинарника, коллективная разработка/тестирование - причины могут быть разные). При этом предложен будет самый прямолинейный вариант, который не всегда работает. Ну и экономия тут секунды 2. Если щ будет (мастера со своими диалогами тоже требуют времени и внимания). К слову, возможно, в Eclipse такое уже есть. Под виндой у мяне версия 3.3 (Europa), CDT там значительно слабее Ганимедного 3.4. В Ганимеде+ вероятно, что-то такое появилось, так сказать, для любителей.

Tiphon пишет:

А IDE заставляет привыкать к себе очень просто.

Отвыкать тоже несложно. Мне, например, всё равно где чём писать код. Само забивание кода времени занимает немного. Дизайн (если можно так выразиться) + оптимизация + отладка + создание тестов занимают об'ективно больше времени чем кодирование первого рабочего прототипа. При работе с готовым кодом практически все возможности IDE по редактированию кода оказываются ненужными.
Да, богатые возможности Eclipse по рефакторингу Жава-кода когда-то позволили быстро и кардинально (в плане функциональности) обновить одну очень core-фичу на бывшем проекте без того, чтобы проект на 50-100 модулей слёг в конвульсиях. Но для обычного кодинга редко пользуюсь, а когда пользуюсь, потом щ приходится всё перепроверять, ибо машина - дура. Хотя и так бы справился, без рефакторинга, но сколько раз пришлось бы пересобирать проект - не знаю.

Попробуйте последние версии Eclipse и (может быть) NetBeans. Eclipse CDT довольно динамично развивается. Может быть, под ваши потребности там уже что-то появилось, чего не было раньше.

P.S.

Tiphon пишет:

100 строк в неделю - это как-то очень сильно.

"Сама в шоке", как говорится. Но щ, производительность реальная гораздо ниже, чем "по щ(сч)ениям". Достаточно взять какое-нибудь проектное задание на человеко-месяц и посчитать реальное кол-во строк кода, который за этот месяц (если уложился, хе-хе) получилось создать. Если добавить при этом требование, чтобы не просто работало, а работало корректно (тестирование, + 20-100%) и щ и быстро (профилирование, интеграционные тесты, бенчмарки, +20-500%) и кросс-платформенно (???), то так и будет. Масштабный кодинг сначала, а потом только щ с готовым кодом и напильником и бубном.

#20 16-07-10 22:57:49

Tiphon
Забанен
Здесь с 08-07-10
Сообщений: 2,718

Re: Visual Studio 2010 vs. любая Linux IDE для С++

whoknows пишет:

При этом предложен будет самый прямолинейный вариант, который не всегда работает. Ну и экономия тут секунды 2. Если щ будет (мастера со своими диалогами тоже требуют времени и внимания).

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

whoknows пишет:

Отвыкать тоже несложно.

Если это не vim. Прикинь, че делать, когда ты 10 лет вбиваешь в пальцы команды, а потом тебе это вдруг не нужно?)))

whoknows пишет:

а работало корректно (тестирование, + 20-100%) и щ и быстро (профилирование, интеграционные тесты, бенчмарки, +20-500%) и кросс-платформенно (???), то так и будет.

Это один человек должен делать?)))) Тот же, кто набирает код? Или есть архитекторы, тестеры, разработчики, тупо-кодеры? В массштабном кодинге)

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

Отредактировано Tiphon (16-07-10 22:58:35)


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Вне форума

#21 16-07-10 23:16:26

whoknows
Гость

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Tiphon пишет:

Это один человек должен делать?))))

щ-то автор кода (если он) не дебил такую работу сделает лучше других. Потому что другим нужно вникать в то, что написано, где тут возможны проблемы и как с этим жить. Black-box тестирование может сделать и специально обученный этому щ, остальное - неэффективное распределение сил. Случай типичного студента-программиста щ - там действительно даже кодирование доверить сложно.
Вариант - парное программирование. Один думает, как сделать, чтобы это работало, а второй - как сделать, чтобы это работало лучше.

Tiphon пишет:

он ближе всего подходит под человеческую IDE, только невероятно тормозной.

Тормоза вижу только на старте (при условии, что памяти эклипсу выделено 256 MiB) - скорее всего криво реализованная lazy-инициализация компонентов. После того, как все нужные меню "прокликаны", работает всё нормально. В остальном скорость очень хорошая. А время компиляции щ только от внешнего компилятора зависит.
Могу посоветовать ставить меньше плагинов, разве что. Если Java или подсветка XML или доступ к SVN репозиторию не нужны, то такие расширения лучше выкинуть из дистрибуции. Может, в этом дело. А, ну и галку убрать насчёт "build automatically".

#22 16-07-10 23:21:57

Tiphon
Забанен
Здесь с 08-07-10
Сообщений: 2,718

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Ну я апрельский еще не видел. Может действительно оптимизировали его.

whoknows пишет:

остальное - неэффективное распределение сил.

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


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Вне форума

#23 16-07-10 23:30:42

whoknows
Гость

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Tiphon пишет:

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

Такой вариант возможен.

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

Tiphon пишет:

Ну я апрельский еще не видел. Может действительно оптимизировали его.

Вот мой eclipse.ini (виндовый, для Eclipse 3.3)
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Xms40m
-Xmx320m
-server

Плагинов, кроме JDT, JUnit, CDT, CVS, SVN, checkstyle, checkcpp, нет. Работает всё на Pentium Mobile 2000 вполне себе приемлемо. Компилятор С++ разве что тормознутый.

#24 17-07-10 00:13:51

IvanOFF
Участник
Здесь с 26-12-09
Сообщений: 1,653

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Дискуссия опять ушла в технические дебри. Но увы и ах, технические параметры зачастую последнее, на что обращают внимание при выборе IDE. Если вы пишите сами и для себя - может быть, но как правило разработка ведется в коммерческих целях, неважно на продажу это ПО или для собственного потребления. Здесь на первый план выходят вопросы экономического характера, мнение программиста тут будет учитываться в последнюю очередь, он наемный рабочий, поэтому или работает как этого требует работодатель, или идет нахуй.

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


"Оно, конечно, можно научить медведя ездить на велосипеде. Да только будет ли медведю от этого польза и удовольствие?" (с) А. и Б. Стругацкие

Вне форума

#25 17-07-10 00:22:07

Linups_Troolvalds
С нами Баг!
Откуда: Отовсюду
Здесь с 06-10-09
Сообщений: 2,100

Re: Visual Studio 2010 vs. любая Linux IDE для С++

Tiphon пишет:

100 строк в неделю - это как-то очень сильно. Обычно люди по 40-50 пишут, чтобы не более, чем по 7 строк в день, т.е. не более, чем 1 строка в час + обед и перекуры)))

/me с ужасом начинает понимать, для чего вам IDE, точнее - почему...
А в длинном сообщении #19 вы правда описали тот самый процесс быстрой и качественной разработки?
Может быть, слово какое перепутали, или я не так понял?

Tiphon пишет:

Давать переменным понятные имена, это ведь хорошо?

А кому понятные? Компилятору и без этого понятно. А человеку ваши Taumatawhakatangihangakoauauotamateaturipukakapikimaungahoronukupokaiwhenuakitanatahu только усложнят понимание.

Tiphon пишет:

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

Автодополнение есть даже в Kate, и в vim тоже. И если его забыли для вас настроить в M$-стиле - извините, вам надо, вы и настроите. Я понимаю насчет автодополнения, это как раз причина, заставляющая меня валяться под стулом, когда мне рассказывают про ужасы shell. Мышь работает медленнее.

Tiphon пишет:

Маленькая мелочь, хоть и описал я ее на много слов, но она дает мне 2-я табами реализовать то, что я задумал и идти дальше. За эти два таба в блокноте человек написал бы уже "ne".

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

Tiphon пишет:

Сокращается время, нервы?

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

Tiphon пишет:

Каждая из этих 1000 мелочей экономит время.

О, экономия времени совершенно очевидная. Строка в час, это всё объясняет.
/me входит в транс...

Tiphon пишет:

Сам я с компами еще с ДВК 2, поэтому никакой гусиной хуйни, в смысле утиной болезни у меня нет)))

Вряд ли вы писали на ДВК программы на плюсах для виндовс или линукс. Так что утиный (почему болезнь, совершенно нормально) синдром не отменяется.

Tiphon пишет:

А IDE заставляет привыкать к себе очень просто. Даже не беря студию, вы пробовали брать vim-овца с уже заточенными спинномозговыми рефлексами на каждую операцию и пересаживать за emacs?)) Или наоборот?

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

Tiphon пишет:

Прикинь, че делать, когда ты 10 лет вбиваешь в пальцы команды, а потом тебе это вдруг не нужно?)))

Тогда это просто не нужно. Привычки - это вредно, они сковывают.
Я еще раз повторю: использование сильных сторон IDE - это позитивно, зависимость от них - зло.


.:``́3̶E̶P̶O̶W̶h̶`́`:.

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 0

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.020 сек, 7 запросов выполнено - Использовано памяти: 1.9 Мбайт (Пик: 1.98 Мбайт) ]