Накипело #2. XML.
Ну, как я и обещал, пришло время рассказать еще об одной «состоявшейся технологии», которую лично я терпеть не могу. Думаю, вы поняли из названия, что речь пойдет про XML.
Итак, что такое XML? Это язык разметки документов. Точка. Имею ли я против «расширяемого языка разметки»? Нет. Если он применяется именно для того, для чего он предназначен.
К сожалению, куча людей считает, что XML — это круто. Это, сука, крайне удобная и надежная технология. Так давайте же пихать его везде, куда можно и нельзя! Давайте пихать его в API сервисов, в конфигурационные файлы, сделаем его «стандартом» обмена данными между сервером и клиентом (в случае RIA).
Знаете, что я думаю? Я думаю, что XML повсеместно внедрили какие-то человеконенавистники. По прямому заказу какого-нибудь Люцифера. Ага.
Почему я так думаю? Потому что, блядь, тяжело придумать более тупую хуйню, чем XML в качестве формата хранения и передачи данных. Блядь, любой другой формат будет в тысячу раз лучше!
XML предназначен для разметки документов. Документов, сука. Которые обрабатывает специальная программа, а потом выводит в красивом и понятном человеку виде. Нахуя использовать XML в передаче данных лично мне непонятно, лишние телодвижения ради лишних телодвижений: берем данные, превращаем их в документ, передаем на клиент, превращаем документ в данные и пользуемся ими. Охуеть. Не проще ли взять данные, передать их и использовать данные на клиенте? Наверное, проще. Наверное, именно поэтому JSON вытесняет XML.
Те, кто работал с java-фреймворками, поймут меня — XML это зло. И чем больше XML’a в проекте, тем больше зла. Особенно отличились на поприще распространения зла appfuse и tapestry. Ну, java вообще в этом смысле отличный язык — в смысле поебаться на пустом месте.
Я так понимаю, началось все с того, что какой-то идиот придумал, что XML легко читать человеку. И легко править. Ебанаврот! Это чисто машинно-ориентированный формат, и чтобы его прочитать, надо пять раз уебаться башкой об стену, чтобы голова напоминала по форме системный блок — вот тогда, наверное, можно будет читать этот «документ» свободно.
Или он подумал, что круто будет задавать property в виде XML, потому что так можно в сам формат зашить, какие именно свойства можно объявлять и какие они могут иметь значения. В данном случае, по моему мнению, нужно немножко больше верить в человека. Наверное, не совсем уебаны работают на должностях программистов и администраторов, и уж как-нибудь прочитают документацию, перед тем как что-то писать в конфиги. А не прочитают — ну так и XML им не поможет, это клиника. Лично я думаю, что гораздо проще и естественнее писать конфиги в формате .property:
названиеСвойства = значениеСвойства
Или посмотрите в сторону YAML, который используется в рельсах — руки от зависти можно сгрызть, как все просто и понятно.
Как бы то ни было, мы, java-программисты, имеем то, что имеем. Уебанские, нечитаемые и сложные в написании конфигурационные файлы.
К счастью, ситуация начинает меняться в лучшую сторону, и здравый смысл побеждает — XML постепенно уступает место более вменяемым форматам.
Резюмируя: я не против XML. Это отличная технология, которая хороша на своем месте. Но. Я считаю, что затыкать каждую дырку XML смешно и глупо. И поэтому использование XML надо ограничить.