Codelite альтернатива Code::Block

November 23rd, 2008 Begemot Posted in Oбщее

Видели Codelite? CodeLite is a powerful open-source, cross platform IDE for the C/C++ programming languages 

Я еще не ставил, весь в делах, только скачал пока. Но судя по скриншотам на сайте и демки, выглядит более чем приятно. Аж не верится:) Неужели она на самом деле окажется вполне рабочей.

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

Open source,  GPL, Windows\Linux\MAC OS, как я понял заточена под работу с wxWidgets. Написана на ней же, исходники доступны – сами будете виноваты если не скачаете.

Кто первый потестить, отписывайтесь:)

Related:

Posted in Oбщее | Tags:

8 Responses to “Codelite альтернатива Code::Block”

  1. Знаком с этим IDE уже около года. Раньше пробовал с ним разобраться, но сталкивался с проблемами настройки wxWidgets. Недавно скачивал и, вроде бы, с настройками удалось разобраться. Уже даже и не помню – столько всего скачиваю и пробую, прямо как Плюшкин. 🙂

    Написан CodeLite всего одним человеком. Если не ошибаюсь, он автор wxAUI.

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

  2. Вроде как wxAUI контора пишет какая-то, разве нет?
    А статей\описаний настройки не встречал, желательно на родном и могучем? А то я сегодня поставил, потыкался в настройки компилятора. И решил что пока мне некогда его осваивать.
    Да и настройки проекта после Студии, как-то отсутствуют или я просто не нашел.

    А что разве, connect\disconnet лучше чем карта сообщений?

  3. Да, насчет wxAUI я, похоже, ошибся. Спутал с Ben Williams из Kirix Corporation, но у меня все-таки такое ощущение, что Eran Ifrah, автор CodeLite, как-то засветился в разработке wxWidgets, хотя я могу и ошибаться.

    Касаемо статей, нет, не встречал. Недавно смотрел screencast, по-моему он был вообще без звука. 🙂 В этом screencast’e как раз показано, как создавать программы на wxWidgets с помощью CodeLite.

    Screencast по использованию плагина для wxWidgets можно посмотреть здесь:
    http://codelite.org/docs/VideoTutorials/wxfb_plugin.html

    В карте сообщений мне не нравится то, что это макросы (если не ошибаюсь), а Connect и Disconnect более идиоматическая для C++ конструкция. Ну и в принципе, они должны быть более гибкими, чем карта сообщений, но это в теории, не знаю как на практике. Ну и в-третьих, не зря же ведь Connect и Disconnect ввели в wxWidgets. 🙂 Это произошло не так давно, и на это, думаю, были достаточно веские причины.

    А по большому счету, наверное, никакой разницы и нет.

  4. http://en.wikipedia.org/wiki/Codelite
    Developed by Eran Ifrah

    History

    On August 2006 Eran Ifrah, CodeLite’s author, started a little project named CodeLite. The idea, was to create a code completion library based on ctags, SQLite (hence, CodeLite) and a Yacc based parser that could be used by other IDEs.

  5. Да я этот скринкаст смотрел, и сгенерил себе шаблон программы. Я не разобрался, вернее не стал разбираться, как настроить компилятор.

    Макросы менее гибки конечно, но зато на мой взгляд гораздо более читаемы и удобны, в данном случае. А добавили Connect и Disconnect, именно для гибкости и реализации динамачности , в _некоторых_ задачах это надо. А так и карта сообщений хороша:)

  6. К сожалению Connect, Disconnect тоже с трудом можно назвать более идеоматической конструкцией для C++.

    Например попробуйте подписать такой класс:
    class B : public A, public wxEvtHandler {
    };

    Если детальнее присмотреться, то wxCommandEventHandler используемый в Connect’ах это тоже макрос.

    Далее. Посмотрите как устроен:
    bool wxEvtHandler::SearchDynamicEventTable( wxEvent& event ).
    Это просто проход по списку и тупой перебор. Что будет значительно медленнее при большом количестве подписчиков.

    К самому же C++ гораздо ближе boost::bind, boost::signals и т.п. Но, к большому сожалению, я так и не нашел GUI библиотеки выдержанной с стиле boost.

  7. 1. На самом деле Connect/Disconnect не очень удобный подход в плане того что приходится выискивать их в коде. Карта сообщений как-то в этом плане более управляемое решение
    2. IDE тоже довольно сырой, новичку разобраться в нем почти нереально, по крайней мере в том что касается настройки wxWidgets. Хотя да, Eran молодец, он еще там несколько компонентов для комьюнити выложил в свободное пользование, но это уже совсем другая история.

  8. T-Rex, спасибо за обстоятельный ответ:)