Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
sergeysova opened this issue Dec 5, 2015 · 4 comments
Open

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

sergeysova opened this issue Dec 5, 2015 · 4 comments

Comments

@sergeysova
Copy link

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

Person
  Name Ivan Ivanov
  Email [email protected]
  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": "[email protected]",
  "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":"[email protected]","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.

@sergeysova
Copy link
Author

@scrobot
Copy link

scrobot commented Feb 27, 2016

У статьи рейтинг -5 )) Прям показатель)
Смысл есть всегда и во всем. Вместо того чтобы критиковать, лучше сами сделали что-то полезное.

@sergeysova
Copy link
Author

@scrobot, я попытался сравнить с тем, что уже есть.
Ruby-сообщество придерживается мнения, о том, что не нужно создавать велосипеды, нужно лишь улучшать существующее. Именно поэтому у ruby так много качественных пакетов(гемов).
Я старался критиковать только осмысленные детали KHON и очень хотел, чтобы моя критика воспринималась трезво, без предрассудков

@sergeysova
Copy link
Author

Чтобы сделать что-то полезное, нужно для начала определиться с целью и задачами будущего продукта. Я стараюсь не писать продукт заново, если такое уже написано.
Но если KHON писался с целью самообучения и получения опыта, прошу прощения за неуместную критику

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants