JavaScript может быть очень красивым языком, однако не сразу... Мне, как новичку, долгое время было не понятно, почему некоторые называют его "дзэнским" языком. В чем дзэн JS?
Красота JS во многом зависит от нас самих. Кто ты, адепт школы c/pascal (и их потомков, вроде c++/java или delphi) или же постигающий мудрость и красоту стилей lisp и smalltalk? Дело в том, что JS, в силу своей гибкости, может использовать адепт любой школы, и лишь постигший дзен истинного ООП, может делать это красиво...
Приведу простой пример истинной красоты JavaScript.
В JS есть стандартный объект Math, который отвечает за всю "математику". Например, нужен мне синус - использую Math, нужно случаное число - использую Math и т. д. Этот объект добавлен в язык для того, чтобы обеспечить совместимость со школой c/pascal. Почему? Потому что само существование объекта Math, с точки зрения истинного ООП, лишено смысла. Все операции, связанные с числами, должны быть реализованны в объекте Number, и вот, как это должно выглядеть:
Синус числа x
"Неправильно": Math.sin( x )
Правильно: x.sin()
Округление числа x
"Неправильно": Math.round(x)
Правильно: x.round()
Случайное число от 1 до 100
"Неправильно": Math.round( Math.random() * 99 ) + 1
Правильно: ( 100 ).atRandom()
Все, что "неправильно", будет работать и при том по умолчанию, т.е. никакая дополнительная работа не потребуется, однако только то, что "правильно" позволит вам по-настоящему понимать JavaScript!
Добро пожаловать!
Итак! Вы наконец-то здесь!
Пара слов об этом блоге... Он посвящен всему, что нас интересует: преподаванию математики/информатики, (веб-)программированию, прочим глупостям =)
Мы (т. е. главным образом iwannt) обожаем Smalltalk и Seaside! Немного интересуемся Ruby, совсем немного.
А в остальном... просто читайте нас! =)
четверг, 12 июня 2008 г.
воскресенье, 1 июня 2008 г.
Зачем использовать что-то хуже, чем оригинал?
"Why use anything less than the original?" - один из слоганов на сайте Cincom'омвского Smalltalk'а. Действительно, зачем использовать что-то, что лишь копирует Смолток и при том делает это плохо?
Алан Кэй как-то сказал: "Я придумал термин объектно-ориентированный и вот, что я вам скажу: я не имел в виду C++".
Изучите хоть немного Смолток и вы поймете, что означают слова "красивый язык программирования"! :)
Подписаться на:
Сообщения (Atom)