Название: Собственная IDE для Qt Отправлено: Crazy Daver от Ноябрь 06, 2016, 11:58 Здравствуйте!
Мне необходимо написать IDE для своего языка программирования в рамках дипломного проекта и провести небольшую демонстрацию его возможностей. На данный момент остановился на варианте компиляции языка в С++ и использовании возможностей библиотеки Qt. Вопрос следующий - как мне прикрутить Qt к своей IDE (библиотеку, компилятор, отладчик...)? Насколько мне известно, порядок генерации исполняемого файла примерно следующий: 1) Генерация make файла сборки по файлу проекта. 2) Работа uic (user interface compiler). 3) Работа moc. 4) Работа компилятора с++. (obj файлы на выходе) 5) Работа линковщика. (exe на выходе) Но как это всё правильно объединить и запустить из IDE? Что по этой теме можно почитать? Может быть есть какие-нибудь примеры. Название: Re: Собственная IDE для Qt Отправлено: Bepec от Ноябрь 06, 2016, 12:47 Ваша IDE может вообще просто делать 2 команды - qmake и make. И будет при этом считаться IDE :)
Название: Re: Собственная IDE для Qt Отправлено: Crazy Daver от Ноябрь 06, 2016, 13:16 Да, возможно. Но это будет сильно отличаться от моего представления об IDE. Я намерен после защиты диплома развить этот проект в полноценный язык с полноценной IDE. Среду имеет смысл сразу проектировать полноценную. Для языка же, в будущем, собираюсь написать front-end для GCC или LLVM.
Название: Re: Собственная IDE для Qt Отправлено: Igors от Ноябрь 06, 2016, 15:09 Я намерен после защиты диплома развить этот проект в полноценный язык с полноценной IDE. Увлеченность - дело хорошее, к сожалению, здесь ее так мало. Но и трезвая оценка, "реализьм" - качества необходимые программисту. Ну во всяком случае ник "соответствует" :)Название: Re: Собственная IDE для Qt Отправлено: Crazy Daver от Ноябрь 06, 2016, 15:59 Но и трезвая оценка, "реализьм" - качества необходимые программисту. 1) Язык, способный конкурировать по возможностям с текущими популярными языками, спроектировать мне по силе, как бы это амбициозно (читать: смешно) не звучало. По сути, практически всё уже придумано до меня (чего-то очень революционного не получится сделать), главное - правильно скомбинировать необходимые парадигмы, приёмы и добавить кое-что от себя. 2) IDE вполне реально самому написать, причём более удобную, чем многие существующие аналоги. Да, понимаю, удобство - понятие субъективное. Применительно к среде его можно условно трактовать как среднее количество времени, необходимое для выполнения каких-либо манипуляций, будь то написание кода, рефакторинг или отладка. 3) Математическое же описание языка, да, займёт уйму времени и сил, потребует знаний и навыков, которыми я в данный момент не обладаю. Здесь потребуется помощь со стороны. 4) Реализация front-end'а для компилятора языка по сложности и временным затратам, наверное, сопоставима с п.3. Опять же, потребуется помощь со стороны. В худшем случае, если выйдет ещё один велосипед (надеюсь, что не с квадратными колёсами), то я существенно улучшу свои профессиональные навыки. Время же, потраченное на обучение, нельзя назвать потраченным впустую. Название: Re: Собственная IDE для Qt Отправлено: Bepec от Ноябрь 06, 2016, 16:42 Вы необъективны и не понимаете объема работы. Так же вы пытаетесь лезть в дебри уже существующей библиотеки и хотите написать свой moc qmake?
Для начала вы план составьте. Разбейте IDE по частям, зарисуйте все части, окиньте взглядом и поймите, что написать IDE в одиночку можно, но вот переписать все существующие механизмы = почти невозможно. Название: Re: Собственная IDE для Qt Отправлено: Crazy Daver от Ноябрь 06, 2016, 17:29 Вы необъективны и не понимаете объема работы. Я понимаю, что такой объём работ не для одного человека. Найти единомышленников - задача ближайшего будущего, но для этого нужно иметь как минимум прототип IDE и языка. Нужно же их чем-то привлечь. Так же вы пытаетесь лезть в дебри уже существующей библиотеки и хотите написать свой moc qmake? Библиотеку трогать я не буду. Мне просто нужно использовать её возможности. Т.е. мне нужен простенький аналог PyQt. Только у меня он будет очень упрощенный в плане возможностей языка и среды. Для демонстрации на защите диплома хватит относительно простых программ, написанных на моём языке в моей среде. Для начала вы план составьте. Разбейте IDE по частям, зарисуйте все части, окиньте взглядом и поймите, что написать IDE в одиночку можно, но вот переписать все существующие механизмы = почти невозможно. На данный момент мне нужны базовые возможности: редактирование кода (с кое-какими моими фичами, а иначе зачем ещё одна IDE) и возможность скомпилировать и запустить программу, но при проектировании IDE нужно учитывать всё то, что в ней планируется быть.Название: Re: Собственная IDE для Qt Отправлено: kamre от Ноябрь 06, 2016, 17:39 Мне необходимо написать IDE для своего языка программирования в рамках дипломного проекта и провести небольшую демонстрацию его возможностей. А почему бы не рассмотреть такую вещь: https://eclipse.org/Xtext/ ?Название: Re: Собственная IDE для Qt Отправлено: break от Ноябрь 06, 2016, 17:43 Скачай исходники QtCreator замени иконки, защити диплом и забудь про программирование. Ибо с такими вопросами как в первом посте не приступают к работе над серьезными вещами.
Для начала стоит посмотреть на все существующие ИДЕ и как следует их сравнить, потом понять, что лучше в одиночку и без знаний ничего не сделаешь, то есть конечный результат будет хуже любой из них по моему предположению, и опять же бросить программирование и продолжить пустотрепство. Название: Re: Собственная IDE для Qt Отправлено: kai666_73 от Ноябрь 06, 2016, 17:51 Мда, каков замах, однако )
Ну во-первых, язык компилируемый в C++: стоит посмотреть на haxe, осмыслить,.. одуматься (возможно). Во-вторых (если во-первых не отрезвило), IDE: куда менее масштабное решение не городить свою IDE, а написать плагин для qtcreator-а (например), или для KDevelop-а... vim, в конце концов? А так... успехов ;) Название: Re: Собственная IDE для Qt Отправлено: Crazy Daver от Ноябрь 06, 2016, 18:08 Для начала стоит посмотреть на все существующие ИДЕ и как следует их сравнить На какие конкретно IDE Вы мне порекомендуете посмотреть, на Ваш вкус? Перечислите, пожалуйста, несколько штук.Название: Re: Собственная IDE для Qt Отправлено: break от Ноябрь 06, 2016, 18:26 Они уже все назывались, смотрите creator, msvc, kdevelop, eclipse, delphi, а еще sublime ))))) Только для реальной оценки надо работать в этих средах с большими проектами, чтобы оценить код-анализ, фишки рефакторинга и удобство редактора, на Хелло Ворлд это нереально.
Название: Re: Собственная IDE для Qt Отправлено: Crazy Daver от Ноябрь 06, 2016, 18:37 Ну во-первых, язык компилируемый в C++: стоит посмотреть на haxe, осмыслить,.. одуматься (возможно). Прочитал про haxe. Довольно интересный язык и решение, но... у меня своё видение языка.Во-вторых (если во-первых не отрезвило), IDE: куда менее масштабное решение не городить свою IDE, а написать плагин для qtcreator-а (например), или для KDevelop-а... vim, в конце концов? QtCreator мне нравится, но плагином, думаю, не обойтись. У меня будет немного экспериментальная IDE, с функционалом, которого я в средах разработки не встречал. Название: Re: Собственная IDE для Qt Отправлено: Crazy Daver от Ноябрь 06, 2016, 18:42 Они уже все назывались, смотрите creator, msvc, kdevelop, eclipse, delphi, а еще sublime ))))) В creator, eclipse, delphi работал. Creator для меня самая удобная IDE, но не помешали бы некоторые фичи из Delphi. В Eclipse работал меньше, впечатления пока не очень хорошие.На остальные как-нибудь постараюсь посмотреть. Название: Re: Собственная IDE для Qt Отправлено: kai666_73 от Ноябрь 06, 2016, 18:57 QtCreator мне нравится, но плагином, думаю, не обойтись... Ошибаетесь. Уверяю. Обойтись ))Название: Re: Собственная IDE для Qt Отправлено: break от Ноябрь 06, 2016, 19:12 Цитировать но не помешали бы некоторые фичи из Delphi. какие?Название: Re: Собственная IDE для Qt Отправлено: Old от Ноябрь 06, 2016, 19:13 Мне необходимо написать IDE для своего языка программирования... Вам не кажется, что лучше сконцентрировать внимание на самом языке. :)IDE это удобный инструмент для использования языка, но если язык будет не удобен, то даже с самой замечательной IDE им никто пользоваться не будет. Лично мне язык интересней, чем IDE (коих масса). Каким вы его видите, чем он будет лучше существующих? Название: Re: Собственная IDE для Qt Отправлено: Crazy Daver от Ноябрь 06, 2016, 19:27 Цитировать но не помешали бы некоторые фичи из Delphi. какие?Были ещё какие-то по мелочи, точно не помню, несколько лет на Delphi не писал. Название: Re: Собственная IDE для Qt Отправлено: break от Ноябрь 06, 2016, 19:28 Цитировать Мне больше всего запомнилась одна: отображение значений переменных в коде во время отладки. Так это работает и в креаторе отлично.Название: Re: Собственная IDE для Qt Отправлено: Crazy Daver от Ноябрь 06, 2016, 20:41 Цитировать Мне больше всего запомнилась одна: отображение значений переменных в коде во время отладки. Так это работает и в креаторе отлично.Название: Re: Собственная IDE для Qt Отправлено: Crazy Daver от Ноябрь 06, 2016, 21:22 Вам не кажется, что лучше сконцентрировать внимание на самом языке. :) Язык, конечно, в приоритете, но проектирование, как и программирование во многом творческий процесс. Нельзя просто сесть и сгенерировать гениальную мысль. Некоторые идеи выводятся логически из других, некоторые приходят спонтанно (необходимо вдохновение). Я стараюсь переключаться между задачами. Так эффективность увеличивается.IDE это удобный инструмент для использования языка, но если язык будет не удобен, то даже с самой замечательной IDE им никто пользоваться не будет. IDE же должна быть продолжением языка, его философии, а не просто редактором кода с подсветкой синтаксиса (в идеальном случае). Лично мне язык интересней, чем IDE (коих масса). Каким вы его видите, чем он будет лучше существующих? Проблемы многих языков в том, что они пытаются решить все проблемы с помощью одной, максимум 2x - 3x парадигм, делая ставку на какую-то одну, как некоторые современные новомодные функциональные языки. У них выходит золотой молоток (антипаттерн) вместо серебряной пули. Каждая из парадигм должна использоваться на своём уровне/уровнях абстракции, там где она необходима, в симбиозе с другими. Многие интересные и гениальные идеи разбросаны по разным языкам, парадигмам. Пока не объединить все парадигмы (декларативная, императивная, ООП, АОП, функциональная, реактивная, логическая, мета, автоматная...) и идеи чего-то по-настоящему мощного и универсального не выйдет. И всё равно у каждого языка есть свой класс задач, где он может быть лучше других или наравне с лучшими. Помимо парадигм огромное значение имеют: 1) Типизация (сильная, слабая, динамическая, статическая, структурная...) и типобезопасность. Имея только одну конкретную, язык моментально ограничивает свою сферу применения. Там, где нужна повышенная безопасность, не станут применять язык со слабой динамической типизацией. Там, где нужна легкость, высокая гибкость - откажутся от сильной статической. 2) Семантика синтаксиса языка, его философия, красота, ёмкость и лаконичность конструкций и выражений. 3) Другие аспекты. Можно долго перечислять. Всё это будет подробно описано в моей дипломной работе. Вышеперечисленные проблемы и некоторые другие и попытается решить мой язык (вместе с IDE). Конкретные технические решения я пока упоминать не буду. Название: Re: Собственная IDE для Qt Отправлено: Old от Ноябрь 06, 2016, 22:33 Конкретные технические решения я пока упоминать не буду. Да их, как я понимаю, и нет.Вы собрались решить все проблемы всех языков и получить идеальный язык, но умолчали как же вы планируете это сделать. Что вы нам, как разработчикам, хотите предложить? :) Название: Re: Собственная IDE для Qt Отправлено: Bepec от Ноябрь 07, 2016, 01:07 Раз о делфях говорил, значит о визуальном программировании, смешивании ui с функционалом.
Название: Re: Собственная IDE для Qt Отправлено: break от Ноябрь 07, 2016, 04:04 Цитировать Мне больше всего запомнилась одна: отображение значений переменных в коде во время отладки. Так это работает и в креаторе отлично.Программа должна быть собрана естественно в дебаге с отладочными символами, ставите точку остановки в любом месте и хинтом вылезает содержимое переменной. Название: Re: Собственная IDE для Qt Отправлено: qate от Ноябрь 07, 2016, 09:05 у креатора за последний месяц: Issues: 139 created and 158 resolved, и все пилят и пилят
а тут на раз два готовая ide с языком ) язык без библиотек и пользователей мертв а если язык совсем не тормозит и быстрее c++, то это только java, за которой много денег поддержки может лучше пару багов в qt закрыть ? ) Название: Re: Собственная IDE для Qt Отправлено: lit-uriy от Ноябрь 07, 2016, 09:27 правильная последовательность такая:
1) Генерация make-файла по файлу проекта. 2) запуск программы make Больше от IDE ничего не требуется Если же хочется всё вручную запускать: 2) Работа uic (user interface compiler). 3) Работа moc. 4) Работа компилятора с++. (obj файлы на выходе) 5) Работа линковщика. (exe на выходе) то фаза генерации make-файла не понятно зачем нужна Название: Re: Собственная IDE для Qt Отправлено: kuzulis от Ноябрь 07, 2016, 10:11 Если это чисто курсач/диплом, и "Собственная IDE для Qt", то можно глянуть на исходники такой вещи как QDevelop (да, была когдато такая до появления QtC :) ) и скоммуниздить оттуда по-быстрому... хотя, проще свять QtC ранних версий (0.9 beta) причесать его и выдать как свою ИДЕ... чисто для курсача (что-то вроде антивируса Бабушкина.. Е#и гусей!). :)
Название: Re: Собственная IDE для Qt Отправлено: Bepec от Ноябрь 07, 2016, 16:04 Я кстати QDevelop хотел глянуть, не нашёл. Проект умер и труп унесли в неизвестном направлении :D
Название: Re: Собственная IDE для Qt Отправлено: Old от Ноябрь 07, 2016, 16:29 Я кстати QDevelop хотел глянуть, не нашёл. Проект умер и труп унесли в неизвестном направлении :D В интернете ничего не пропадает.https://launchpad.net/ubuntu/zesty/+source/qdevelop Название: Re: Собственная IDE для Qt Отправлено: Vamireh от Ноябрь 08, 2016, 14:26 Казалось бы, при чем тут BolgenOS.....
|