?

Log in

No account? Create an account
Компьютерно-лингвистическое - Журнал Витуса.
[Друзья] [Свежие записи] [Dreamwidth] [Фото] [Тексты] [Друзья Ирины] [Матерные писатели] [Сообщества] [3 круг]
November 30th, 2007
02:58 pm
[User Picture]

[Link]

Previous Entry Share Next Entry
Компьютерно-лингвистическое

(90 comments | Leave a comment)

Comments
 
[User Picture]
From:blacklion
Date:November 30th, 2007 01:13 pm (UTC)
(Link)
(1) Давай разделять JavaScript и "учебник по client-side скриптингу в Web.".
(2) Client-side скриптинг в Web — это любой язык + DOM. Да, во всех браузерах разом есть только JavaScript, но это техническая деталь. Для изучения CS скр. в Web надо изучать DOM, а не языки.
(3) JavaScript отлично изучается по своему стандарту. Если ты технарь, конечно — он ОЧЕНЬ формальный. Зато мозги прочищает враз.
(4) DOM изучается, опять же, (surprise!) по стандарту от w3c :)
(5) Дальше начинаются технические детали несоответствия браузеров стандарту. И вот-тут то и пригодится разговорник, где всё расписано про особенности.
[User Picture]
From:vitus_wagner
Date:November 30th, 2007 01:24 pm (UTC)
(Link)
Стандарты - это всё же reference, а не guide. Изучить JavaScript (ECMAScript) по стандарту еще можно. Он достаточно компактный, чтобы весь уместился в голову в несистематизированном виде, и система уже там выстроилась. А вот с DOM и CSS у меня так не получается. Тем более что начинается смешение с куда более прямой и логичной XML DOM и когнитивный диссонанс, когда при первых же экспериментах натыкаешься на несоответствие браузеров стандарту.

Возможно, если прижмет и я дня два-три потрачу на изучение этого добра по стандарту методом погружения - получится. Но пока такой необходимости у меня не было.
[User Picture]
From:blacklion
Date:November 30th, 2007 01:30 pm (UTC)
(Link)
И DOM и CSS логичны и систематизируемы, да. Проблемы именно в “индивидуальных особенностях браузеров”. Но в том-то и вся штука, что, IMHO, учебник по особенностям невозможен — возможен только разговорник! А изучать-то там и нечего, кроме особенностей :)
[User Picture]
From:blacklion
Date:November 30th, 2007 01:34 pm (UTC)
(Link)
Кстати, в случае своих проектов, стоит как раз ориентироваться на XHTML и XML DOM, IMHO. Проблем будет меньше, да и различий в браузерах.
[User Picture]
From:_pacak_
Date:November 30th, 2007 02:55 pm (UTC)
(Link)
В случае DOM и CSS, особенно CSS есть много браузероспецифичных вещей. А именно ie. Если писать по стандарту то в ie будет работать далеко не все. Если писать так, чтобы отображалось во всех браузерах то код получается страшный. Могу примеров накидать :)
[User Picture]
From:_navi_
Date:November 30th, 2007 01:24 pm (UTC)
(Link)
с (1) согласен
а вот с (3) не совсем. Хоть стандарт и очень формальный, по стандарту не получишь того погружения и систематики. Мозги прочистишь, но вот заполнить нормально это место после прочтения вряд ли получится.
[User Picture]
From:blacklion
Date:November 30th, 2007 01:31 pm (UTC)
(Link)
Какой систематики не получишь? Вся тонкость JavaScript — только в идее конструкторов и прототипов, всё остальное — для любого, знаеющего C, C++, Perl, whatever — тривиальщина и очевидщина. Я прототипы не смог понять, пока не прочёл стандарт как раз. Это единственное известное мне место, где строго и хорошо объяснены правила поиска свойств объектов через цепочки прототипов.
[User Picture]
From:_navi_
Date:November 30th, 2007 01:47 pm (UTC)
(Link)
да нет же, прототипы как раз поймёшь. А вот составить в своей голове понимание, как на этом писать “стереотипный код” — фиг.

Вот, как раз пару часов назад ученику показывал как можно преобразовать его функцию на питоне в функцию на Haskell'е (правда нам не само преобразование было интересно, а дальнейший анализ). Функция делает следующее: по набору корней полинома возвращает его коэффициенты (нормализованные). Первый вариант — на сколько это возможно близкий к тексту перевод с питона на хаскелл (признаюсь, вместо viet' там был в виде λ-функции, я предпочёл её вытащить сразу). Второй вариант — это то, как бы я писал на хаскелл, “стереотипная версия”.

На Java тоже можно писать как на C++, только очень уж коряво это местами. С каждым языком вдовесок идёт некоторый mind-set, который нужно принять для нормального его использования.
[User Picture]
From:blacklion
Date:November 30th, 2007 02:18 pm (UTC)
(Link)
С каждым языком вдовесок идёт некоторый mind-set, который нужно принять для нормального его использования.
Увы, майнд-сет для JavaScript мне пришлось вырабатывать самому, потому что вот этого именно для JavaScript я нигде не видел. Даже знаменыетые prototyps.js & Ko — жуткое уродство, IMHO. Местами можно сделать в разы красивее
[User Picture]
From:blacklion
Date:November 30th, 2007 01:35 pm (UTC)
(Link)
Т.е. чем ты предпоалагешь вообще заполнять мозги? if(){'ами и }else{'ами? :)
Единственное, что там достойно мозга — работа new и prototype, а оно лучше всего в стандарте описано :)
[User Picture]
From:tzirechnoy
Date:November 30th, 2007 01:35 pm (UTC)
(Link)
Только дажэ выучив наизусть весь DOM по стандартам от КоллективногоМаразума писать DHTML не начнёшь.
[User Picture]
From:blacklion
Date:November 30th, 2007 01:36 pm (UTC)
(Link)
Дык — и тут потребуется разговорник. система — она в стандарте. Отличия и баги браузеров — в разговорнике.
[User Picture]
From:tzirechnoy
Date:November 30th, 2007 01:38 pm (UTC)
(Link)
В DOM нет ни window, ни image, ни XmlHttpRequest.
[User Picture]
From:blacklion
Date:November 30th, 2007 01:40 pm (UTC)
(Link)
window есть, кстати. XmlHttpRequest — нету. Ну вот и прочесть одну статейку на 16Kb.
[User Picture]
From:blacklion
Date:November 30th, 2007 01:39 pm (UTC)
(Link)
Ну и не надо уже писать DHTML. а различия в реализациях DOM есть (тот же addEvent / addEventListener()), но не так она велика, как была в до-DOM-времена layer[]'ов и image[]'ей.
My Website Powered by LiveJournal.com