1. Куча / Говнокод #23544

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Как думаете, гландопродавцы, какого хуя подавляющее большинство держателей каких-либо API продолжают отчаянно
    цепляться за устаревший формат "XML", отказываясь признавать простоту и удобство (для обеих сторон) формата "JSON"? 
    Как "simplexml_load_file(...)" с неебическим количеством мусора типа "@attributes" может быть лучше приятненького
    "json_decode(..., true)", учитывая, что первый, в случае, если дочерний тег с определённым именем у "родителя" один,
    возвращает по этому тегу одномерный массив, а в случае, если их несколько - многомерный? Где предсказуемость?

    Запостил: COWuTEJIbTBOEuMAMKu, 16 Ноября 2017

    Комментарии (36) RSS

    • Казалось бы, при чём тут похапе?
      Ответить
    • Шо "XML" фигня, шо "JSON" фигня. Обе придуманы анскильными питухами.

      То ли дело функция serialize из "PHP", которая перед каждым значением сохраняет его длину, чтобы потом парсилось быстрее.
      Ответить
      • Царь просил передать что он использует свой собственный формат сериализации, оптимиизированный одновременно для TCP/IP и современных CPU
        Ответить
    • Как думаете, гландопродавцы, какого хуя подавляющее большинство держателей каких-либо API перешли на неудобный, не дающий возможности описать интерфейсы, не позволяющий сгенерировать прокси-классы псевдостандарт "JSON", отказываясь признавать простоту и удобство (для всех, кроме "программистов" на "JS" и "PHP") формата "XML"/"SOAP"?

      Как убогий, не типизированный "jObject.getAsJsonArray("");" может быть лучше приятненького сгенеренного прокси класса где уже есть метод, возвращающий массив?

      Неужели людям нравится вручную читать описание стандарта и потом вручную же его обрабатывать, вместо того чтобы отдать это на откуп компьютеру?
      Ответить
      • Потому что веб-дезигнеры делятся на
        1) Не знающих слово schema динамикопитухов
        2) Интерпрайз, где все интерфейсы скорее всего придумывают специальные люди, а тем, кто их имплементируют, на схему в принципе уже и насрать, у них уже всё докуметировано и согласовано
        Ответить
        • Интерпрайзеры, кстати, часто используют SOAP. Ну, использовали 10 лет назад. MS его очень сильно продвигал.
          К примеру, там было расширение для сквозной авторизации, и можно было нахаляву получить функциональность SSO от контроллера домена.

          Современные веб-разработчики обычно над ними смеются: "хахаха, у них там надо компилироваться, ставить какие-то IDE, схемы какие, а я вот пишут на JavaScript в sublime и мне ничего не надо, бедные тупые интерпрайз-диназавры"
          Ответить
          • > и мне ничего не надо
            Если бы. Из-за отсутствия модулей в JS, им, несчастным, столько невиданных тулов нужно.
            Ответить
            • А, ну так-то да. webpack, npm, gulp, и еще штук двадцать тулов.

              Самое смешное что __некоторые__ JS программисты всерьез думают что они изобрели модульность и копеляцию.

              "У нас тут есть webpack, он позволяет собрать зависимости в один бандл, у вас-то небось в джавах и сях такого нету".

              В общем всего 15 лет понадобилось фронт-энд сообществу чтобы собрать себе инстременты, хотя бы отдаленно напоминающие линкер и Makefile :)
              Ответить
              • ...но чтобы собрать свои ягодицы после моего проникновения промеж них, тебе потребуется ещё больше времени...
                Ответить
      • вообще кошерно поддерживать оба формата, а сериализацию делать по хидеру который присылает клиент
        Ответить
        • Да можно и урлы разные сделать.
          но ктож так делает... хотя технически это и не сложно
          Ответить
          • Разные урлы — это уже не REST получается
            Ответить
            • Ну вот для JSON можно ставить REST, причем идеоматический:

              GET -- найти объект
              PUT -- создать
              POST -- изменить
              DELETE -- DELETE

              А SOAP всегда по POST ходит
              Ответить
              • POST создает обычно,
                PUT апдейтит

                Вот если б SOAP только возвращал XML, а так ему еще запрос этим XML ем создавать нужно. Ну и POST не кешируется никак. Вроде как транспорт по хттп идет а фичи хттпшные не использовать с ним.
                Ответить
                • SOAP ничего о понятии 'объект" (в отличии от реста) не знает.
                  SOAP это способ вызова удаленных процедур и передачи в них структур в качестве параметров

                  потому, конечно же, SOAP с XML ждет везде XML. Но его не нужно писать руками. Нужно использовать прокси классы, сгенеренные по WSDL.
                  Ответить
                  • WSDL можно отключить, пейлоад для SOAP можно генерить вручную как обычный XML Object
                    Ответить
                    • тогда он будет не лучше реста с jsonом
                      Ответить
                    • > пейлоад для SOAP можно генерить вручную как обычный XML Object
                      Конпелятор тоже можно отключить и генерить код вручную, как обычную последовательность байтов.
                      Ответить
    • А вообще лучше YAML. Да, нужно какую-то библиотеку подключать, но зато потом в конфигах никаких лишних скобок { "кавычек": двоеточий } (про <xml></xml> вообще молчу).
      Ответить
      • Не лучше. Скобки и кавычки в жсоне заебись.
        Ответить
      • теперь посчитай, сколько ебучие отступы сожрут. читать-то его и вправду легче, только читать его будешь не ты, а бездушная машина.
        Ответить
    • sexp.
      Ответить
      • Это вопрос?
        Ответить
        • Это формат представления данных. Если говорить о предложении в целом, то это утверждение. Люди ставят точку в конце утвердительных предложений.

          > Это вопрос?
          Это вопрос.
          Ответить
          • Подозреваю, что собеседник намекает на использование жаргона:
            http://www.catb.org/jargon/html/p-convention.html
            Ответить
            • Спасибо, я как-то с этой стороны не посмотрел. Знаки вопроса в именах предикатов, как в Scheme, мне нравятся больше.сейчас придёт SemaReal и скажет, что в убогом руби тоже знаки вопроса у предикатов ставят
              Ответить
              • А я почему-то подумал про экспоненту. Вспомнил sinf, sinl в няшной и ALOG в Фортране.
                Ответить
    • # устаревший формат "XML"

      Да ты шо. Сейчас как раз идёт массовая миграция на XML.
      Ответить
    • xml могет в атрибуты
      xml могет в типы и неймспейы
      xml можно парсить чанками
      Ответить
      • А еще он могет в валидацию посредством схем
        А еще в xpath
        Ответить
        • есть же убогая json-schema и даже JsonPath
          Ответить
          • Есть, но она убогая, и ее никто не предоставляет. Сейчас модно описывать формат простым английским языком, чтобы его проверял не компьютер, а программист.
            Ответить
    • Как думаете, гландопродавцы, какого хуя подавляющее большинство держателей каких-либо API продолжают отчаянно цепляться за хипстерский формат "JSON", отказываясь признавать простоту и удобство (для обеих сторон) формата "ASN.1"?
      Ответить
      • Вероятно потому что держатели API не PhD а 19-ти летние модные веб-программисты в квадратных очках?
        Ответить

    Добавить комментарий