Приветствую, я Максим, и сейчас хочу вам показать разработку в виде EConf - новый формат конфигурационных файлов. Но обо всём по порядку.

Что такое EConf?

EConf - это формат сериализации данных, позволящий вам удобно создавать конфигурации для своих программ, сайтов, игр и так далее.

Вся суть EConf - иметь повышенную читаемость, лаконичный вид и простой синтаксис(что благотворно влияет на скорость парсинга) для ваших конфигураций.

Где может потребоваться EConf?

В основном, EConf предназначен именно для различных конфигураций программ, игр, сайтов и прочего. Однако, он может вполне хорошо использоваться и в других целях - к примеру, передача данных через запросы.

Почему стоит использовать EConf?

В основном, из-за простоты синтаксиса и высокой скорости парсинга(которая достигается как-раз из-за предыдущего пункта). Если вам нужно сделать лёгкую/среднюю по сложности конфигурацию к своему проекту, которая будет выглядить лаконично, занимать мало места и быстро парситься - EConf вам, скорее всего, подходит.

Сравнение с YAML

В основном, EConf довольно похож на YAML, но разные синтаксисы всё же видны. Давайте сравним два примера, один на EConf, другой на YAML:

hello "Привет!"
settings {name "Иван Семёнович" password "ivansemenovich1987"}

и

hello: "Привет!"
settings: 
		- name: "Иван Семёнович"
    - password: "ivansemenovich1987"

С невооруженного взгляда видны различия - в основном, отсутствие в EConf явного разделителя между идентификатором и значением. Более того - если идентификатор должен содержать значение в виде строки, ставить какие-либо знаки в виде разделителя вообще не требуется. Также, не требуется ставить какие-либо разделители между идентификатором и массивом, идентификатором и объектом:

hello"Привет!"
settings{name"Иван Семёнович"password"ivansemenovich1987"}

Выглядит странно? Что ж, в EConf можно вытворять и не такие трюки.

Основные недостатки EConf

Что ж, кажется, что EConf - довольно неплох в своём деле. Но есть важные недостатки:

  • Популярность: Сейчас EConf практически никому не известен;

  • Поддержка языков: На данный момент, EConf является разработкой в рамках языка программирования D, однако автор старается поддерживать и версию для Node.JS.

  • Странный синтаксис: скажем прямо - EConf имеет довольно необычный синтаксис(в основном связанный с отсутствием разделителя между идентификатором и значением).

Заключение

И JSON, и YAML, и EConf хороши в своем деле(хоть JSON и YAML "лучше" в данный момент). Однако не забудем, что EConf был создан в первую очередь как формат конфигурационных данных, и в остальных сферах, что логично, будет уступать "оппонентам".

→ "Сайт" EConf

Версия EConf для D