Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Misha Verbitsky ([info]tiphareth)
@ 2007-07-11 02:07:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Настроение: sick
Музыка:Eloy - INSIDE
Entry tags:linux

Sound in Linux
The Sorry State of Sound in Linux

В подробностях излагают историю поддержки звука
в Линуксах. Кто работал, поймет.

"Усердие все превозмогает; бывает, усердие
превозмогает и рассудок".



(Читать комментарии) - (Добавить комментарий)


[info]http://users.livejournal.com/__gastrit/
2007-07-13 15:27 (ссылка)
> функциональный язык для создания сценариев — это всё-таки
> не вполне оправданный снобизм, широким массам пришёлся бы
> более по нраву питон или жабаскрип.

Во-первых, «широким массам» времён написания Emacs питон и жаба не могли прийтись более по нраву за отсутствием таковых. Во-вторых, «широким массам» по нраву всегда то, к чему они привыкли. Если человеку в первом классе показали BASIC, то он, действительно, будет искренне считать питона естественным, а LISP — монстроподобным. Только это проблемы не LISP'а, а уродливого (если не преступного — привет от покойного Дейкстры) подхода к обучению программированию. На деле же, имхо, продуманные функциональные языки гораздо проще и естественнее питонов с жабами.

С уважением,
Гастрит

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yushi
2007-07-13 22:22 (ссылка)
Если человеку в первом классе показали BASIC, то он, действительно, будет искренне считать питона естественным, а LISP — монстроподобным.

Ну, кстати, Питон ближе к Лиспу, чем к Бейсику — есть лямбда, есть списки, функции являются объектами первого класса, даже оптимизацию хвостовых вызовов к нему, говорят, реально прикрутить без изменения кода интерпретатора (я, впрочем, не пробовал). Да и жабаскрип (в отличие от жабы) не такой уж гадкий язык.

Но дело не в этом. Возможно ли начинать обучение программированию с функциональных языков?

Как делать это в императивной парадигме, понятно — есть куча реально работающих методик. Хоть один человек смог начать обучение ребёнка с функционального языка?

Для студентов-то Scheme — прекрасный язык. Но ситуация, когда студент сталкивается с программированием только в вузе — вредная и идиотская.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]http://users.livejournal.com/__gastrit/
2007-07-14 00:13 (ссылка)
Не знаю, к чему там питон ближе — лично я на нём писать не могу. Пробовал ради интереса пару раз разобраться, и столько же раз бросал сие занятие. Во-первых, "объектно-ориентированное программирование" и "наукообразно-болтологическое жульничество" — это для меня почти синонимы (т.к. не очень понятно, чем реально занята машина в ходе "объектно-ориентированного" процесса, и сколько левых и принципиально неконтролируемых программистом процедур вроде сборки мусора натолкал туда добрый дядя-автор языка). А во-вторых, для моих целей Рефала хватает с головой (при том, что любого питона он заведомо проще).

А вопрос про ребёнка, конечно, интересный. Кстати, а Вы не в курсе, пробовал ли вообще кто-нибудь учить какого-нибудь ребёнка функциональным языкам (или a priori считается, что это сверхсложно, а потому и пытаться не стоит)?

С уважением,
Гастрит

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tiphareth
2007-07-14 01:48 (ссылка)
Нас учили Рефалу, в 8-м классе. Было вполне понятно.
В 57-ой школе это в какой-то момент было общей
практикой: сначала Рефал (точнее, "язык термов")
и Лисп ("RL"), потом Паскаль. Поискал в сети деталей,
не нашел - надо полагать, без Шеня подобные практики
прервались. Хотя RL (подмножество Лиспа) мои дети
долго изучали, причем до Паскаля.

Такие дела
Миша

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]http://users.livejournal.com/__gastrit/
2007-07-14 02:55 (ссылка)
Т.е. проблема таки не в том, что дети по тупизне своей не могут разобраться в функциональных языках, а как раз в том, что считается, будто они на это не способны. В итоге их — ан масс :-) — кормят Паскалями, и круг замыкается. Собственно, так я и думал.

С уважением,
Гастрит

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]yushi
2007-07-17 05:07 (ссылка)
Т.е. проблема таки не в том, что дети по тупизне своей не могут разобраться в функциональных языках, а как раз в том, что считается, будто они на это не способны. В итоге их — ан масс :-) — кормят Паскалями, и круг замыкается. Собственно, так я и думал.

Восьмой класс — это всё же очень поздно для начала обучения программированию. Восьмиклассникам и про \lambda-исчисление можно рассказать, кто бы сомневался. Но Звонкин учил программированию (императивному) дошкольников, и небезуспешно: идея последовательно излагаемых приказов роботу/черепашке — не слишком хитрый методический приём. А вот как обучать ребёнка (пусть, даже, скажем, не дошкольника, а пятиклассника) функциональному программированию? Придумать какую-то нескучную метафору для подстановочной модели вычислений, и кучу задач для неё? Непонятно.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]http://users.livejournal.com/__gastrit/
2007-07-17 18:36 (ссылка)
Вообще-то идея давать роботу/черепашке инструкции в зависимости от текущей ситуации (а не от порядкового номера этой инструкции) гораздо более естественна. Так что любую типовую задачу можно решать средствами "нестандартных" языков. Проблема в другом: граждане, мозги которых жёстко поставлены набекрень Алголом (а таких большинство) искренне не понимают, что некоторые другие языки отличаются от Алгола принципиально. Они везде пытаются действовать "как в Алголе" (даже если язык позволяет решить задачу другими средствами гораздо проще), и окружающих тому же учат. А поскольку эмуляция Алгола средствами Лиспа по определению работает хуже, чем оригинальный Алгол, они записывают Лисп в разряд второстепенных языков. Если же "алголить" не удаётся в принципе (прекрасный пример тут — Рефал), такие граждане собирают глаза в кучку и зачисляют язык в разряд «уродств», на которых «работать вообще невозможно».

Так что, имхо, надо не новые задачи придумывать, а мозги учителей на место ставить. Для начала, например, можно ввести практику бить лопатой по башке за попытки при теоретическом анализе рекурсии нумеровать рекурсивные вызовы (как это сделано в цитированной Вами методичке).

С уважением,
Гастрит

(Ответить) (Уровень выше)


[info]yushi
2007-07-17 04:59 (ссылка)
В 57-ой школе это в какой-то момент было общей
практикой: сначала Рефал (точнее, "язык термов")
и Лисп ("RL"), потом Паскаль. Поискал в сети деталей,
не нашел - надо полагать, без Шеня подобные практики
прервались.


Есть, afaik, книжка с этим курсом 57 школы: "Программирование: вводный курс", под редакцией Д. Школьника. ТеХовский исходник лежит вот здесь (и есть ссылка с http://www.mccme.ru/free-books/), но хочет для компиляции amslatex и ещё кучу каких-то доисторических макропакетов, которыми нормальные люди перестали пользоваться ещё в девяностые; так что у меня не получилось её скомпилировать (я, впрочем, не очень пытался).

(Ответить) (Уровень выше)


(Читать комментарии) -