Как стать автором
Обновить
36
0
Edward Tsech @ed_tsech

Пользователь

Отправить сообщение
Продолжать пока не разонравиться или не начнет получаться.
функциональное программирование != процедурное
Это просто два разных подхода. И каждый имеет право на существование. Кто-то использует «низкоуровневые» библиотеки и строит фундамент самостоятельно, кто-то испольует фреймворки, которые предоставляют базис. И так не только в мире JS. Дескутировать на тему, что лучше — можно вечно.
> Не проще ли писать на JQuery более очевидные конструкции?
На клиенте сейчас растет количестко кода и в больших приложениях jQuery просто не достаточно. jQuery это DOM обертка, которая никак не поможет вам организовать кодовую базу.

> А то получается и на стороне сервера у нас MVC и на клиенте MVC. Количество кода вырастает в разы!
Если честно то сейчас в некоторых случаях MVC(и модификации) более необходим оказывается на клиенте чем на сервере. Да и MVC архитектура пришла с десктопных аппликаций, а нынешний веб в ряде случаев все больше и больше напоминает десктоп.
jQuery код в более-менее сложном приложении скатиться в лапшу и все эти «тысячи плагинов» не помогут решить вопрос организации кода и создания какой-либо архитектуры. А сейчас все меньше сайтов и все больше веб-приложений со сложной логикой. И все больше кода так скажем уходит с сервера на клиент, что заставляет искать соответствующие подходы.

Да, каждый фреймворк предоставляет свой «путь». Разработчик выбирает, что ему ближе, все в общем то как и с сервер сайд фреймворками.
Добавление в конец у списка все таки O(N) в начало O(1).
Спасибо за статью. Хотел спросить, существует ли готовый модуль для аутентификации?
Для не уверенных
В книге «Экстремальное программирование: разработка через тестироваине» Кент Бек также проводит интересное сравнение: «Консервативные скалолазы придерживаются одного важного правила. У человека есть две руки и две ноги, всего четыре конечности, которыми он может цепляться за скалу. В любой момент времени по крайней мере три конечности должны быть сцеплены со скалой. Динамические перемещения, когда скалолаз перемещает с места на место одновременно две конечности, считаются очень опасными. Методика TDD в чистом виде подразумевает использование похожего принципа: в любой момент времени вы должны быть не дальше одного изменения от зеленой полосы.»
Круто, что поправили, потому что «наследованием типов» и «выведение типов» все таки очень разные вещи.
это просто пример, как указать, что функция может принимать аргумент любого типа.
1. Выведение типа:
# let hello x = «Hello » ^ x;;
val hello: string -> string = # let hello x = x;;
val hello: 'a -> 'a = (* 'a — означает любой тип *)
2. Ограничение типа:
# let hello (x:string) = «Hello » ^ x;;
val hello: string -> string = 3. Полиформизм
# let hello (x:'a) = «Hello » ^ x;;
val hello: string -> string =
И все равно этот вариант примет только строку.
# let hello (x:'a) = x;;
val hello: 'a -> 'a = (* то же самое что и let hello x = x;;, лишь с явным указанием того что доступен любой тип *)
Надеюсь вы дочитали статью не только до того момента, где говориться о комментариях.
Просто здесь много всего, что сделано «не как принято» и комментарии думаю не самая важная из этого списка вещь.
Под «Наследованием типов» я так полагаю подразумевается «выведение типов». (type inference)
Когда игрался со Scala выбрал именно этот фреймворк, Lift как-то не приглянулся. Правда Scala он поддерживает только с версии 1.1 на сколько я помню.
Мне кажется что сравнение со стройкой очень-очень сомнительное.
Я думаю он не работал в компании.

Информация

В рейтинге
Не участвует
Откуда
Praha, Hlavni Mesto Praha, Чехия
Дата рождения
Зарегистрирован
Активность