LINUX.ORG.RU

[C++] В чем писать? | Разочаровался в emacs'e

 


0

1

Вобщем с лицензионной винды и пиратской vs2008 ушел два месяца назад на линукс(slackware). Разобрался в не достаточно быстро, стал искать среду программирования на С++, сначала посмотрел vim, который жутко не понравился своими режимами, потом eclipse который показался мне каким то не "линуксовым" т.к очень смахивал на ВС. Начал копатсья в емаксе, полтора месяца я его настраивал, думал что еще можно допилить до состояния норамльной IDE под C++, надо сказать многое я сделал, дописал свои хоткеи, настроил внешний вид, автодополнение, работу с буферами и.т.д. Не удалось разве что допилить нормально отладчик. Когда стал писать, можно сказать рельный проект, на классах, я понял что емакс работает через одно место, автодополнение не дополняло, дебагер путал точки остановки (ну тут наверное я что то не достроил, если я дописывал пару строк, приходилось удалять все брекпоинты и растовлять заного, жуткое отслеживание значение переменных с указателями) Вчера попробовал QT creator, удивительно но он меня вполне устроил, там нормально работает и дебагер и автодополнение и точки остановки не путаются. В емаксе очень нравились хоткеи, в qt creator они как то упрощены и мало функциональные. В емаксе я вобще мышку не использовал, а в креаторе приходится, ну или может быть просто не привык еще. Так собственно вопрос, емакс действительно фиговое среда для писание на С++ или это у меня руки кривые и я его не допилил.

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

>А вообще, критикуешь - предлагай. Что у нас сейчас живое, перспективное и ведущее в светлое будущее?

LISP, конечно же :) ну ещё Objective-C и Eiffel, пожалуй

>И сколько реальных приложений на этом написано?

нерелевантно

>Существует огромная куча уже имеющегося кода на плюсах

увы. и её всё прибывает

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

> LISP, конечно же :) ну ещё Objective-C и Eiffel, пожалуй

Тогда еще C и платформо-специфичный Assembler надо оставить как безальтернативные в своих нишах.

>> И сколько реальных приложений на этом написано?

> нерелевантно

А что релевантно тогда? В чем смысл супер-пупер языков, на которых не пишутся реально используемые приложения?

>> Существует огромная куча уже имеющегося кода на плюсах

> увы. и её всё прибывает

Прибывает, библиотека Qt4 и ее оLGPLвание этому способствует )

А почему "увы"? Где же альтернативные инструменты? Почему нет ни браузера с их использованием, ни офисного пакета, ни даже IDE (как это с жабкой)?

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

>А что релевантно тогда?

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

>В чем смысл супер-пупер языков, на которых не пишутся реально используемые приложения?

в том, что они таки пишутся

>Прибывает, библиотека Qt4 и ее оLGPLвание этому способствует )

ещё раз увы. хотя Qt, пожалуй, один из лучших вариантов применения C++

>Где же альтернативные инструменты?

ну, парочку я назвал. ещё можно упомянуть *ML, заодно вспомнив про такое:

http://www.cs.nyu.edu/leunga/www/prop.html

и такое:

http://felix.sourceforge.net/

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

а вместо того, чтобы выступать тут с сомнительными аргументами о "браузерах, офисных пакетах и IDE",- почему бы просто самому не попробовать и не сравнить?

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

> а ещё можно развести унылый флейм про уродливость классического ООП, ад шаблонного метапрограммирования, минимум возможностей верификации и засилие быдлокода

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

>а вместо того, чтобы выступать тут с сомнительными аргументами о "браузерах, офисных пакетах и IDE",- почему бы просто самому не попробовать и не сравнить?

А что можно попробовать и сравнить? Какие есть приложения (не обязательно с GUI), которые можно попробовать и сравнить с уже имеющимися?

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

Ребята

Ну хватит ругаться

Тот же С++ очень мощьный инструмент, при умелом использовании

Вот только что такое для него умело использование не знает даже Александреска, а только предполагает

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

Мы кажется ушли в сторону от первоначального вопроса что касается IDE - то можно обратить на тот факт - везди ли вы сможете ее таскать с собой, есть разные угребищные оси типа МСВС где эклипс запустить - ацкие танцы с бубном(и всеравно не запустится), а емакс собрать - 5 минут , хотя тот же netbeans в данном случае выручит

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

> Мы кажется ушли в сторону от первоначального вопроса

К черту первоначальный вопрос, там всё ясно - Eclipse рулит и педалит :D Душа просит OO-флейма.

> есть разные угребищные оси типа МСВС где эклипс запустить - ацкие танцы с бубном(и всеравно не запустится)

Для ублюдочных осей у нас есть кросс-разработка и mc.

> хотя тот же netbeans в данном случае выручит

Я не понял - в МСВС нельзя запустить Eclipse, но можно запустить NetBeans?

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

плюс посмотри последнюю статью от Alex Ott про cedet.

to Alex Ott Большое спасибо!!!!!!! пишите еще :)

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

eclips использует для отрисовки окон SWT - тот в линуксе работает используя GTK, для GTK нужен Glibc, для eclipse 3.4 требуется Glibc версии не менее 2.3 , в МСВС версия Glibc - 2.1.3, если не ошибаюсь. Cамому собрать Glibc в МСВС- флаг вам в руки, если сможете - напишите плиз статью, а NetBeans для отрисовки окон использует SWING - ему ничего кроме джава машины не нужно. так что получается, что NetBeans более кроссплатформенный, чем Eclipse :)). И еще, давайте не разводить флуд, человек попросил помощи, а не засёр мозгов

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

> NetBeans для отрисовки окон использует SWING - ему ничего кроме джава машины не нужно.

Java тоже нуждается в Glibc.

> так что получается, что NetBeans более кроссплатформенный, чем Eclipse :))

Фраза постороена так, что как бэ намекает на теоретичность рассуждения. Поэтому я повторю вопрос: можно ли запустить NB в МСВС, практически, да или нет?

> И еще, давайте не разводить флуд, человек попросил помощи, а не засёр мозгов

Человеку уже помогли, и он даже сообщил о своем решении остаться на Emacs.

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

ставите на МСВС джава машину и NEtBeans - и все гуд, тока рекомендую собрать свой gcc (3.4.6), и последний gdb собирается без проблем emacs-у повторяю - ничего не нужно :)

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

>А что можно попробовать и сравнить?

разработку на C++ и любой из альтернатив

>Какие есть приложения (не обязательно с GUI), которые можно попробовать и сравнить с уже имеющимися?

понятия не имею. все известные мне разработки на перечисленных ЯП, как правило, закрытые

хотя посмотреть есть на что - FFTW (OCaml), XMonad (Haskell), ejabberd (Erlang), UCW (CL), AOLServer (Tcl). например вот так

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

>Тот же С++ очень мощьный инструмент, при умелом использовании

не спорю. мощный, иногда - очень эффективный. но просто чудовищно неудобный

>Вот только что такое для него умело использование не знает даже Александреска, а только предполагает

то-то и оно

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

>Ты только обещаешь :D

я собираю материалы :) как там у Горького про бурю было? ;)

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

> ставите на МСВС джава машину и NEtBeans - и все гуд

Попробуем при случае. Кстати, какую Яву туда ставить и где ее брать?

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

>Я рад что вам не редко нужен деббагер. Он действительно по мере роста опыта программиста всё меньше и меньше нужен. Но это не значит что раз кто-то из "больших прогеров" забил на деббагер то и всем остальным он не нужен. Мне вот нужен :). Особенно для отладки чужого кода в который кто-то забыл вставить "деббаговые принты". Но и для своих вещей тоже не мешает. Глазками просмотреть это одно а как оно на самом деле исполняется это другое.

Используй внешний дебаггер - gdb например + gui по вкусу. Почему дебаггер должен быть встроенным в IDE? Например нельзя разве сделать хоткей для запуска дебаггера чтобы в нем было открыто то же место, что и у тебя в редакторе и например бряки нужные стояли? Тем более если дебаггер не всегда нужен. А если часто нужен - то наоборот сидишь в дебаггере, а когда надо запускаешь редактор на нужном месте.

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

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

И чем это отличается от встроенного отладчика?

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

>И чем это отличается от встроенного отладчика?

Тем что можно взять любой отладчик (или несколько) и любой редактор и не надо их "интегрировать" друг с другом.

А то напрягает как то писать код в дебаггере или дебажить в редакторе.

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

Java стоит 1.6 update 7 свежее сливать затруднительно на работе

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

> Например, что такое vdso, чем правильно отслеживать, на сколько
> программа в сисколле застревает?..


Эк.. куда тебя потянуло :). Конкуренция на драйверописательском рынке тоже неплохая, но вот сам рынок куда как меньше чем прикладной для C++.

eXOR ★★★★★
()

+ ко всем сообщениям- посмотри codeForge. оно за деньги (есть триал на месяц), немного страшен GUI (зато он быстр), иногда падает и навязывает свою систему программирования. Но при этом неплохой анализатор кода с быстрым автодополнением.

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

> Используй внешний дебаггер - gdb например + gui по вкусу. Почему дебаггер должен быть встроенным в IDE?

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

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

> а готовые решения беруться из мирового эфира?

Готовые (и удобные) решения для сложных задач (вроде написания front-end для c++) создаются профессионалами, которые получают за это деньги. Тот же gcc пишется далеко не just for fun в свободное время. Как и EclipseCDT, и MSVC (с платным Visual Assist), и Xrefactory (лиценировавший front-end от EDG). А как развивается Cedet? И есть ли у него хоть какие-то шансы догнать упомянутых конкурентов?

kamre ★★★
()

Если добавишь вот такой вот код в конфиг емакса:

(setq semantic-lex-c-preprocessor-symbol-map '(("QT_BEGIN_HEADER" . "") ("Q_COMPAT_EXPORT" . "") ("QT_BEGIN_NAMESPACE" . "") ("QT_END_NAMESPACE" . "") ("QT_END_HEADER" . "") ("Q_CORE_EXPORT" . "") ("QT3_SUPPORT" . "") ("Q_GUI_EXPORT" . "")))
(semantic-add-system-include "/usr/include/qt4" 'c++-mode)

то cedet начнет работать и с Qt. (или это можно указать для конкретного проекта через параметр :spp-table)

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

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

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

Алекс, Вы ангел-хранитель Emacs-а ;) Большое Вам спасибо!!! Я очень рад, что у нас есть люди из разряда "меньше слов - больше дела"

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