Переключение на Главную Страницу Страницы: [1] 2 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН! (число прочтений - 22588 )
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
26. Февраля 2008 :: 16:53
Печать  
Информация в http://qt1l.sourceforge.net/wiki/index.php/About
частично устарела и не соответствует целям группы 2.

BW писал(а):
Прошу огласить основные направления планируемого развития.
Цитата:
trdm
Все достаточно просто и сложно одновременно.
Камешек преткновения интерпретатор будет делаться на первом этапе, осилим его, проекту быть. Я его считаю фундаментальным компонентом, а гуй и формочки для обслуживания метаданных может и чайник нарисовать.
Объекты метаданных будут развиваться поэтапно. Конфигуратор и среда исполнения будут развиваться паралельно.
Первый этап интерпретатор, свой дизайнер форм, константы, справочники.
Второй этап система печати, перечисления, меню, панели инструментов.
пока хватит? Задача такая: результат каждого этапа есть цельноработающее приложение, пригодное для элементарного использовния. Никаких там: гоним конфигуратор, а потом интерпрайз мне и нафиг не надо. А вам?

  
Наверх
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
Ответ #1 - 26. Февраля 2008 :: 16:56
Печать  
Цитата:
Tonal писал(а):А не можешь в двух словах объяснить в чём сложности с интерпретатором?
Почему не подходит QtScript или pythonqt?

почему не QtScript: хочу писать по русски, ИМХО экономический софт должен писаться по русски.
еще нужны: классы, защита переменных, разыменование по контексту, свои объекты, определенным образом реагирующие на комманды, оптимизация с использованием байт-кода, сборка мусора и т.п.
Ждать или надеяться на то, что троли сделают имеено то, что нам нужно не приходится. Из=за этого и свой интерпретатор.
еще нужны "цепочки" прохождения событий.
Вообщем задача диктует свои решения.
Стенания поповоду JS-лучший язык в мире, все остальное от лукавого просто не принимаются. Smile
  
Наверх
IP записан
 
Tonal
YaBB Newbies
*
Отсутствует



Сообщений: 12
Зарегистрирован: 26. Февраля 2008
Пол: Мужской
Re: Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
Ответ #2 - 29. Февраля 2008 :: 09:30
Печать  
Я таки считаю, что делать свой интерпретатор занятие мало осмысленное на начальном этапе.
Лучше взять готовый - JavaScript, Python, Lua и заложится на возможность в дальнейшем добавлять/менять конкретные интерпретаторы.
Т.е. сделать интерфейс для их встраивания, как это сделано в IE, Open Office,  PostgreSQL, FastReport и ряде других современных систем.

Аргументы разработку своего:
1) Полный контроль над языком
2) Полный контроль над реализацией
3) Это интересно. Улыбка

Аргументы против:
1) Большинство из разработчиков весьма смутно представляют процесс компиляции/интерпретации.
2) Разработка языка требует хорошо знать и понимать теоретические основы структуры языков программирования, иметь хорошие знания в нескольких языках программирования, хорошо понимать конкретную специфику (подо что создаётся язык и почему не подходят существующие). Сильно сомневаюсь, что кто-то из разработчиков удовлетворяет этим качествам.
3) При разработке нового языка очень просто в него заложить некоторые допущения, которые потом могут оказаться неверными, и затормозить его развитие, а в конечном итоге и вовсе похоронить язык (ярчайший пример PL/1 в котором было очень мног фичь от IBM360-370 для которой он разрабатывался). Т.к. в случае qt1L интерпретатор это ядро - то ошибки в его дизайне негативно скажутся на всей системе.
4) Существующие языки довольно неплохо оптимизированы по всем параметрам - чтобы добиться сравнимого нужно потратить довольно много сил и времени.
5) Для нового языка придётся все библиотеки писать с нуля.
6) Для нового языка придётся с нуля писать документацию.
7) Придётся создавать сообщество пользователей, обучать, объяснять...
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
Ответ #3 - 29. Февраля 2008 :: 10:29
Печать  
Tonal писал(а) 29. Февраля 2008 :: 09:30:
Я таки считаю, что делать свой интерпретатор занятие мало осмысленное на начальном этапе.
Лучше взять готовый - JavaScript, Python, Lua и заложится на возможность в дальнейшем добавлять/менять конкретные интерпретаторы.

Да-да-да, я вот хочу писать экономический софт на питоне. Я не шучу.
  
Наверх
www  
IP записан
 
Tonal
YaBB Newbies
*
Отсутствует



Сообщений: 12
Зарегистрирован: 26. Февраля 2008
Пол: Мужской
Re: Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
Ответ #4 - 29. Февраля 2008 :: 10:54
Печать  
Мы уже пишем - и ничего - все довольны. Улыбка
  
Наверх
www  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
Ответ #5 - 29. Февраля 2008 :: 11:08
Печать  
Tonal писал(а) 29. Февраля 2008 :: 09:30:
Я таки считаю, что ...

Все верно изложено, но в выводах нет намека на специфику приложения.
А она требует несколько иного подхода и реализации системы..
  
Наверх
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
Ответ #6 - 29. Февраля 2008 :: 11:13
Печать  
Tonal писал(а) 29. Февраля 2008 :: 10:54:
Мы уже пишем - и ничего - все довольны. Улыбка

Ваши программы наверное предназначены для пользователей.
Наша же задача дать инструмент оперирования данными для публики ориентированной не на программинг, а на экономические расчеты. Вот у этой публики я так думаю нет никакого желания учить английский и сидеть со словарем, пытаясь подобрать удобочитаемый английский эквивалент переменной "ВаловаяПрибыль" или "АктУстановкиХарактеристикТовара", разбираться что такое #include <QtGui> и почему в этой строке используется маалок вместо аллока..
  
Наверх
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
Ответ #7 - 29. Февраля 2008 :: 11:36
Печать  
Tonal писал(а) 29. Февраля 2008 :: 09:30:
Аргументы против:
1) Большинство из разработчиков весьма смутно представляют процесс компиляции/интерпретации.
2) Разработка языка требует хорошо знать и понимать теоретические основы структуры языков программирования, иметь хорошие знания в нескольких языках программирования, хорошо понимать конкретную специфику (подо что создаётся язык и почему не подходят существующие). Сильно сомневаюсь, что кто-то из разработчиков удовлетворяет этим качествам.

Есть такая проблема. И это действительно проблема, по крайней мере для того условно-постоянного состава, что есть сейчас в комманде. Но нет ничего невозможного. Дорогу осилит идущий.
Несколько сылок по этой теме:
Введение в Lua.
Реализация Скрипт-Движка.
Написание интерпретатора скриптов на С++.
Так сказать краткая вводная в скриптовые движки...
  
Наверх
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
Ответ #8 - 29. Февраля 2008 :: 11:54
Печать  
И кстати помоему совершенно естественный путь выбрать/реализовать скриптовый движек под требования платформы, а не платформу под скрипт-движек рихтовать...
  
Наверх
IP записан
 
Tonal
YaBB Newbies
*
Отсутствует



Сообщений: 12
Зарегистрирован: 26. Февраля 2008
Пол: Мужской
Re: Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
Ответ #9 - 29. Февраля 2008 :: 13:32
Печать  
Насчёт русского я согласен, что язык ориентированный не на программеров должен его поддерживать. Смотрим, что у нас в доступных реализациях:
JavaScript поддерживает русские идентификаторы по стандарту (Qt-шная реализация тоже).
Так что называть переменную ВаловаяПробыль можно.
В Python-е эта возможность появиться в версии 3 - которая будет зарелизена в этом году.
Про Lua и остальных - не в курсе...

Остаются стандартные функции и ключевые слова.
Для стандартных функций легко сделать переходники с русскими названиями - хочешь используй русскую - хочешь исходную.
С ключевыми словами можно поступить двояко:
1) оставить как есть т.к. довольно хорошая и наглядная разметка.
2) перевести и использовать препроцессирование - перед отдачей движку переводить ключевые слова назад. Улыбка

Насчёт ликбеза - он нужен без вариантов.
Но думать, что прочитав книжку "Компилятор за 5 минут" народ тут же сможет написать скриптовую машину промышленног класса - это маразм!

Я таки считаю, что лучше взять существующие и сосредоточится на логике.
За время разработки знания пополнятся, а замеченные недостатки можно будет обобщить и подумать ещё раз нужно ли городить свою реализацию, и если нужно, то зачем. Улыбка
  
Наверх
www  
IP записан
 
Tonal
YaBB Newbies
*
Отсутствует



Сообщений: 12
Зарегистрирован: 26. Февраля 2008
Пол: Мужской
Re: Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
Ответ #10 - 29. Февраля 2008 :: 13:41
Печать  
trdm писал(а) 29. Февраля 2008 :: 11:54:
И кстати помоему совершенно естественный путь выбрать/реализовать скриптовый движек под требования платформы, а не платформу под скрипт-движек рихтовать...

Да, если есть опыт разработки своих DSL-ей.
Но в любом случае сформировать требования.
Пока кроме умения работать с русским (что тоже требкет расшифровки), и абстрактного требования понятности бухгалтерам, ничего озвучено не было. Улыбка

Что разрабатывать-то собрались?
Цитата:
- А рация на лампах или транзисторах?
- Для дураков повтаряю - рация - на бронепоезде! (с) РусНарАнекдот
  
Наверх
www  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
Ответ #11 - 29. Февраля 2008 :: 14:02
Печать  
Требования к интерпретатору описываются у нас потихоньку
в "ТЗ на инерпретатор". Существует человек, который занимается
реализацией интерпретатора. Правда в фоновом режиме, впрочем как и все участники.
Ему передана грамматика, сделанная А. Орефковым,
Описания языка программирования 1С, и наши пожелания, выстраданные за годы
работы/программинга в самой системе.
По синтаксису у нас никаких непонятностей нет, т.к. просто используем диалект 1С-а.
  
Наверх
IP записан
 
Tonal
YaBB Newbies
*
Отсутствует



Сообщений: 12
Зарегистрирован: 26. Февраля 2008
Пол: Мужской
Re: Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
Ответ #12 - 29. Февраля 2008 :: 14:34
Печать  
Тогда всё проще - выбирается какая-нибудь VM (например того же QtScript, Python-а или та же LLVM).
Потом рисуется транслятор с нужного синтаксиса в неё - и всё. Улыбка
Транслятор делается с помощью Flex+Bison, ANTLR, или чего-то подобного. Улыбка
Т.е. Вы довольно быстро получаете рабочий интерпретатор и трудитесь только над "выстраданными пожеланиями" Улыбка
  
Наверх
www  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
Ответ #13 - 29. Февраля 2008 :: 14:39
Печать  
К сожалению не все так просто как кажется на первый взгляд...
  
Наверх
IP записан
 
Tonal
YaBB Newbies
*
Отсутствует



Сообщений: 12
Зарегистрирован: 26. Февраля 2008
Пол: Мужской
Re: Состояние qt1L: проект будет ПЕРЕПЛАНИРОВАН!
Ответ #14 - 29. Февраля 2008 :: 14:56
Печать  
В чём проблемы?
  
Наверх
www  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 
ОтправитьПечать