LINUX.ORG.RU

Программирование на Linux


0

0

Всю жизнь у меня был Windows, C++ Builder и Visual C++. Недавно я поставил ASPLinux v11. У меня вот такой вопрос: есть ли в Linux что-нить для дебага, то есть что-нить на подобии Visual C++ или C++ Builder? имхо иногда лень сноачала прогать что-нить под Windows, а потом переносить на Linux и писать makefile для больших проэктов... Заранее благодарен.

У тебя два вопроса, ловко замаскированных под один :-).

> есть ли в Linux что-нить для дебага, то есть что-нить на подобии Visual C++ или C++ Builder?

Kdevelop, Eclipse, Emacs

> имхо иногда лень сноачала прогать что-нить под Windows, а потом переносить на Linux и писать makefile для больших проэктов

Cygwin, Qt

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

Скорее, только Qt. KDevelop для проганья под Qt подходит больше всего. Кроссплатформенность Qt выше всяких похвал, документация --- тоже. Короче, главное --- не лениться читать документацию.

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

Это если нужен GUI. Для других проектов успешно использую под виндой Emacs+cygwin.

Хотя, Qt4 модульная, можно писать и нормальные консольные приложения.

Shmuma
()

Вышла новая OPERA

Для дебага gdb, графическая оболочка к нему ddd.

binr ★★
()

>Программирование на Linux

вообще надо писать "Программирование под Linux", а еще лучше "Программирование на С/С++ под Linux". Линукс - не ЯП... :)

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

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

Первое на что должен обратить программист внимание, это на
язык программирования, лично я предпочитаяю для выполнения
своих задач:
С++ (быстрый, много реализаций алгоритмов на С++, есть в любой ОС)
Для С++ есть библиотеки для написания графического интерфейся(GUI),
который будет работать как под Windows,Linuz,Mac,....

Как мне кажется, лучше использовать маленькие библиотеки
(это камень в огород Qt,Gtk,Motiff и другим неповоротливым монстрам,
которые не тянут за собой кучу всего), если у меня возникнет
задача писать GUI под Windows/Linux GUI то я выберу FLTK,
версией 1.1.XXX, при тестирование остался доволен. Собирается
без проблем + после автоматически собирается FLUID который
помогает визуально создавать исходный код программы. После сборки
программы с FLTK не потянулось ничего лишнего, так и есть с
откомпилированной программой я могу пойти на другой комп у которого
есть Linux c графической системой X11 (для справки KDE тоже
работает на ней). Графическкая системя X11 использует
библиотеку Xlib, а прикомпилирование прогии с FLTK под Linux,
она использует только XLib;
для программы для MSWindows будет использован только Win32.

Так как иногда мне надо программировать задачи, которые не требуют
кнопочек, меню, а просто к примеру нарисовать пару линий на экране,
то мне вполне достаточно Xlib (а когда сидел под MSWindows -- win32)

Для облегчения реализации алгоритмов в С++ есть замечетльная
библиотек шаблонов STL (советую почитать Аммерааль STL для программистов, есть в инете в отсканированном виде djvu) мне это
библиотека удобна для реализации алгоритмов которым ъявляеься
повышенных требований к времени исполнения.

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

На этом этапе произойдет раскол взглядов линуксоидов,
заядлые тусовщики раздела скриншотов на ЛОРе
одназначно будут утверждать, что лучшая среда разработки
программ это Linux (действительно код написанный в полупрозрачном
окне консоли обладает некой магией), а 96% профессиональных
програмистов, которым за работу платять денежки, будут писать
драйверы,программы по расшифровке данных, кодеки, компьютерные игры,
и многое другое в ..... MSWindows + VisualC++ 6.

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

Удобная IDE должна иметь понятные с первого взгляда:
1) Отладчик,
2) Просмотрщик классов С++
3) Редактор текста, и навигации по коду

теперь кратко по каждому пункту:
1) Отладчики
стандартный gdb --- в чистом виде никому не нужен, он
используется в так называемых frontend-ax:
[ddd]---> расхваливаемый отладчик, но у меня вызвал
тошноту, во первых интуитивно не понятен при
переходе с VisualC++, приходится как дятлу кликать по
мышке, фонты и исполнение напоминает Windows3.11....
[KDbg]--> по сравнению с [ddd] -- это рывок, интуитивно
понятен, но отсутвие подсветки синтаксиса при переходе
с красочного редактора Vim, как холодный душ
к тому же не достает такой легкой навигации
по коду какая есть в Vim)
[slickedit 11 отладчик]---> неплохая среда, но вот
исполнение отладчика gdb в нем, полный отстой,
поскольку в ряде случаев не показвает правильно значения
переменных, путается когда надо вывести значения
ссылочных переменных, на первых порах от этого я чуть в
могилу не попал, когда ни с того ни с сего после
арифметических операций получались заоблачные значения
[eclipse отладчик]--> интуитвно при переходе с VisualC++ не
понятен, к тому же тормознутый, laptop M70-191 просто сдыхал


2) Этот пункт (Просмотрщик классов С++) на практике и делает IDE крайне
удобными, поскольку сразу в компактном виде можно
посмотреть (как правило с левой стороны) те классы и их методы
которые созданы, к сожалению в Vim не нашел реализации
аналога ClassViewer подобного VisualC++
[SlickEdit] --> рекомендую начинающим программистам, или тем
кому приходится от случая к случаю писать пограммы,
однако для разработки Xlib пришлось править каждый
раз Makefile после добавления файла к проекту, что для
начинающих не есть good
[Code Forge]--> не удалось найти крак, + среда для людей
привыкших работать с VisualC++ не есть интуитивно понятная,
[eclipse]--> тормознутый, интуитивно абсолютно не понятный
(2 часа потратил для того что бы разобраться с Привет Мир),
скриншоты в документации отличаются от
реального интерфейса, короче гадость
Отмечу, что автопродолежение кода для больших проектов
в VisualC++ 6 тожже не работает как надо.

3) Редакторы, сразу стоит обратить внимание на autocompletion stl (автопродолжение),
[SlickEdit] платный (легко найти кряк)--> не работает
автопродлжение кода для stl ( vector<int> t; t. --> фигня )
[Vim] (+ctags)--> очень удобный если надо разобраться с
проектом содержащим много кода, Для автопродолжения
кода надо использовать в нем утилиты OmniCppComplete или IComplete
IComplete удобнее чем OmniCppComplete, хотя OmniCppComplete
работает более стабильно. Однако до уровня autocompletion
реализованного VisualC++6 им еще далеко, так к примеру для IComplete
auto completion stl (IComplete) работает только частично,
а при наследование классов спотыкатся, хотя и не должна,
написал e-mail разработчику IComplete но ответа пока от него нету...
[Code Forge]--->удобен, но кряка нету, а 30дней маловато :)
[eclipse]--> тормозит......



XEMACS -- еще не пробовал, но его интерфейс и фонты напоминают
мне времена моей юности Windows3.11

В заключение перечислю чего мне не хватеает
для комфортного прогммирования в Linux

1) Это плагина в Vim который по анологии с другими
IDE показывал созданные мной классы,
как это есть в SlickEdit или VisualC++

2) Отладчика, который для отображения кода
использовал Vim с его подсветкой кода и
быстрой навигацией по коду.

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

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

Когдато использовал его для переделки кода проги С++ и остался
очень неудовлетворенным им, далеко Kdevelop до VisualC++, зато
по громоздкости близок к esclipse, jdevelop...

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

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

для тех кто решился запустить Vim, следует знать что выход
из него
нажать ":"
потом ввести "q!" --> выйти без записи,

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

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

2 andyS1976 :

1) Может taglist вам подойдёт ? 2) Я использую vimgdb, патчит vim, в результате его можно использовать как отладчик. Мне показался несколько сыроват.

platerx
()

> Всю жизнь у меня был Windows ...

О Боже, как ты юн!

Die-Hard ★★★★★
()
Ответ на: комментарий от andyS1976

2andyS1976:

Знаешь, такое, наверное, лучше в Талксах пообкашлять...

Я, конечно, банить ничего не буду, но имей совесть -- тут взрослые люди тусуются :-) а рефлексия по поводу непохожести прочих сред на ВижуалСтудио ИМХО не представляет интерес для большинства присутствующих.

Ты, кстати, много их повидал? Уверяю, переход от одной версии к другой стОит значительного геммороя. Гораздо большего, чем затраты на запись на листочке пары десятков команд gdb, которые вообще не менялись за последнее десятилетие...

Die-Hard ★★★★★
()
Ответ на: комментарий от andyS1976

>Однако до уровня autocompletion
реализованного VisualC++6 им еще далеко...

Автодополнение в VC6++ реализовано плохо, т.к. работает оно через раз и не видит макроопределения.

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

> + VisualC++ 6.

а этим убожеством еще где-то пользуются?

>1) Отладчик, >2) Просмотрщик классов С++ >3) Редактор текста, и навигации по коду

ИМХО пункт 2 лишний. Пользы от просмотрщика классов ноль, особенно если это проект из нескольких миллионов строк. Поиск по тексту и переходы по определениям функций/классов рулят.

Reset ★★★★★
()
Ответ на: комментарий от Die-Hard

Конечно большое спасибо что банить не будешь,
и как Вы сказали здесь собрались взрослые люди,
надеюсь ты тоже один из них,

Думая с твоим уровнем знания gvim, gdb не займет и
5 минут скомпелировать anjuta-HEAD
http://anjuta.sourceforge.net/cvs/anjuta-cvs-HEAD-hourly-2006-08-30-22.tar.gz

там вроде в качестве редактора можно gvim использовать

у меня под FC5 ну ни как не собирается....

No package 'gdl-1.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables GDL_CFLAGS
and GDL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.


Без обид, но програмеров которым платят деньги за программирования
в Linux не повстречал ни олного, а те которые на VisualC++ сходу
знакомых не меньше 5. (за скобки вынесу тех, кто просто портирует
программы в Linux, но портируют они то что написано на VisualC++)

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


PPS
а по поводу того что таги в VisualC++ не всегда корректно я отметил,
но тк и так то что было сделано лет 10 назад VisualC тока сейчас
понемного доганяют в Луне....

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

> Без обид, но програмеров которым платят деньги за программирования в Linux не повстречал ни олного, а те которые на VisualC++ сходу знакомых не меньше 5.

Н-да...

Как, по твоему, что это доказывает? ИМХО только то, что ты -- видузятник... Просто не вижу, какие еще могут быть объяснения твоему наблюдению, подумай сам.

(Я сходу могу назвать человек 20, которым платят деньги за "программирование в Линуксе", и только 3 -- те, что получают деньги от программирования на ВижуалСтудио дотНет; один из них -- моя жена - студентка, получающая за работу 250 (двести пятьдесят) Евро в месяц, второй -- ее коллега, работающий на тех же основаниях, пишут они на ЦеШарпе, ВижуалВасике, SQL, XML, HTML, etc; ни одного человека, получающего деньги за программирование на VisualC++ я лично не знаю -- но я ж не утверждаю при этом, что большинство программистов в мире предпочитают Линукс!).

Die-Hard ★★★★★
()
Ответ на: комментарий от andyS1976

> Думая с твоим уровнем знания gvim, gdb не займет и 5 минут скомпелировать anjuta-HEAD

http://www.catb.org/~esr/faqs/hacker-howto.html#skills4 Для России, добавь к English еще и русский.

> Без обид, но програмеров которым платят деньги за программирования в Linux не повстречал ни олного

Мне платят. И еще 5 человек в нашем проекте. В соседнем, человек 20 получают деньги за программирование под другой *nix. Да и тут, я думаю, много тех, кому за это платят.

watashiwa_daredeska ★★★★
()
Ответ на: комментарий от Die-Hard

Я уже 3 года как занимаюсь линуксом, не скрою что в свое удовольствие,
и частично по работе (сисадмин).

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


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


Так ТЫ МОЖЕШЬ помочь откомпилить anjuta-HEAD ?

и сколько времени у тебя это займет ?


ЗЫ
оцениваю профессионализм только по делам...



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

> Удобная IDE должна иметь понятные с первого взгляда

... каждой домохозяйке с тремя классами церковно-приходской школы ... (далее по тексту).

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

> стандартный gdb --- в чистом виде никому не нужен, он используется в так называемых frontend-ax

Милая детская наивность. gdb --- очень мощный инструмент даже без frontend'ов, а хороший frontend не скрывает возможностей gdb. Например, GUD. По некоторым параметрам, расхваливаемая тобой VS сильно уступает gdb.

Ты, судя по всему, больше склоняешься к vim. Можешь посмотреть тут: http://www.volny.cz/zellerin/gdbvim/

> Этот пункт (Просмотрщик классов С++) на практике и делает IDE крайне удобными, поскольку сразу в компактном виде можно посмотреть (как правило с левой стороны) те классы и их методы которые созданы

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

> для разработки Xlib пришлось править каждый раз Makefile после добавления файла к проекту, что для начинающих не есть good

Мда... Править Makefile --- это, конечно кошмар, XIX век прям какой-то ;) На самом деле, начинающим именно так и надо. У них не такие большие проекты, чтобы правка Makefile была действительно геморроем, а вот понимания, как это всё работает, добавит. А профессионалы знают, что во многих случаях, на make свет клином не сошелся, ну а если сошелся, то можно упростить себе работу, генеря Makefile автоматически.

> не удалось найти крак

> платный (легко найти кряк)

> удобен, но кряка нету, а 30дней маловато

Не серьезно. Судя по всему, рассуждения о "96% профессиональных программистах" следут расценивать как *озвонство.

> среда для людей привыкших работать с VisualC++ не есть интуитивно понятная

Мдя. IT-спецы, блин.

> автопродлжение кода для stl

Нафиг?

1. В STL нет шибко длинных методов, чтобы дополнять.

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

> andyS1976

Хм... 1976 --- это год рождения? Твой или папин?

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


Короче, по существу,

для тебя лично повторяю свой вопрос

про anjuta-HEAD

твоей квалификации достаточно чтобы
конркетно подсказать что надо сделать
что бы ./autogen.sh перестал ругаться на
No package 'gdl-1.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables GDL_CFLAGS
and GDL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.


И сколько такому спецу как ты займет грамотный ответ ?

PS
а то столько слов.... а на помощь приходите тем,
кто не знает как сложить 2+2





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


Ты хотя бы знаешь что это за библиотека под FedoraCore5?

В принципе для меня не новость,
что крайне редко кто из ЛОРовцев
может помочь советом...

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


Надеюсь что некоторых мой вопрос оть немного заствить
занятся саморазвитием

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

> И сколько такому спецу как ты займет грамотный ответ ?

Ответ займет не долго, но это не вопрос, а хилая попытка "взять на понт".

> а то столько слов.... а на помощь приходите тем, кто не знает как сложить 2+2

Таким обычно не прихожу, не буду отступать от своей традиции и в этот раз.

Замечу только, что все необходимые ключевые слова, чтобы задать вопросы твоему package manager'у и Google уже содержатся в вопросе.

watashiwa_daredeska ★★★★
()

2andyS1986:

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

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