Об обучении программированию [2]
Jan. 16th, 2008 10:40 amНачало было тут
Пока искал аргументы - набрёл на вот такое:
Ну что вы, за полгода, если есть желание и хоть какая-то предрасположенность к логике, можно стать неплохим кодировщиком. Я по э-почте обучил 300 человек, попадались очень талантливые.
Надо уточнить границы "хоть какой-то" предрасположенности, но результат сам по себе 1) практический, 2) высочайший.
UPD: Обсуждение резко ушло куда-то не туда, куда я ожидал:) Мне пофиг, насколько у него "дельфийский стиль" или какие у него знания просто о существовании Lisp, Haskell и многих других страшных слов.
Потому что процедурное программирование - не худшее направление:) И если человек реально умеет привлечь и обучить - это 1) само по себе полезно, 2) может быть перенесено и на другие направления, при адекватной адаптации методики.
Пока искал аргументы - набрёл на вот такое:
Ну что вы, за полгода, если есть желание и хоть какая-то предрасположенность к логике, можно стать неплохим кодировщиком. Я по э-почте обучил 300 человек, попадались очень талантливые.
Надо уточнить границы "хоть какой-то" предрасположенности, но результат сам по себе 1) практический, 2) высочайший.
UPD: Обсуждение резко ушло куда-то не туда, куда я ожидал:) Мне пофиг, насколько у него "дельфийский стиль" или какие у него знания просто о существовании Lisp, Haskell и многих других страшных слов.
Потому что процедурное программирование - не худшее направление:) И если человек реально умеет привлечь и обучить - это 1) само по себе полезно, 2) может быть перенесено и на другие направления, при адекватной адаптации методики.
no subject
Date: 2008-01-16 12:23 pm (UTC)Когда мне приспичило покопаться в emacs-lisp'e я потратил на разборки с синтаксисом и базовыми конструкциями около недели по вечерам. Ага.
no subject
Date: 2008-01-16 12:25 pm (UTC)no subject
Date: 2008-01-16 12:34 pm (UTC)Т.е. начнет ли программист на хаскеле писать программы на дельфи?
no subject
Date: 2008-01-16 12:36 pm (UTC)no subject
Date: 2008-01-16 12:38 pm (UTC)no subject
Date: 2008-01-16 12:41 pm (UTC)no subject
Date: 2008-01-16 12:43 pm (UTC)Лисп сложнее Эрланга и, пожалуй, сравним с Хаскелем.
> Программист на дельфи за неделю в хаскеле программы писать не начнёт. Как не начнёт он их писать и в ерланге.
Я всё-таки не понимаю, почему такое предвзятое отношение к Delphi.
По крайней мере в случае Erlang, мне кажется, нормальный процедурный программист должен написать что-то простое, но уже работающее, максимум через три дня.
no subject
Date: 2008-01-16 12:46 pm (UTC)Претензия к цитате состояла не в том, что любой язык можно освоить за неделю-месяц, а в том, что базовые возможности всех языков на 90% одинаковы и записывается всё с небольшими отличиями.
no subject
Date: 2008-01-16 12:50 pm (UTC)no subject
Date: 2008-01-16 12:57 pm (UTC)no subject
Date: 2008-01-16 01:11 pm (UTC)(no subject)
From:no subject
Date: 2008-01-16 12:54 pm (UTC)Да ну? В лиспе можно писать в обычном императивном стиле, со всеми (setq a (+ 2 3)), в ерланге такое не прокатит. Потому если ты программировал на дельфи, стартануть на лиспе будет проще.
Лисп с хаскелем точно не сравним, там одни монады чего стоят. И клёвая система типов, которая после убогих int/char кажется чем-то невероятным. И т.д.
> По крайней мере в случае Erlang, мне кажется, нормальный процедурный программист должен написать что-то простое, но уже работающее, максимум через три дня.
Что это - что-то простое? Парсер логов? :-) Парсер логов, думаю, напишет с доками и такой-то матерью. Но сколько матов будет и какой будет код? :-)
no subject
Date: 2008-01-16 01:16 pm (UTC)Неправда.
Process Dictionary Each process has a local store called the "Process Dictionary". The following BIFs are used to manipulate the process dictionary: * get() returns the entire process dictionary. * get(Key) returns the item associated with Key (Key is any Erlang data structure), or, returns the special atom undefined if no value is associated with Key. * put(Key, Value) associate Value with Key. Returns the old value associated with Key, or, undefined if no such association exists. * erase() erases the entire process dictionary. Returns the entire process diction before it was erased. * erase(Key) erases the value associated with Key. Returns the old value associated with Key, or, undefined if no such association exists. * get_keys(Value) returns a list of all keys whose associated value is Value. Note that using the Process Dictionary: * Destroys referencial transparency * Makes debugging difficult * Survives Catch/Throw So: * Use with care * Do not over use - try the clean version firstИ точно так же, как это не разрешается в нормальном стиле - там же тебе не разрешат никакие setq.
> Лисп с хаскелем точно не сравним, там одни монады чего стоят. И клёвая система типов, которая после убогих int/char кажется чем-то невероятным. И т.д.
У Лиспа (в нормальной реализации) своих хитростей достаточно.
> Что это - что-то простое? Парсер логов? :-) Парсер логов, думаю, напишет с доками и такой-то матерью. Но сколько матов будет и какой будет код? :-)
Про парсер логов я не говорил. А вот простенький, например, сетевой демон по отдаче картинок - занефиг.
no subject
Date: 2008-01-16 01:21 pm (UTC)Сорри, не понял. Ты в том смысле, что get/put есть? Но это не будет слишком понятно из туториала по ерлангу вообще, а по лиспу - другое дело. :-)
> У Лиспа (в нормальной реализации) своих хитростей достаточно.
Кто ж против? :-) Но у лиспа система типов - список, список, список. :-) А у хаскеля всё ж чуть иначе...
no subject
Date: 2008-01-16 01:34 pm (UTC)Это смотря какой туториал. Исторически, действительно, многие писались именно так.
> А у хаскеля всё ж чуть иначе...
Тогда речь надо вести не об общей сложности, а о пороге вхождения для написания некоторой типичной функциональности, большей чем hello world, но меньшей чем реальная большая программа.
no subject
Date: 2008-01-21 02:44 pm (UTC)Собственно дело именно в этом, а не в "сложности языка". Lisp в этом смысле вполне себе императивный язык.
PS: При всей моей нелюбви к ООП - оно тоже от процедурных языков отличается именно тем, что совсем другой набор абстракций.
no subject
Date: 2008-01-16 12:26 pm (UTC)2) И вы хотите сказать, что базовые возможности Лиспа и Паскаля одинаковые на 90%? Только не надо мне говорить про "Hello world!" и про арифметические действия :)
no subject
Date: 2008-01-16 12:32 pm (UTC)2) нет, конечно -- разные.
Но вот меня со всех сторон окружают императивные языки. Что с этим делать? И нужно-ли вобще делать?
no subject
Date: 2008-01-16 12:34 pm (UTC)> Но вот меня со всех сторон окружают императивные языки. Что с этим делать? И нужно-ли вобще делать?
Если хочется - нужно, если не хочется - не нужно. Каждый сам выбирает :)
no subject
Date: 2008-01-16 12:36 pm (UTC)Ок. :)
no subject
Date: 2008-01-16 12:47 pm (UTC)Бтв, если второй вопрос решается в положительную сторону - самым простым ходом является подвижки в сторону питона и руби (я вообще строгий любитель питона, но тут один раз неприятно поспорил, и теперь вот очень аккуратно отзываюсь, хотя руби не люблю за неоднозначность языковых конструкций и излишнюю тормознутость :), которые лично мне реально помогли понять немного ФП. :-)
И теперь дело за малым - синтаксисом и программированием. А то одни монады в хаскеле стоят целой дельфи. :-)
no subject
Date: 2008-01-16 12:53 pm (UTC)Да, видел я тебя на exception'е.
Но меня вебовая тематика не интересует совсем.
> А то одни монады в хаскеле стоят целой дельфи.
На практике пока что во многом было наоборот.
Хотя у нас Delphi живёт только благодаря пиратству (их покупать безумно дорого).
no subject
Date: 2008-01-16 12:55 pm (UTC)Inkscape (векторный графический редактор), EVE online (ММОРПГ, и клиент, и частично сервер), Quod Libet (медиаплеер), Civilization 4. Python - не PHP, это язык общего назначения, а не только чтоб сайты делать.
no subject
Date: 2008-01-16 01:04 pm (UTC)Эта фраза к твоему братцу была к тому, что я на них (exception) перестал ходить.
А там практически всё посвящено именно вебу. (Пока что?)
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-16 12:58 pm (UTC)Но я про веб ничего и не говорил.
> На практике пока что во многом было наоборот.
На практике - в смысле сложности понимания. Не каждый понимает. Тем более сходу.