Интересно, кто в какой ИДЕ пишет :), Интересно, кто в какой ИДЕ пишет :) |
Здравствуйте, гость ( Вход | Регистрация )
Интересно, кто в какой ИДЕ пишет :), Интересно, кто в какой ИДЕ пишет :) |
void* |
8.9.2008, 23:39
Сообщение
#21
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
я кстати когда программмлю на Qt под виндой все равно все по привычке делаю в коммандной строке - хотя как-то и пробовал QDevelop, но не понравилась вообще
|
|
|
molchanoviv |
8.9.2008, 23:41
Сообщение
#22
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
а Kate под винду не пробовал?
|
|
|
kamre |
10.9.2008, 16:32
Сообщение
#23
|
Студент Группа: Новичок Сообщений: 15 Регистрация: 18.1.2008 Из: N-sk Пользователь №: 73 Спасибо сказали: 0 раз(а) Репутация: 0 |
На винде пишу на VC 2008 EXpress. Linux - Eclipse. Если бы Eclipse поддерживал vc++ компилятор, писал бы на нём и под виндой, очень автокомплит хорош, по сравнению с VS. С нетерпением жду kdevelop 4. Чтобы можно было и под виндой и под Linux писать. Так компилятор то уже вроде давно поддерживает: http://www.ibm.com/developerworks/ru/libra...scdt/index.html А вот интеграции с отладчиком пока нет, но собираются добавлять. В линуксе с Eclipse может только SlickEdit конкурировать, хотя еще есть и KDevelop. Кстати, что там интересного то будет в KDevelop 4? Неужели они наконец-то написали нормальныKate/emacs/vim + gcc + gdb на IDE не тянут Хотя вот рефакторить C++ код лучше всего в emacs+xref, find references + макросы очень многое позволяют делать. |
|
|
kamre |
10.9.2008, 16:40
Сообщение
#24
|
Студент Группа: Новичок Сообщений: 15 Регистрация: 18.1.2008 Из: N-sk Пользователь №: 73 Спасибо сказали: 0 раз(а) Репутация: 0 |
Кстати, что там интересного то будет в KDevelop 4? Неужели они наконец-то написали нормальныKate/emacs/vim + gcc + gdb на IDE не тянут Кстати, что там интересного то будет в KDevelop 4? Неужели они наконец-то написали нормальный front end для c++? Или все еще на убогом ctags пытаются все сделать? Kate/emacs/vim + gcc + gdb на IDE не тянут |
|
|
molchanoviv |
11.9.2008, 12:13
Сообщение
#25
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
Неужели они наконец-то написали нормальный front end для c++? Или все еще на убогом ctags пытаются все сделать? Обьясни мне, пожалуйста, чем так убог ctags? Если сможешь обьяснить, то предложи альтернативу, а если нет то лучше пиши необоснованные комменты на www.linux.org.ru. Там это любят З.Ы. Не хотел тебя обидеть. но необоснованные коменты достали. |
|
|
kamre |
11.9.2008, 15:19
Сообщение
#26
|
Студент Группа: Новичок Сообщений: 15 Регистрация: 18.1.2008 Из: N-sk Пользователь №: 73 Спасибо сказали: 0 раз(а) Репутация: 0 |
Неужели они наконец-то написали нормальный front end для c++? Или все еще на убогом ctags пытаются все сделать? Обьясни мне, пожалуйста, чем так убог ctags? Если сможешь обьяснить, то предложи альтернативу, а если нет то лучше пиши необоснованные комменты на www.linux.org.ru. Там это любят З.Ы. Не хотел тебя обидеть. но необоснованные коменты достали. Для удобной работы с C++ в IDE нужны такие функции как: "Find Declarations", "Find References", "Autocomplete". А что из этого позволяет сделать ctags? А ничего не позволяет. Для всех этих функций нужно корректно учитывать контекст, в котором оказался символ. А корректно означает, что нужно учесть все правила языка и препроцессора. В итоге получается, что "Find Declarations" не получится реализовать, т.к. может быть множество символов с одинаковым именем, но в разных контекстах. "Find references" - тоже никак, для этого вообще нет информации в том индексе который строит ctags. "Autocomplete" требует корректного выведения типа для выражения, здесь ctags вообще никак помочь не может. Вот если тип известен, то только тогда уже можно через индекс ctags определить список методов. Т.е. максимум на что годится ctags - это сделать "Class Browser", где будут отображаться все глобальные функции, классы и их методы. Все, ни на что другое сам по себе ctags не способен. Для всего остального нужен контекстный анализ. Можно, конечно, пытаться наворачивать какие-то эвристики, парсить код локально. Но все это будет ужасно глючить на более или менее не тривиальном компилируемом коде. Нужен полноценный анализ всех исходников, чем и должен заниматься front end для С++. Теперь об альтернативах. По моему опыту работы в разных средах разработки складывается вот такая картина: 1. Emacs+XRefactory - используется "Professional C++ front-end from EDG", т.е. полность разбирается весь код, так как это делает компилятор на первой стадии, и даже больше, т.к. некоторые исходники обрабатываются по несколько раз, чтобы учитвать #ifdef. 2. Eclipse+CDT - front end написан на java, очень хорошо развивается, даже на больших проектах работает достаточно быстро и корректно, но пока сложные шаблоны типа boost не всегда может разобрать. 3. Visual Assist - в чем-то лучше Eclipse+CDT, в чем-то хуже, примерно на равных. Но для моего большого проекта на работе Eclipse+CDT куда надежнее работает. 4. SlickEdit - примерно как Visual Assist, но я им мало пользовался. Есть версия под линукс. Вроде бы все, все остальные QDevelop/Codeblocks/KDevelop/vim+omnicompletion очень сильно отстают, хотя я за ними в последнее время мало слежу. Т.е. ctags на самом деле не убог, свою функцию он выполняет не так уж плохо (хотя с шаблонами и namespace у него вроде бы есть проблемы), но использовать его в полноценной IDE просто нет смысла, т.к. все равно нужен front end и в нем вся информация, которая есть в индексе ctags, и так будет доступна. А те IDE, которые его испльзуют - просто не полноценно поддерживают C++. Я, конечно, могу ошибаться, но вот сможете ли вы привести пример IDE с полноценной поддержкой C++, где используется ctags? |
|
|
molchanoviv |
11.9.2008, 16:09
Сообщение
#27
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
Я не пользуюсь IDE вообще(пользую Konqueror + Kate.part + gcc + gdb), поэтому привести пример не смогу. Но ctags отлично справляется с функцией парсера. А то что програмный продукт неправильно используется, не делает его убогим.
|
|
|
kamre |
11.9.2008, 18:17
Сообщение
#28
|
Студент Группа: Новичок Сообщений: 15 Регистрация: 18.1.2008 Из: N-sk Пользователь №: 73 Спасибо сказали: 0 раз(а) Репутация: 0 |
Я не пользуюсь IDE вообще(пользую Konqueror + Kate.part + gcc + gdb), поэтому привести пример не смогу. Но ctags отлично справляется с функцией парсера. А то что програмный продукт неправильно используется, не делает его убогим. Убоги именно возможности ctags, по сравнению с нормальными front end-ами. И ни разу он не справляется с функцией парсера кода на C++: Цитата(wikipedia.org) A parser is one of the components in an interpreter or compiler, which checks for correct syntax and builds a data structure (often some kind of parse tree, abstract syntax tree or other hierarchical structure) implicit in the input tokens. Не делает он полного разбора и построения AST, оттого и возможности очень ограничены. А учиться программированию и правда лучше с editor+gcc+gdb, и небольшие проекты тоже можно вести. Но когда приходится поддерживать и как-то развивать кучу legacy кода, где количество файлов с исходным кодом переваливает за 1000, приходится искать и использовать гораздо более мощные средства, которые поддерживают язык. И нормальные IDE здесь действительно помогают справляться с задачей лучше. |
|
|
ranger |
13.9.2008, 12:55
Сообщение
#29
|
Студент Группа: Участник Сообщений: 65 Регистрация: 29.7.2008 Пользователь №: 245 Спасибо сказали: 9 раз(а) Репутация: 4 |
|
|
|
Novak |
13.9.2008, 19:44
Сообщение
#30
|
Активный участник Группа: Участник Сообщений: 319 Регистрация: 15.3.2008 Из: Замкадыш Пользователь №: 121 Спасибо сказали: 28 раз(а) Репутация: 6 |
ranger, правильной дорогой,как говорится)) Жаль, что пока с Qt не спешат инрегрировать, но в плане программинга под плюсы нетбинс очень удобен
|
|
|
Текстовая версия | Сейчас: 24.12.2024, 2:01 |