Skip to content

KHON бессмысленен #3

Description

@sergeysova

Давайте сравнивам ваши примеры:

Person
  Name Ivan Ivanov
  Email ivan@ru.ru
  Address
    Country Russian Federation
    City Moscow
    Street Ivanovskaya, 11-22
  Phone
    Mob 915-555-5555
    Office 777-55-55
  HeLikes
    Cars
    Apple
    Travel
  WishList
    Name
    Manufacturer
    Quantity
    Notes

    Dodge
    General Motors
    1

    MacBook Pro
    Apple
    2
    15 inch

    Lamp
    No matters
  WorksOn
    Google
    Khasang
  CV
    Company name
    Date to
    Date from
    Position

    Khasang
    now
    2008-01-01
    Architect

    Google
    2004-11-11
    2008-01-01
    Manager

    Yandex
    2000-03-03
    2004-11-11
    Developer

khon: 694 символа

{
  "Name": "Ivan Ivanov",
  "Email": "ivan@ru.ru",
  "Address":
  {
    "Country": "Russian Federation",
    "City": "Moscow",
    "Street": "Ivanovskaya, 11-22"
  },
    "Phone":{
    "Mob": "915-555-5555",
    "Office": "777-55-55"
  },
  "HeLikes": [
    "Cars",
    "Apple",
    "Travel"
  ],
  "WishList": [
    {
      "Name": "Dodge",
      "Manufacturer": "General Motors",
      "Quantity": 1
    },
    {
      "Name": "MacBook Pro",
      "Manufacturer": "Apple",
      "Quantity": 2,
      "Notes": "15 inch"
    },
    {
      "Name": "Lamp",
      "Manufacturer": "No matters"
    }
  ],
  "WorksOn": [
    "Google",
    "Khasang"
  ],
  "CV": [
    {
      "Company name": "Khasang",
      "Date to": "now",
      "Date from": "2008-01-01",
      "Position": "Architect"
    },
    {
      "Company name": "Google",
      "Date to": "2004-11-11",
      "Date from": "2008-01-01",
      "Position": "Manager"
    },
    {
      "Company name": "Yandex",
      "Date to": "2000-03-03",
      "Date from": "2004-11-11",
      "Position": "Developer"
    }
  ]
}

json: 1133 символа

И осознаем, что в таком виде, JSON не передается по сети. JSON всегда проходит минификацию. В этом вся его мощь, минифицированный он короче XML.

{"Name":"Ivan Ivanov","Email":"ivan@ru.ru","Address":{"Country":"Russian Federation","City":"Moscow","Street":"Ivanovskaya, 11-22"},"Phone":{"Mob":"915-555-5555","Office":"777-55-55"},"HeLikes":["Cars","Apple","Travel"],"WishList":[{"Name":"Dodge","Manufacturer":"General Motors","Quantity":1},{"Name":"MacBook Pro","Manufacturer":"Apple","Quantity":2,"Notes":"15inch"},{"Name":"Lamp","Manufacturer":"Nomatters"}],"WorksOn":["Google","Khasang"],"CV":[{"Companyname":"Khasang","Dateto":"now","Datefrom":"2008-01-01","Position":"Architect"},{"Companyname":"Google","Dateto":"2004-11-11","Datefrom":"2008-01-01","Position":"Manager"},{"Companyname":"Yandex","Dateto":"2000-03-03","Datefrom":"2004-11-11","Position":"Developer"}]}

json.min: 726 символа

Мне кажется время, когда стоило трястись за 30 байт прошло.
А теперь попробуйте сжать KHON !

Да и ещё во всех ваших примерах JSON некорректен и не будет парситься.
Если вы надумаете сказать что KHON подходит для конфигурации, я отвечу YAML.

В общем, обдумайте будущее KHON, для чего он вообще нужен, и чем он лучше YAML.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions