write less, do more

Nov 25, 2012 22:53

Сделал прототип клиента .NET, и как-то он мне совсем не понравился. Во-первых, для качественного игро-обучающего UI все же нужна более-менее симпатичная спрайтовая графика. Тогда либо DirectX, либо встраивать в стандартную форму нечто вроде Vortex2D.NET (http://vortex2d.codeplex.com/), с которым куча проблем по совместимости, капризный в плане драйверов GPU итд.

Поэтому, очередным волевым решением) , решил, что клиент будет на JavaScript (серверная часть пока занимает 11 строчек на пыхапы).

Во-первых, абсолютная кросс-платформность, можно запускать на любых мобилках и планшетах, независит от ОС. Дополнительно скачивать ничего не надо, достаточно браузера.
Во-вторых, JavaScript хорошо подходит для функционального стиля программирования. Сами функции -- это объекты, поэтому легко констуируются функции высших порядков, можно создавать композиции. Есть анонимные функции, асинхронные вызовы, замыкания, генераторные выражения, имеется замечательная eval; можно "сконструировать" монады (http://blog.jcoglan.com/2011/03/06/monad-syntax-for-javascript/).



В-третьих, jQuery оказывается написана в стиле ФП и даже немножечко декларативно (http://codingcraft.ru/web-design/jquery.php).
В-четвертых, прекрасно получается метапрограммировать:
http://matraska23.blogspot.ru/2011/05/java-script.html
http://www.terminally-incoherent.com/blog/2008/01/15/simple-metaprogramming-with-javascript/
http://fingernailsinoatmeal.com/post/292301859/metaprogramming-ruby-vs-javascript
В-пятых, даже Matthew Podwysocki последние два поста в своем блоге (http://codebetter.com/matthewpodwysocki/) посвятил JavaScript и Reactive Extensions.

"Хотите использовать Observable Collections? Слышали про Reactive Extensions? Нравится LINQ? Не нравится писать спагетти-код? Нужны монады? И все это на JavaScript?"
http://habrahabr.ru/post/132463/

javascript, функциональное программирование, метапрограммирование, декларативное программирование

Previous post Next post
Up