Добро пожаловать!

Итак! Вы наконец-то здесь!

Пара слов об этом блоге... Он посвящен всему, что нас интересует: преподаванию математики/информатики, (веб-)программированию, прочим глупостям =)

Мы (т. е. главным образом iwannt) обожаем Smalltalk и Seaside! Немного интересуемся Ruby, совсем немного.

А в остальном... просто читайте нас! =)

Показаны сообщения с ярлыком OOP. Показать все сообщения
Показаны сообщения с ярлыком OOP. Показать все сообщения

воскресенье, 13 июля 2008 г.

Jsmatica: начнем!


Около двух недель назад я начал работу над Jsmatica. В двух словах, Jsmatica - это специализированная JavaScript-консоль для несложных математических расчетов.

Идея создания Jsmatica возникла внезапно: нужно было кое-что вычислить, но Mathematica, которой я обычно пользуюсь в таких случаях, не была установлена на компьютере. На помощь пришел JavaScript.

Как можно догадаться, Jsmatica что-то вроде клона Mathematica, только сильно упрощенного. Я решил, что Mathematica вещь удобная, но почти всегда я мог бы обойтись и чем-то меньшим, будь оно столь же удобным. Jsmatica и станет тем "чем-то", таким же удобным, легковесным и, к тому же, бесплатным.

Сразу замечу, что языком Jsmatica будет не совсем обычный JavaScript. Я намерен упростить синтаксис замыканий (добавить блоки), добавить итераторы массивам, и, наконец, сделать реализацию ООП в JS более выразительной: например, в Jsmatica вместо "Math .sin( 2 );" можно будет использовать "( 2 ) .sin();" и т. д.

В ближайшее время я закончу первый этап разработки и опубликую проект на Google.Code под лицензией MIT.
В будущем я планирую применять Jsmatica при проведении лекций и практических занятий по математике.

четверг, 12 июня 2008 г.

Немного о красоте JavaScript

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!

воскресенье, 1 июня 2008 г.

Зачем использовать что-то хуже, чем оригинал?

"Why use anything less than the original?" - один из слоганов на сайте Cincom'омвского Smalltalk'а. Действительно, зачем использовать что-то, что лишь копирует Смолток и при том делает это плохо?


Алан Кэй как-то сказал: "Я придумал термин объектно-ориентированный и вот, что я вам скажу: я не имел в виду C++".


Изучите хоть немного Смолток и вы поймете, что означают слова "красивый язык программирования"! :)