Это не значит что ананас не был обречен на провал. Чтобы хоть как-то противостоять 1С нужна воля и деятельность большого числа программистов в течение нескольких лет, что без финансового обеспечения невозможно, а финнсы у такого проэкта моогут появиться либо от спонсора либо от поддержки, но для того чтобы это все могло появиться нужен уже готовый продукт, который не так-то легко разработать -- порочный круг, из которго не так-то легко вырваться.
Да? Почему у м еня другие сведения, добавленно много всего исправленно еще больше. Сейчас полным ходом идет работа над многопользовательским режимом работы. Хотите помочь? Вам сюда: http://ananasplanet.com/forum/topic/show?id=1611634%3ATopic%3A5367 хотите деньгами хотите работой.
>бизнес схемы в неработоспособном состоянии в большинстве...
>Это не значит что ананас не был обречен на провал.
он был обречён на провал, но не по этой причине. А потому, что Qt сейчас сам по себе активно обновляется, Qt3/QSA на который был рассчитан оригинальный Ананас -- уже скоро EOL, а QSA на QtScript/Qt4 у которого есть перспективы ещё не портировали.
С такой медленной разработкой, как у Ананаса, Qt -- это медленное самоубийство.
Вот мне для генты даже пришлось ебилд править, официальный не работал (ebuild .. install пока толком не работает, но я неленивый, наберу и make install лишний раз). Это всё ерундовая проблема, хотя вот и "бизнес-схемы" установливаются не совсем в лоб, нужно повозиться немного. Гораздо хуже, что порт на Qt4 толком не допилен.
Ну и общее состояние того же "стабильного" 0.9.5 на Qt3 довольно уныло по сравнению с тем же 1C / 2C gpl.
"Базовые объекты" не реализованы -- позор! Убиться веником, но в 2С gpl они хоть работали. Каждая конфигурация, пардон, "бизнес-схема" тянет за собой свою реализацию справочников, документов, регистров..
Для CRUD оно годится (см. например, цикл статей в LinuxFormat), для какого-то OLTP чтобы "документы проводились", регистры обновлялись и отчёты формировались -- фиг.
Как прототип, довольно сыро.
Но, в других реализациях ещё сырее (если не считать MFC-only 2C gpl)
> Чтобы хоть как-то противостоять 1С нужна воля и деятельность большого числа программистов в течение нескольких лет, что без финансового обеспечения невозможно
извините, это дешёвая отмазка. 2C вообще написал Владимир Иванов, в одно рыло -- интерпретатор языка, совместимого с 1С, на котором потом реализовывались "базовые объекты" (таблицы SQL, регистры, документы, и т.п.). Там было семейство языков уровня 0, уровня 1, 2 -- на С++ писался уровень 0, на уровне 0 уровень 1 и реализация базовых объектов на языке вроде 1С, на уровне 1 -- уровень 2 и конечное решение. Очень симпатичная системка была, "самонастраиваемая", как смоллток (написанный на смоллтоке).
Потом автор уверовал в свои силы, и закрыл исходники. Проект протух, но от последних незакрытых появился форк 2C gpl.
Оно даже работает, mysql, sqlite -- но MFC-only под венду.
Несколько проектов вроде qt1L пытались переписать гуй на Qt, сохранив интерпретатор. Ниасилили.
Ананас из того что есть, самое полноценное подобие 2C gpl.
> порочный круг, из которго не так-то легко вырваться.
> порочный круг, из которго не так-то легко вырваться.
ага, ситуация дурацкая. Есть уже написанный 1С, дурацкая в общем-то платформа, но на ней уже много чего написано. В плане конфигураций, оно устраивает клиента с прикладной точки зрения. И плевать, что нормально не тянет 100 пользователей или 20 активных в одной базе. И плевать, что в v7 нет нормального сервера приложений, а "платформа" убога по возможностям расширения (1С++ и другие "внешние компоненты" -- это мёртвому припарки, они не изменят модель работы с данными, модель событий "платформы", менять надо саму платформу)
"Официальная" политика партии и правительства -- жрите Висту^W 1Cv8, потом глядишь и v9 выйдет, и т.п. (И все ломанутся в очередной раз переписывать свои релизы).
Сдаётся, что ситуация "платформа как ч0рный ящик" -- дурацкая, и искусственно ограничивает развитие. С другой стороны, эта платформа уже есть, есть и конфигурации-решения на ней.
А новая конгениальная платформа (взять хотя бы Ананас) будет с 0 (ну хорошо, не 0 -- 1..10 решений) на ней, и на другом языке -- QtScript вместо 1C script, другая объектная модель, другая модель событий.
Тут дело не в Ананасе, а в том, что такая платформа делается с нуля.
Это кажется неправильным. Вместо того, чтобы под новую платформу писать очередные типовые, базовые и т.п. конфигурации, нужно воспользоваться тем, что уже есть (под другую платформу, ага).
Взять готовую конфигурацию 1С (v7, для начала хватит) и разобрать на запчасти (см. например, gcomp, компилятор/декомпилятор 1Cv7.md).
Полученную ботву исходников на входном языке 1С распарсить и оттранслировать в другой выходной язык (например, QtScript для Ананаса и XML для описания метаданных).
Перенести тестовую конфигурацию из 1С в Ананас целиком. Потом, чтобы она заработала, дописать в платформе Ананаса базовые объекты (нужные именно для этой конфигурации). Потом взять другую конфигурацию для тестирования, и т.п.
В итоге, bootstrap'нуть Ананасовую (для начала -- можно выдумать и свою платформу) конфигурацию из 1С-овской.
Потом перенести данные (если SQL, особых проблем нет. Берём DTS из SQL, описываем ему трансформации в XML-ном виде, ложим на новую базу (или упрощаем трансформации до минимума))
В общем, такой транслятор я уже пишу в одно рыло. Работает сканер грамматики языка 1С (взял LALR(1)-генератор на GOLD-Parser http://www.devincook.com/goldparser/), строится по исходникам дерево разбора. Синтаксис разбирается правильно (неделя возни -- и у нас есть грамматика версии 0.5), очередь за семантическим анализатором, оптимизатором и кодогенератором.
Кодогенератор планируется нацеливать на несколько выходных языков: JavaScript(QtScript), Lisp, D, Lua/MetaLua -- попробовать, сравнить на прототипах какие есть подводные камни.
Структура метаданных тоже описывается простой грамматикой, генерировать по ней XML для Ананаса особых проблем нет.
Дальше надо будет заниматься платформой (меня например обуревает желание прикрутить вместо RDBMS OODB или MUMPS).
"типа парсер" работает, но пока довольно сыро, исходники пока выкладывать не буду -- доделаю юнит-тесты на D, допишу парсер, кодогенератор, и когда на примере того же Ананаса оно заработает, может быть и выложу. Хотя основной мой интерес написать свою платформу.
Основная идея в том, что "исходники на 1С" -- это ещё не программа, это модель программы, метамодель. Исполняемая модель, желательно. Есть некая модель платформы, метамодель. Есть спецификации этой метамодели, модели нижних уровней. На нижнем уровне есть модель "исходники на 1С". Платформа в целом строит трансформации из этих исходников, делает замер производительности, бенчмаркинг, чтобы можно было выбрать самую лучшую спецификацию.
В таком направлении, ИМХО, развиваться можно. Вот тот же микрософт обещает нам показать язык D (хм, D уже есть).. не, D мало, возьмем количество танков M (хм, и M тоже есть.. и Х++ есть, ну что за засада, все буквы оккупировали). С той же центральной мыслью -- генерировать системы по готовым моделям. Правда, в нагрузку к этому одному языку нам довесят весь .NET 4.0.
А если делать такую систему как "белый ящик" снизу вверх, а не наоборот -- можно сделать систему покомпактнее..
>>ну с этим можно поспорить. покажи мне замену 1С
> Это не значит что ананас не был обречен на провал. Чтобы хоть как-то противостоять 1С нужна воля и деятельность большого числа программистов в течение нескольких лет, что без финансового обеспечения невозможно, а финнсы у такого проэкта моогут появиться либо от спонсора либо от поддержки, но для того чтобы это все могло появиться нужен уже готовый продукт, который не так-то легко разработать -- порочный круг, из которго не так-то легко вырваться.
1Ц - это прежде всего легко обновляющийся коннектор "контора - госорганы". при этом как он считает, и считает ли вообще - уже совершенно не важно, некоторые вон вообще по бумажке проверяют.