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

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

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

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

Сообщества

Настроить S2

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



Пишет kouzdra ([info]kouzdra)
@ 2008-01-11 16:54:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Хорошая идея
Из этой статьи также следует, что первым языком программирования которому следует учить должен быть Tcl. Кто не справился с его простым набором формальных правил, изложенных в man Tcl, того отсеивать на первой сессии


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


[info]joppux
2008-01-11 23:28 (ссылка)
Сразу уж Brainfuck, чего там.

(Ответить) (Ветвь дискуссии)


[info]joppux
2008-01-11 23:30 (ссылка)
Хотя нет, лучще Unlambda

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


[info]qwerty
2008-01-12 01:15 (ссылка)
Вполне содержательная дискуссия, кстати. Я в самом начале своего программирования в конце 6 класса с месяц не понимал, что такое присваивание, и думал о странном.

(Ответить)


[info]ifp5
2008-01-14 11:18 (ссылка)
Недавно попытался на старости лет изучить tcl и провести ревизию своего к нему отношения. Сильно не понравилось:
- отсутствие типизации хотя бы как в LISP или scheme (ну и связанные приколы типа отсутствия различия между атомом и списком из одного элемента), IMO строка как единственный тип в языке не есть сильно правильно для обучения
- ужасно кривые массивы

Из динамических по-моему уж лучше взять какую-нибудь lua.

(Ответить) (Ветвь дискуссии)


[info]kouzdra
2008-01-15 00:18 (ссылка)
У Tcl очень простое описание, для понмания которого требуется не пытаться "понять смысл". В том и смысл идеи тестировать на нем. Lua гораздо сложнее.

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


[info]ppkk
2008-01-14 19:33 (ссылка)
Я не знаю Tcl, но мне кажется, что если делать "вон из профессии" за неумение разобраться с определённым языком, то программистов почти не останется (в каком-то смысле это может быть лучше, но без плановой экономики тогда мир загнётся [либо, естественно, "непрограммистов" начнут привлекать: обычно программирование не требует и не требовало наличия высшего образования, так что это "отсеивать на первой сессии" — о сферическом коне в вакууме]).

Например, меня бесит, когда люди не умеют считать варианты, а таких, по-моему, большинство среди программистов (постоянно встречаю; то есть: не сталкивавшиеся ранее с конкретной темой граждане могут верить в архиватор, который что-то сжимает, но ничего не делает длиннее, в то, что перебрать всевозможные пароли из 16-и символов всего в немного раз дольше, чем из 8-и, во время выполнения вложенных циклов). Причём "программистское образование" таким людям вполне удаётся: сортировали (когда сортировку писали чаще) они "быстрой сортировкой" (но не знают о том, что для вполне типичных ситуаций без особых ухищрений она будет работать очень долго).

И, например, книга про алгоритмы с таким известным автором, как Ривест, оценивает время выполнения с помощью бессмысленных обозначений O(f) (когда можно оценить сверху <3*f, например).

Так что эта идея — дурацкий экстремизм, особенно если отсеивать будут и по другим "хорошим идеям".

(Ответить) (Ветвь дискуссии)


[info]kouzdra
2008-01-15 00:17 (ссылка)
Tcl - несложный макроязык с совершенно формальной и строгой семантикой, которая действительно описывается на четырех страничках. Умение с ним разобраться - действительно умение разобраться в формальной семантике абстрагируясь от возможных "смыслов".

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


[info]ppkk
2008-01-16 14:53 (ссылка)
Ну, если учат семестр и только его, то, наверное, да.

http://www.tcl.tk/man/tcl8.5/tutorial/Tcl5.html — мне это не кажется образцом понятности, особенно со ссылкой на sh (который некоторые изучают в школе зачем-то, а некоторые им не пользуются, не пользовались и не будут пользоваться).

Может я плохое описание нашёл, не для новичков.

Perl лично мне кажется более понятным (perl я на какое-то время даже изучил, хотя уже забыл, сравниваю, так как, кажется, области применения у них не слишком расходятся).

Можно ссылку на понятное-четырёхстраничное?

Про "умение разобраться в …": чтобы писать программы на "прямолинейных" процедурных языках (в том числе с "клубками змей" с помощью GOTO и т.п.) это умение нужно в гораздо меньшей мере, по-моему, а люди на них вполне себе писали, да надолго, так, что даже проблема 2000-го года возникла, значит достаточно эффективно писали. Так что свой аргумент про комбинаторику я всё-таки считаю уместным: уровень абстракции в Tcl несколько выше, чем в некоторых других языках, а значит может "отсеивать" вполне работоспособных людей (то есть: я бы, конечно, "расстрелял" тех, кто не может абстрагировать/ся, но тех, у кого проблемы с комбинаторикой — раньше).

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