Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Crazy Daver от Ноябрь 06, 2016, 11:58



Название: Собственная 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
Цитировать
Мне больше всего запомнилась одна: отображение значений переменных в коде во время отладки.
Так это работает и в креаторе отлично.
В Creator я такого не нашёл. В delphi они прямо в редакторе кода отображались, а не отдельно в окошках.


Название: 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
Цитировать
Мне больше всего запомнилась одна: отображение значений переменных в коде во время отладки.
Так это работает и в креаторе отлично.
В Creator я такого не нашёл. В delphi они прямо в редакторе кода отображались, а не отдельно в окошках.
Ну не знаю, так же в креаторе и работает, как же еще - естественно не в отдельном окошке...

Программа должна быть собрана естественно в дебаге с отладочными символами, ставите точку остановки в любом месте и хинтом вылезает содержимое переменной.


Название: 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.....