LINUX.ORG.RU

Linux, средства написания больших программ


0

0

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

Какие IDE или вручную(через скрипты), вы это делает.

В основном интересует язык C++ (слышал отзывы о Eclipse, но в Eclipse я не нашел аналог Intellisence(из VisualStudio))


vim, emacs, kate, kdevelop, .... кому что нравится

Reset ★★★★★
()

Катю. Хотя особо больших на ЦПП не писал, так тыщ на десять строчек, не больше.

redgremlin ★★★★★
()

netbeans, крутого интелисенся не ожидай, не найдешь.

wfrr ★★☆
()

> интересует язык C++ (слышал отзывы о Eclipse, но в Eclipse я не нашел аналог Intellisence(из VisualStudio))

Ы? Intellisense - это выпадающая подсказка с именами полей/методов? Оно есть, и даже неплохо работает в CDT5. У тебя он вообще установлен, или как?

tailgunner ★★★★★
()

vim с omnicomplete - мне хватает, хотя с шаблонами оно не работает или я не понял как

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

Да, вы правильно поняли про Intellisence.

У меня установлен FedoraEclipse Based on Eclispe 3.3.0, но у него я не увидел выпадения списка(может, кроме своих же функций),

тоесть оно не просматривает, те фунции которые в инклудах были добавлены, напр тот же printf( ничего не выпадает(пустой список)).

И вообще я не понял, как там скомпилить можно(ничего с build не работета, выбирал Autotools проект, с компиляцией) или имеется ввиду, что эти скрипты компиляции я должен сам написать?

ENRIX
() автор топика

Emacs. Пишу на си, так что использую бесплатный Xref. Для C++ его придётся покупать. Есть свободный cedet, но у него с этим плохо.

anonymous
()

Если перезжаешь с windows и привык к комфортной работе - Welcome to SlickEdit® :) В торентах есть правильная версия.

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

> У меня установлен FedoraEclipse Based on Eclispe 3.3.0

Штоето? Это та диверсия, которую включают по дефолту везде, и которая основана на gij? Это неработоспособно. Есть только один способ получить рабочую среду на основе Eclipse - скачать Sun Java и Eclipse с eclipse.org, всё остальное - подделки.

> И вообще я не понял, как там скомпилить можно(ничего с build не работета, выбирал Autotools проект, с компиляцией)

Странно, в моем CDT про autotools вообще ничего нет - можно использовать стандартный Makefile или managed build.

> имеется ввиду, что эти скрипты компиляции я должен сам написать?

Точно нет.

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

> Что такое CDT5?

Это версия CDT 5.0, пока что существует только в виде rc, планируется к выпуску через месяц-два.

http://download.eclipse.org/tools/cdt/builds/5.0.0/index.html

> тока нашел CDT 4.0.3

Тоже неплохо, хотя CDT5 лучше.

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

> Тоже неплохо, хотя CDT5 лучше.

С 512мб ОЗУ текст уже редактировать можно? Безо всяких интеллисенсов, чтобы буквы хотя бы в следующую секунду после нажатия появлялись? ;)

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

>> Тоже неплохо, хотя CDT5 лучше.

>С 512мб ОЗУ текст уже редактировать можно? Безо всяких интеллисенсов, чтобы буквы хотя бы в следующую секунду после нажатия появлялись? ;)

Я бы покормил тебя, но не здесь :D

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

> Штоето? Это та диверсия, которую включают по дефолту везде, и которая основана на gij? Это неработоспособно. Есть только один способ получить рабочую среду на основе Eclipse - скачать Sun Java и Eclipse с eclipse.org, всё остальное - подделки.

Есть еще один способ: в нормальных дистре (debian) скомандовать

sudo aptitude -R install eclipse

и никаких гoвногижов не поставится, т.к. он в рекомендсах.

// :(

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

А что насчет Anjuta?

Что скажите про этот IDE. Возможно я буду юзать IDE какуе-то для написания кода, а собирать проект Autotools буду, хотя незнаю, может это не очень удобно(вообще-то мой проект состоит из нескольких модулей, и является по сути 4 проектами, но это один проект, и есть зависимости при комлиляции от либ(тоесть так было в винде))

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

> Что скажите про этот IDE. Возможно я буду юзать IDE какуе-то для написания кода, а собирать проект Autotools буду

Автотулзы были разработаны для того, чтобы генерировать мейкфайлы. Соответственно, сгодится любая IDE, которая умеет делать make и парсить выхлоп компилятора. Естественно, править configure.ac и Makefile.am придётся руками (после изучения документации на autotools). Если изучать не хочется, то в kdevelop в какой-то мере сам генерирует и модифицирует автотулзовскую иерархию. Я уверен, что далеко не в самом лучшем виде, но как есть.

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

>У меня установлен FedoraEclipse Based on Eclispe 3.3.0, но у него я не увидел выпадения списка(может, кроме своих же функций),

Проще: забей на программирование, здесь все сложно. Устройся лучше маклером по продаже недвижимости. И деньги будут, и почет, и уважение

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

очень смешно 8), видимо путь маклера тебе ближе,но не мне

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

> Чем вы пользуетесь, в целях разработки большого софта(более 20 файлов) ?

У меня сейчас, в основном, работа с одним известным сишным проектом из ~20000 файлов ;) Использую emacs, иногда вместе с cscope. Когда принимал участие в плюсатом проекте (~350 файлов), то тоже писал в emacs'е. Для навигации сначала пробовал ECB, но он нормально работает, наверное, только с Common Lisp'ом, с плюсами не очень. Пробовал бесплатную XRefactory, работает хорошо, но уж очень медленно. В конце концов, освоился со структурой проекта, и сам уже начал помнить, что где есть, и что значит ;)

Вот что действительно полезно - это тщательно комментировать сорцы с прицелом на использование doxygen. Автоматическое построение документации на API, иерархия классов...

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

Вообще говоря, попробуй KDevelop, он на MSVS больше всего похож. В последний раз я его видел, когда ещё его плюсатый парсер был совсем плохой, но потом его выкинули и вставили другой. Может быть, теперь адекватнее работает. Ну и падал нечасто, раза 2-3 в день ;) Кстати, самая лучшая графическая морда к gdb - ddd.

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

> таким монстром как eclipse + cdt после kdevelop пользоваться просто невозможно

Ну это кому как. Я, например, не смог пользоваться KDevelop. Точнее, не смог понять, зачем мне это - он нихрена не рубил в парсинге Си++-кода, да и падал еще. Eclipse + CDT тормознее, но он по крайней мере работает.

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

Так что лучше CDT или KDevelop, KDevelop мне вообще не понравился.

Anjuta новая не хочет ставиться, видимо для нее надо вообще весь Gnome обновлять(вот это мне щас охота, весь Gnome переустаналивать(вручную, еще кажись, т.к. автоматом мне ничего не предлагали обновлять). Т.е. через пакет я щас могу поставить Anjute 2.2, но не 2.4 или 2.5

Я скачал CDT, но походу это плагины для Eclipse? Вообще стоит ли мне работать с Eclipse С++ если оно не для этого создавалось(Java liked).

Почему многие выбирают Emacs ? Или просто напросто хватает и обычного редактор, т.е. как я понимаю, у вас есть метод быстро находить названия фнункций с параметрами(а то, плохо преставляю, что-бы кто-то знал все названия функции с параметрами наизусть(напр функции OpenGL, XWindow, Linux headers).

Отпишитесь, как вы решаете эти проблема. А то мне же не hello world надо будет писать,(для чего хватит и просто gcc вызвать вручную).

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

На ум ничего пока мне не приходит, кроме как юзать обычный редактор, и прописывать параметры компиляции в Makefile.am(а Configure.ac генерить через autoscan, т.е. просто юзать autogen.sh свой скрипт, в котором прописывать перечисления исходников, хедеров(как щас на пробном проекте из пару файлов делал). И т.д., я повтыкал немного в доки по Automake, Autoconf, там такое алгоритм и предлагают(а через свой скрипт все сделать, решил я, будет быстрее).

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

> Так что лучше CDT или KDevelop

Я же написал свое ХО - CDT.

> Я скачал CDT, но походу это плагины для Eclipse?

Да.

> Вообще стоит ли мне работать с Eclipse С++

Это тебе решать. Я - работаю.

> оно не для этого создавалось(Java liked).

Так можно договориться до того, что Unix создан для управления патентной документацией :)

> Почему многие выбирают Emacs ?

Религиозные причины. Исторические. Ну и на больших проектах (типа ядра Линукс) индексатор CDT4 бесполезен (хотя тогда CDT используют с отключенным индексатором).

Еще отмороженные анонимусы любят вещать, как легко в Emacs делаются моды для DSL, и сколь рулит mmm-mode.

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

Ок убедили, хочу попробовать на зуб этот Eclipse CDT, но как установить его. Тем более как я понял CDT 5 Девелопед версия, тоесть не стабильная и возможны проблемы с установкой.

Чтобы установить нужно скачать последний Eclipse ?

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

> как легко в Emacs делаются моды для DSL, и сколь рулит mmm-mode.

анонимус плохого не посоветует :)

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

anonymous
()

А разве большие проекты делают на трупе с крестами?

Они делаются на .NET и Java от 2 мировых производителей - MS и Sun!

Все остальное - игрушки в погремушки!

ПС. Юзай Java. Пробуй Mono.

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

Во первых мне надо портировать большую часть кода, во вторых прийдется переписывать больщую часть кода из-за того, что виндовый компил(который с VS идет). Не был придирчив к стандартам, и теперь свой код я не скомпилю, пока не перепишу его большую часть. И как вы предлагаете это делать под виндой, ставить gcc компил, или писать под Cygwin. Мне кажется это не замечательная идея(тока трабл больше будет).

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

> Eclipse CDT, но как установить его.

Скачиваешь последний RC Eclipse Platform, скачиваешь последний RC CDT. Он представляет их себя zipped archive site, Добавляешь его через Help | Software Updates | Availbale Software | Add Site, и инсталлируешь.

В Eclipse выморочная система работы с проектами - когда будешь его создавать, выбирай Makefile project, откажись от Use default location, и укажи путь к нужному корневому каталогу.

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

Портируй, определи нужные define-ы, подтяни хедеры и всё. Суть в том, чтобы использовать intellisense из MSVS, а компилировать в линуксе.

Если нужно в первую очередь завести код под gcc, то совсем просто, ставим mingw и прописываем в MSVS вызов make-а (или чем вы там собираете проект).

Под линуксом аналога MSVS нет и не будет. Эклипс после MSVS тебе покажется очень большим тормозом (и кучи привычных штук не будет хватать), всё остальное плохо понимает семантику C++.

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

Переход на такие вещи на Манагед код, это серьезный шаг, который требует поменять вообще весь взгляд на программирование(отказаться от юзания Асм вставок, получить еще один слой, который будет отделять тебя от железа и компа), надо ли оно мне?, я пока не знаю, и не решаюсь серьезно смотреть в сторону C#, Java(как основных платформ разработки). Когда я тока учился программить(это было 3-4 года назад), я и не мог подумать о C#, хотя он тогда был наверно(тока не так популярен). Я занимаюсь в основном изучение и программирование графики, а также платформо зависимых вещей(системной программирование). Мне нужно чтобы мой проект мог работать на линукс, поэтому я ищу оптимальное решение, чтобы это реализовать.

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

Anonymous

Зачем не зареганным людям писать сюда? (кстати, кто-то здесь есть по Game Development, связанные с разработкой игровых движок, графики) ?

Интересно, OGRE, Irrlicht когда писали(пишут), что юзали, как оно у них стало по линуксом компилится.

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

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

> Как перепишешь, пойдём вместе убивать.

Может пока перебьем всех асмвставщиков кроме девелоперов мплеера, чтоб время не терять?

anonymous
()
Ответ на: Anonymous от ENRIX

> думал начать коментить код, но так и не начал

Плакал... Удачи в программировании.

anonymous
()
Ответ на: Anonymous от ENRIX

> Зачем не зареганным людям писать сюда?

lol

anonymous
()
Ответ на: Anonymous от ENRIX

> Интересно, OGRE, Irrlicht когда писали(пишут), что юзали, как оно у них стало по линуксом компилится.

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

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

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

> Так что лучше CDT или KDevelop, KDevelop мне вообще не понравился.

Мне KDevelop показался довольно не понятным, да и с C++ у него как-то не очень. Хотя, может, я просто не распробывал его до конца :) CDT мне гораздо больше понравился, да и под виндой можно его запускать.

> Почему многие выбирают Emacs ?

В последнее время основательно подсел на Emacs для C++, но только из-за xrefactory. На работе такой проект на плюсах, что его вообще никто кроме xrefactory "прожевать" не может, ни MSVC+VA, ни SlickEdit. В проекте > 500 исходников, и навигация по коду (особенно поиск refrences) очень сильно помогает. Пробывал CDT4, но он пока также не может нормально все проиндексировать. Выйдет CDT5 - обязательно попробую. Но если нужно лезть отладчиком, то удобнее уже в MSCV или Eclipse, все-таки интеграция с gdb У Еmacs не очень удобная.

Для небольших проектов (пишу на Qt пару приложений) Eclipse+CDT4 уже очень хорошо работает. Достаточно выбрать сборку через Makefile и один раз скомпилировать, после этого autocomplete начинает хорошо все подсказывать. И пока проект не очень большой с навигацией тоже вроде никаких особых проблем.

> у вас есть метод быстро находить названия фнункций с параметрами(а то, плохо преставляю, что-бы кто-то знал все названия функции с параметрами наизусть(напр функции OpenGL, XWindow, Linux headers).

Автокомплит у xrefactory работает очень хорошо, но медленно (т.к. честно парсит все включенные хедеры каждый раз), при этом только строки из объявления показывает, даже без комментариев (если они имеются прям перед обявлением). А вообще обычно открыта документация по используемым библиотекам, обычный man можно прям из Emacs читать.

> И вообще я не понял, как там скомпилить можно(ничего с build не работета, выбирал Autotools проект, с компиляцией) или имеется ввиду, что эти скрипты компиляции я должен сам написать?

Систему сборки рекомендую CMake, хотя с Autotools ни разу не работал. Там все достаточно просто, у меня переделать MSCV проекты под CMake довольно быстро получилось. В Linux генерируется Makefile, и можно к любой IDE подключать.

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

> Я знаю человека, который в mcedit нормальный плюсатый код пишет

Наш человек 8) Но когда файлов много, и они в разных каталогах, всё же неудобно.

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

> Наш человек 8) Но когда файлов много, и они в разных каталогах, всё же неудобно.

Не уж то со всем одновременно надо работать?

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

> со всем одновременно надо работать?

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

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

[b] mv [/b] Понятно что голову надо юзать. Эти в общем-то и занимаюсь.

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

Неужто эти товарищи сами прописали все эти зависимости и т.д.

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

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

> Религиозные причины. Исторические.

Да. И еще иногда это просто удобно :-).

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