juan_gandhi: (Default)
[personal profile] juan_gandhi
Тут уговорил коллег плюнуть на всю эту пропраетари хренопень и просто пользоваться джейсоном. Главное что удобно - какой бы у тебя ни был язык (хоть пролог) - пошел на json.org, скопировал зип с библиотекой (с сырцами), поставил - и работает. И на хрена все эти xml, yaml, rss, и прочая белиберда? Что ещё любопытно, это, собственно, означает победу языка джаваскрипт над всей этой хренопенью вообще.

Вот когда всякая апликация сможет интерпретировать джаваскрипт (т.е. будет внутри себя содержать интерпретатор лиспа), и когда народ осознает, что в джаваскрипте trampolining, folds, monads, shift/reset пишутся одной левой с закрытыми глазами, то возникнет вопрос: а на хрена нам весь этот тяжелый бред, наследие прошлого, который мы так упорно учили все эти годы? Все эти плапласы, джавы, шарпы, руби, пытоны, скалы - если достаточно Хаскеля для системных задач (написание ядра апликации) - и народу столько не надо будет, сколько сейчас роится, мучаясь с шарпами и плюсами, а сверху скриптовый язык джаваскрипт (может, его переименовать уже как-нибудь, бросив это дурацкое маркетинговое слово семнадцатилетней давности? назвать его веблисп, скажем? или просто лисп-2?)

Хмм... следует ли это всё изложить на десяти страницах крупным шрифтом с примерами?

Date: 2010-02-11 12:35 am (UTC)

Date: 2010-02-11 12:39 am (UTC)
From: [identity profile] orleanz.livejournal.com
" назвать его веблисп, скажем?

Липс! Губы! Будет секси. И с языком связано ...

Я не издеваюсь, я сам его очень люблю и хочу в нем детально разобраться.

Date: 2010-02-11 12:44 am (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
Хорошая идея. И песен много про это дело. И в фольклор хорошо пойдёт.

(no subject)

From: [personal profile] petropavel - Date: 2010-02-11 06:06 am (UTC) - Expand

Date: 2010-02-11 12:43 am (UTC)
From: [identity profile] uncle-lex.livejournal.com
По-моему, стоит. Уж очень интересно посмотреть, как это всё С# заменить может.

Date: 2010-02-11 12:45 am (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
Кстати, возникает уже такое ощущение, что всё это навеяно книгой "Дюна".

(no subject)

From: [identity profile] uncle-lex.livejournal.com - Date: 2010-02-11 12:56 am (UTC) - Expand

(no subject)

From: [identity profile] ivan-gandhi.livejournal.com - Date: 2010-02-11 01:13 am (UTC) - Expand

Date: 2010-02-11 01:02 am (UTC)
From: [identity profile] hill-report.livejournal.com
кругом сплошное телевидение...(c)

а если я получил сообщение по сети, и в течение 25 миллисекунд мне надо отправить ответ. когда хоп запускается какой-нибудь haskell garbage collection который невозможно контролировать, и приехали.

чем больше я пишу на С++ тем больше люблю собак понимаю Страуструпа который решил запретить топологию automatic memory management

Date: 2010-02-11 01:14 am (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
Об аналогичном случае подробно может рассказать [livejournal.com profile] _navi_, который любит баловаться по долгу службы с real-time Java.

В целом-то, имхо, если preemptive interrupts нету, то всё это... всё это... всё это игрушки одни (имхо, конечно).

(no subject)

From: [identity profile] hill-report.livejournal.com - Date: 2010-02-11 05:06 am (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_navi_/ - Date: 2010-02-11 06:46 am (UTC) - Expand

(no subject)

From: [identity profile] vit-r.livejournal.com - Date: 2010-02-12 11:35 am (UTC) - Expand
From: [identity profile] schegloff.livejournal.com
Мне за AJAX даже браться страшно, а может быть, и не так страшен черт?
From: [identity profile] ivan-gandhi.livejournal.com
Хрен ли там браться. Два прихлопа три притопа. Главное - "существующие фреймуорки" послать. Потом, если захочется, взять - но начать со скелета. json.org на серверной стороне; eval на клиентской.

Date: 2010-02-11 05:09 am (UTC)
From: [identity profile] nivanych.livejournal.com
Назревает революционная ситуация? ;-)

Date: 2010-02-11 05:17 am (UTC)
From: [identity profile] tretiy3.livejournal.com
да. конечно следует.

Date: 2010-02-11 06:09 am (UTC)
From: [identity profile] mikkim08.livejournal.com
Да, следует изложить ! Я бы с удовольствием почитал. Только боюсь, что код на хаскеле не пойму.

Date: 2010-02-11 06:11 am (UTC)
From: [identity profile] migmit.vox.com (from livejournal.com)
У жабоскрипта есть свои недостатки. И их довольно много. Может, лучше бы тикль?

Date: 2010-02-11 06:58 am (UTC)
wizzard: (Default)
From: [personal profile] wizzard
Следует. А вообще JS неидеален (нэймспэйсы бы ему, хотя бы)

Но мысль, мысль хороша.

Date: 2010-02-11 07:17 am (UTC)
From: [identity profile] buldozr.livejournal.com
Зачем мучить людей Хаскелем, когда критичные внутренности можно тупо написать на C (чтобы оптимизация была видна без PhD по функциональному программированию), а сверху скриптовый язык - Javascript или Python?

Date: 2010-02-11 08:37 am (UTC)
From: [identity profile] alexott.livejournal.com
критичные внутренности на С - вы издеваетесь?

(no subject)

From: [identity profile] buldozr.livejournal.com - Date: 2010-02-11 10:35 am (UTC) - Expand

(no subject)

From: [identity profile] alexott.livejournal.com - Date: 2010-02-11 10:36 am (UTC) - Expand

(no subject)

From: [identity profile] buldozr.livejournal.com - Date: 2010-02-11 10:40 am (UTC) - Expand

(no subject)

From: [identity profile] alexott.livejournal.com - Date: 2010-02-11 10:53 am (UTC) - Expand

(no subject)

From: [identity profile] buldozr.livejournal.com - Date: 2010-02-11 11:12 am (UTC) - Expand

(no subject)

From: [identity profile] alexott.livejournal.com - Date: 2010-02-11 01:03 pm (UTC) - Expand

да! изложите пожалуйста

Date: 2010-02-11 07:49 am (UTC)
From: [identity profile] freedom_of_sea.livejournal.com
я например впервые узнал что джаваскрипт это лисп. Но я конечно лузер.

Re: да! изложите пожалуйста

Date: 2010-02-11 08:38 am (UTC)
From: [identity profile] alexott.livejournal.com
ну не лисп, а схема :-)

Date: 2010-02-11 08:26 am (UTC)
From: [personal profile] alll
Изложить обязательно. Хотя бы для приведения умов к общему знаменателю.

А почему умение интерпретировать джаваскрипт означает интерпретатор лиспа внутри?

Date: 2010-02-11 09:21 am (UTC)
From: [identity profile] dkfl.livejournal.com
хренасе, JS это Лисп?

Date: 2010-02-11 10:42 am (UTC)
From: [identity profile] orleanz.livejournal.com
прочитайте короткую статью Крокфорда

JavaScript:
The World's Most Misunderstood Programming Language

http://www.crockford.com/javascript/javascript.html

цитата

Lisp in C's Clothing

JavaScript's C-like syntax, including curly braces and the clunky for statement, makes it appear to be an ordinary procedural language. This is misleading because JavaScript has more in common with functional languages like Lisp or Scheme than with C or Java. It has arrays instead of lists and objects instead of property lists. Functions are first class. It has closures. You get lambdas without having to balance all those parens.

(no subject)

From: [identity profile] ex-vdom.livejournal.com - Date: 2010-02-12 09:20 am (UTC) - Expand

Date: 2010-02-11 10:45 am (UTC)
From: [identity profile] buldozr.livejournal.com
Противопоставлять JSON и XML, по-моему, некорректно (кстати, для XML библиотек уж точно больше). JSON годится, если нужно представлять произвольные структуры данных в виде текстового потока.

Date: 2010-02-11 10:48 pm (UTC)
From: [identity profile] jakobz.livejournal.com
Больше библиотек, меньше, главное что они есть и для того, и для того, для всех языков и платформ.

Насчет сравнивать XML и JSON. Вот что есть такого в XML, чего нет в JSON?

Схемы? Так они во-первых толком целостность данных не гарантируют, во-вторых целостность эту можно обеспечить и другими средствами.

XSLT? В топку, однозначно. Я тут пописал шаблонов к сайту на XSLT, теперь мне больно от одной мысли с ним еще раз связаться. Есть масса шаблонных движков с вменяемым синтаксисом и семантикой.

Неймспейсы? На практике они кроме как для XSLT и XSD нигде не требуются.

DOM? Я лучше уж все сразу десериализую в структуры данных моего языка, чем буду танцевать с DOM.

SAX? Если из десятимегабайтного XML нужно десять строчек достать - что-то где-то значит не так. Других применений не видел, т.к. если нужны все данные файла, используется сериализация. К слову, не вижу причин, по которым такое же нельзя сделать с JSON.

Или я упускаю чего?

(no subject)

From: [identity profile] buldozr.livejournal.com - Date: 2010-02-12 06:40 am (UTC) - Expand

(no subject)

From: [identity profile] sorhed.livejournal.com - Date: 2010-02-12 10:55 am (UTC) - Expand

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2010-02-12 12:17 pm (UTC) - Expand

Date: 2010-02-11 11:48 am (UTC)
From: [identity profile] vit-r.livejournal.com
Десять лет назад я то же самое слышал про Оберон 2. Почти слово в слово.
И где сейчас тот Оберон?
А лет двадцать назад про Шлейер-Меллора, Пролог и пр.

Есть очень много объективных и необъективных причин, почему этим мечтам не суждено сбыться.

Date: 2010-02-11 11:49 am (UTC)
From: [identity profile] vit-r.livejournal.com
"не суждено" - в смысле промышленном и коммерческом.

(no subject)

From: [identity profile] orleanz.livejournal.com - Date: 2010-02-12 11:15 am (UTC) - Expand

(no subject)

From: [identity profile] vit-r.livejournal.com - Date: 2010-02-12 11:38 am (UTC) - Expand

(no subject)

From: [identity profile] orleanz.livejournal.com - Date: 2010-02-12 12:27 pm (UTC) - Expand

Date: 2010-02-11 03:38 pm (UTC)
From: [identity profile] softmaster.livejournal.com
Присоединяюсь к предыдущим ораторам - изложите 10 страниц примеров плз %)

Date: 2010-02-11 08:45 pm (UTC)
From: [identity profile] fantaseour.livejournal.com
yaml иногда быфвает ну очень удобен. конфиги писать всякие разные, схемы данных -- не писать же это на джейсоне...

на yml изящненько выходит... очень мне нравится, гораздо красивее хренопени.

Date: 2010-02-11 10:14 pm (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
А что бы и на джейсоне не написать? Отформатировать только грамотно.

(no subject)

From: [identity profile] fantaseour.livejournal.com - Date: 2010-02-11 10:28 pm (UTC) - Expand

Date: 2010-02-11 09:54 pm (UTC)
From: [identity profile] jakobz.livejournal.com
JSON вместо XML - согласен. Кроме случаев когда нужны неймспейсы, но случаи, когда нужны неймспейсы (XSLT, например) - в топку.

Про javascript не согласный - он тормозной, в нем динамическая типизация и довольно корявый синтаксис. А вся лисповая красота на практике убивается набегающими ООП-шниками, норовящими нагородить поверх всего этого своё ООП. И потом в этом кишмише стилей чёрт голову сломит. Порой в одной странице-то не разберешься что происходит, а тут целое приложение. Страшно представить что будет.

Date: 2010-02-11 10:08 pm (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
О, согласен по многим пунктам.

Насчёт неймспейсов уже чуть не десять лет пытаюсь втолковать - без толку.

Насчёт оопэшников, превращающих джаваскрипт в джаву - это тоже ужас, ужас, ужас. Всех этих людей, разумеется, надо отправить в Индию. А на опустевшем месте писать на функциональном джаваскрипте, с блэкджеком и монадами.

(no subject)

From: [identity profile] buldozr.livejournal.com - Date: 2010-02-12 06:49 am (UTC) - Expand

(no subject)

From: [identity profile] ivan-gandhi.livejournal.com - Date: 2010-02-12 07:18 am (UTC) - Expand

(no subject)

From: [identity profile] buldozr.livejournal.com - Date: 2010-02-12 05:38 pm (UTC) - Expand

Date: 2010-02-11 10:17 pm (UTC)
From: [identity profile] http://users.livejournal.com/_san/
Можно про monads на жабоскрипте поподробнее?

Date: 2010-02-12 07:15 am (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
http://www.ajaxwith.com/JavaScript-Monads.html

http://groups.google.com/group/scala-base/browse_thread/thread/a236ebce5977f29b/5b726d85a838b37b?show_docid=5b726d85a838b37b

Да не дай бог

From: [identity profile] http://users.livejournal.com/_san/ - Date: 2010-02-12 02:55 pm (UTC) - Expand

Re: Да не дай бог

From: [identity profile] migmit.vox.com - Date: 2010-02-12 07:53 pm (UTC) - Expand

Date: 2010-02-11 10:25 pm (UTC)
From: [identity profile] cema.livejournal.com
Зачем джаваскрипту монады?

А так, конечно, json лучше. Хотя rss, ну или какой-то фид, всё-таки надо.

Date: 2010-02-11 11:46 pm (UTC)
From: [identity profile] jakobz.livejournal.com
Вспомнил одну вещь. Если есть SOAP-вебсервис, то, как правило, он же может отдать XSD-схему запросов/ответов. По этой схеме для типизированного языка можно автоматически сгенерить что-то, через что удобно работать с сервисом. Например отмепленные на XML классы, в случае C#.

От этого нет никаких бонусов если сервис используется приложениями, написанными на одном и том же языке - проще написать один раз эти классы и везде использовать. Также от этого нет бонусов в случае, если есть только один статически типизированный язык, например в случае C# на сервере и javascript на клиенте.

Но если к сервису цепляются, из чего-то, написанного на другом типизированном языке, то это очень удобно. Такая получается кросс-платформенная типизация: схема сервиса меняется, на другой стороне обновляются прокси и компилятор проверяет не пихает ли кто float в int.

Для JSON я адекватной замены этому механизму не знаю. Даже если ее придумать, нужен будет четкий стандарт и инструментальная поддержка. А это далеко не так просто.

Так что в определенных случаях лучше все-таки SOAP.

Date: 2010-02-14 03:03 pm (UTC)
From: [identity profile] internaldust.livejournal.com
по-моему единственным преимуществом xml перед json-ом следует иметь ввиду возможность определения локали для ноды.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

May 2025

S M T W T F S
    1 2 3
456 7 8 9 10
11 121314151617
181920 21 222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 24th, 2025 06:47 am
Powered by Dreamwidth Studios