Рубрики

Курсы по подготовке к ЕГЭ

Страницы:123456
31.Ну я-то на бухгалтера учился.
---
Простите, я вас обманул. Я щас нашел этот тетрис. Оказывается он был не на экселе а на яваскрипте. На экселе я писал тетрис в другой раз и он не сохранился. Вот он.
pupkin
17.10.2012 18:44
32.
Там же задачи ставят безотносительно языка.
Тут дело вот в чём: используемый язык определяет способ мышления. Человек, который познал лексические замыкания и научился пользоваться функциями как объектами первого класса, будет обескуражен, не увидев эти возможности в используемом языке. Это хорошо описал Пол Грэм в своей статье Beating the Averages. Правда, он там это показывает на примере метапрограммирования на Lisp, но смысл в данном случае не меняется: используя более мощные языки, можно строить более мощные программы.
---
Интерфейс красив. Правда, управление подкачало, в моём файрфоксе с дефолтными (почти) настройками второе нажатие на клавиши вызывает заполнение строки поиска, а не управление игрой. Ну, это понятно, наверное, было написано в лохматые годы. Ещё: а что мешало на стрелочки повесить? :)
Wizard
17.10.2012 19:24
33.
используя более мощные языки, можно строить более мощные программы.
На более мощных компьютерах. Машина фон Неймана не предназначена для функционального программирования.
а что мешало на стрелочки повесить? :)
А я помню? Я даже не помню как вызвать чит на палку.
pupkin
17.10.2012 19:33
34.
Машина фон Неймана не предназначена для функционального программирования
А в статье об этом тоже сказано. Языки высокого уровня для программистов создавались, а не для компьютеров. Так же и функциональное праограммирование нужно для более лёгкого выражения более сложных вещей программистом. Я неправильное слово выше подобрал применительно к программам — «мощные» — правильней тут говорить о «выразительные».
Wizard
17.10.2012 19:37
35.
Языки высокого уровня для программистов создавались, а не для компьютеров.
Так на icfpc, как и в реальной жизни, оценивается не красота кода а результат. Надо знать несколько языков и применять тот, который больше всего подходит. Методы решения вообще не оговариваются. Можешь хоть аппаратную нейросеть применять. В этом году, кстати, нейросети строили.
pupkin
17.10.2012 19:42
36.
Я даже не помню как вызвать чит на палку.
Нажатием L ;)
---
оценивается не красота кода а результат
Я о результате и говорю. Многие фишки функционального программирования или метапрограммирование позволяет просто парограммировать сложные алгоритмы, понимаешь?
Wizard
17.10.2012 19:42
37.Я-то понимаю. Другое дело, что сложные алгоритмы редко востребованы. Многие вещи эффективней сделать тупо руками.
pupkin
17.10.2012 19:46
38.
не красота кода а результат
Далеко ходить не будем, возьмём скрипт редактора постов, который я писал для этого форума: http://lysva.ru/js/forum.js

Там для целей повторного использования кода (code reuse) в функции addFormat возвращается function as a value (что возможно благодаря поддержке higher-order functions в javascript). В результате на разные события можно повесить одну и ту же функцию с разными параметрами. Эти параметры передаются функции в леексическом замыкании. Благодаря этому достигнута экономия кода, гибкость и понятность программы (которая может понадобиться для дальнейшего её расширения). Это то, что возможно в языке javascript как мощном прототипном языке с частичной поддержкой функционального программирования. В PHP аналогичный гипотетический код был бы значительно больше.
Wizard
17.10.2012 19:52
39.Javascript интерпретируемый язык. Надо отдавать себе отчет, что в большинстве случаев, тебе сначала придется написать операционную систему и интерпретатор яваскрипта, чтобы использовать свои хай-ордер функции. Не, понятно, что большинство кода можно будет взять из существующих проектов, но напильником придется серьезно поработать.
pupkin
17.10.2012 20:02
40.
тебе сначала придется написать операционную систему и интерпретатор яваскрипта, чтобы использовать свои хай-ордер функции
И вот тут ты ошибаешься: higher-order functions поддерживается в куче компилируемых языков программирования, включая haskell, scala, common lisp, scheme, erlang and so on. То же касается многих других возможностей, включая метапрограммирование.
Wizard
17.10.2012 20:07
Страницы:123456

Добавить комментарий могут только участники форума.
Чтобы стать участником форума необходимо зарегистрироваться.

Реклама