Худо-бедно, но
CCore всё ещё жива и успешно развивается.
github
небольшая статья по английски о проекте
Лично мне мой проект очень нравиться. Мне
комфортно программировать на этой платформе.
Как играть на скрипке Страдивари.
Внедрил концепты (несколько сот штук во всей библиотеке!). Очень доволен результатом, одна из самых полезных фич в современном С++.
Очень доволен практикой использования
DDL.
Всем рекомендую изучить и взять на вооружение. Этот язык -- реально то, чего очень не хватало в С++ мире.
Самая главная часть работы в CCore сейчас -- новый GUI framework. В основном закончен, но ещё не документирован.
Несколько скринщотов
здесь
здесь
---------------------------------------------------------------------
Здравствуйте, Шахтер, Вы писали:
Ш>Очень доволен практикой использования DDL.
Ш>Всем рекомендую изучить и взять на вооружение. Этот язык -- реально то, чего очень не хватало в С++ мире.
Для чего используется этот DDL ?
ps: Так будет работать?
ip[] list = { FE80::1%12, 192.168.1.1 } ;
Здравствуйте, kov_serg, Вы писали:
_>Здравствуйте, Шахтер, Вы писали:
Ш>>Очень доволен практикой использования DDL.
Ш>>Всем рекомендую изучить и взять на вооружение. Этот язык -- реально то, чего очень не хватало в С++ мире.
_>Для чего используется этот DDL ?
Для хранения данных самого разного рода.
Например, файлы конфигурации.
//include <AppState.ddl>
AppState Data=
{
{ 1127 , 45 , 753 , 1067 , True },
{
"D:/active/home/C++/CCore-3-xx/vtools/Aspect/docs/Lib.aspect.ddl"
}
};
Файлы со сложными данными. Вот, например, файл описания языка и его LR1-парсера
здесь
_>ps: Так будет работать?
_>_>ip[] list = { FE80::1%12, 192.168.1.1 } ;
_>
Нет, так не будет. IP адрес можно инициализировать только константой типа 192.168.1.1.
Здравствуйте, Шахтер, Вы писали:
_>>Для чего используется этот DDL ?
Ш>Для хранения данных самого разного рода.
Ш>Например, файлы конфигурации.
Ш>Ш>//include <AppState.ddl>
Ш>AppState Data=
Ш> {
Ш> { 1127 , 45 , 753 , 1067 , True },
Ш> {
Ш> "D:/active/home/C++/CCore-3-xx/vtools/Aspect/docs/Lib.aspect.ddl"
Ш> }
Ш> };
Ш>Файлы со сложными данными. Вот, например, файл описания языка и его LR1-парсера
Можно например lua использовать для файлов данных и конфигурации. Но всё равно какой-то лютый overkill получается.
-- config.lua
require "ddl-types"
i=complex{0,1}
lang=Lang{ name="value" }
list={ ip"FE80::1%12", ip"192.168.1.1" }
table={}
for i=1,10 do table[i]=i*i end
Чем обычные конфигурационные файлы не устраивают? Или тот же json например или богомерзкий xml?
_>>ps: Так будет работать?
_>>_>>ip[] list = { FE80::1%12, 192.168.1.1 } ;
_>>
Ш>Нет, так не будет. IP адрес можно инициализировать только константой типа 192.168.1.1.
Почему такая дискриминация IPv6 ?
Здравствуйте, kov_serg, Вы писали:
_>Можно например lua использовать для файлов данных и конфигурации. Но всё равно какой-то лютый overkill получается.
Лучше DDL.
Он гораздо лучше подходит для этого.
А использовать lua -- это, действительно, лютый overkill получается.
_>Чем обычные конфигурационные файлы не устраивают? Или тот же json например или богомерзкий xml?
Я не знаю, что такое "обычные конфигурационные файлы". Если вы имеете ввиду файлы типа *.ini, то их возможностей
по представлению сложных данных просто недостаточно.
Богомерзкий XML я потому и не использую, что он богомерзкий. Нетипизированный язык без указателей с дурным синтаксисом.
Это плохая технология.
DDL появился гораздо раньше json.
json не годится для сложных данных с внутренними связями.
Да и вообще -- на мой вкус -- дрянь имени javascript.
_>Почему такая дискриминация IPv6 ?
Потому что нельзя объять необъятное.
DDL имеет множество базовых типов. Это множество небольшое.
Я включил в него тип ip, поскольку он очень популярен в сетевых настройках, особенно в разных встроенных системах.
Для остальных типов данных есть механизмы конструирования. Нет проблем сделать тип IPv6.
Да, его нельзя будет просто инициализировать строкой типа FE80::1%12, но это вообщем небольшая проблема,
поскольку DDL это всё-таки data assembler, т.е. это язык в первую очередь soft-to-soft.
Здравствуйте, Шахтер, Вы писали:
Ш>Лично мне мой проект очень нравиться. Мне комфортно программировать на этой платформе.
Ш>Как играть на скрипке Страдивари.
Чем там принтф лучше этого:
https://github.com/fmtlib/fmt https://fmt.dev/latest/index.html
Который в стандарт уже готов прыгнуть:
https://fmt.dev/Text%20Formatting.html
?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, Vain, Вы писали:
V>Здравствуйте, Шахтер, Вы писали:
Ш>>Лично мне мой проект очень нравиться. Мне комфортно программировать на этой платформе.
Ш>>Как играть на скрипке Страдивари.
V>Чем там принтф лучше этого: https://github.com/fmtlib/fmt https://fmt.dev/latest/index.html
V>Который в стандарт уже готов прыгнуть: https://fmt.dev/Text%20Formatting.html
V>?
Ну откуда же мне знать? Для этого надо изучать твою библиотеку и проводить сравнительный анализ.