OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 17 Ноябрь, 2019 07:18

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: Вторник, 24 Август, 2010 18:32 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9155
Откуда: Россия, Орёл
В "12 Лекциях" (viewforum.php?f=75):

Вложение:
1.PNG
1.PNG [ 302.1 КБ | Просмотров: 6182 ]


Это к дискуссиям о языке для обучения в школе. Как я когда-то доказывал оппонентам на Королевстве Дельфи - функциональное программирование развивает совсем другие области мышления, смежные с математикой. Задача же развития алгоритмического мышления им не решается.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 24 Август, 2010 21:24 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Можно конечно теоретезировать, однако на практике когда я пишу что-то на ФЯ я лично не замечаю существенных различий и особенностей в плане мышления и напряжения неких отделов мозга. Та же самя алгоритмика, если алгоритмика в решаемой задаче играет значимую роль (т.е. не сводится к тому, что можно выразить в стандартной библиотеке).

Единственная особенность ФП -- там намного проще организовывать хорошую архитектуру ПО, однако иногда сложнее достигнуть высокой производительности (если вдруг понадобилось бороться за каждый процент быстродействия и потребляемой памяти), впрочем, производительность это уже скорее особенность автоматического управления памятью, нежели что-то иное.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Август, 2010 07:34 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Если я правильно понял этот отрывок из Кушниренко, то процедурное программирование развивает моторику (умение лопатой махать), а функциональное программирование развивает ум (умение думать).

Илья, Вы с такой трактовкой согласны? :lol:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Август, 2010 09:42 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8196
Откуда: Троицк, Москва
Geniepro писал(а):
Илья, Вы с такой трактовкой согласны? :lol:
Илья, не отвечайте -- не поощряйте этот детский сад.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Август, 2010 10:10 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Ну если уж гуру запретил отвечать, видимо, ответа не будет )))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Август, 2010 10:46 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Geniepro писал(а):
Если я правильно понял этот отрывок из Кушниренко, то процедурное программирование развивает моторику (умение лопатой махать), а функциональное программирование развивает ум (умение думать).


Откровенно говоря, за счет того, что ФП намного проще (там инвариантов существенно больше нежели в ИП), сильно расслабляешься когда на ФЯ пишешь. Пишем хотя бы месяц на ерланге, а потом резко переходим на какую-нибудь императивщину. Например на С++, или оберон -- без разницы. И наслаждаемся ощущениями.

А ФП к Computer Science непосредственного отношения, вообще говоря, не имеет. По кр. мере к той CS что я видел. И, вообще говоря, программирование на ФЯ требует меньшей подготовки и дрессуры, нежели на ИЯ.

Так что широко разошедшийся миф, о том, что ФП это "матан", "чистая математика", "чисто академическое развлечение" -- чушь полная.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Август, 2010 15:04 

Зарегистрирован: Вторник, 11 Август, 2009 11:44
Сообщения: 516
Откуда: Бердск
Info21 писал(а):
Илья, не отвечайте -- не поощряйте этот детский сад.
По моему мнению - ТРОЛЛИНГ.
Т.е. пост, целью которого является внесение склоки на форум. И никакой другой цели у него нет.

Что там администрация на этот счет думает - примерно понятно. Слышали уже.
А что СООБЩЕСТВО таки считает, интересно ???
Типа - опрос...
По мне - так сие позловреднее Рыжего будет. Который в бане сидит, между прочим :wink:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Август, 2010 15:10 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Galkov писал(а):
По моему мнению - ТРОЛЛИНГ.
Т.е. пост, целью которого является внесение склоки на форум. И никакой другой цели у него нет.

Что там администрация на этот счет думает - примерно понятно. Слышали уже.
А что СООБЩЕСТВО таки считает, интересно ???
Типа - опрос...
По мне - так сие позловреднее Рыжего будет. Который в бане сидит, между прочим :wink:

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

Зато оное сообщение может подтолкнуть к тому, чтобы посмотреть на вещи несколько под иным углом. И это неплохо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Август, 2010 15:35 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Да вся эта тема изначально тролльская.
То, что в функциональном программироавнии нельзя заниматься алгоритмизацией, -- бред сивой кобылы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Август, 2010 15:42 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Geniepro писал(а):
Да вся эта тема изначально тролльская.
То, что в функциональном программироавнии нельзя заниматься алгоритмизацией, -- бред сивой кобылы.

В функциональном вообще -- конечно бред.
В чистом, вырожденном, функциональном.. Ну-у... Скажем так, там имеются существенные особенности. Алгоритмы то да, реализуются все. Но далеко не все эффективно.

С другой стороны, чистого функционального программирования не бывает. По кр. мере я не видел ни разу ;-) Тот же haskell (особенно ghc) -- не идеально чист, а потому весьма эффективен.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Август, 2010 15:49 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Alexey Veselovsky писал(а):
Geniepro писал(а):
Да вся эта тема изначально тролльская.
То, что в функциональном программироавнии нельзя заниматься алгоритмизацией, -- бред сивой кобылы.

В функциональном вообще -- конечно бред.
В чистом, вырожденном, функциональном.. Ну-у... Скажем так, там имеются существенные особенности. Алгоритмы то да, реализуются все. Но далеко не все эффективно.

В оригинальном сообщении:
Илья Ермаков писал(а):
Это к дискуссиям о языке для обучения в школе. Как я когда-то доказывал оппонентам на Королевстве Дельфи - функциональное программирование развивает совсем другие области мышления, смежные с математикой. Задача же развития алгоритмического мышления им не решается.
нет ни слова про необходимость в машинной эффективности реализации алгоритмов. Зачем требовать этого в обучении, да ещё и в школе?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Август, 2010 16:05 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Geniepro писал(а):
нет ни слова про необходимость в машинной эффективности реализации алгоритмов. Зачем требовать этого в обучении, да ещё и в школе?

А какой смысл в алгоритмах, без оглядки на производительность?
Ну вот скажем реализации сортировки. Их много. Реализаций. Пузырек, шейкер, слияние, квиксорт и другие. Так вот, как объяснить какой смысл в квиксорте, если оно в реализации будет тормозить сильнее чем сортировка слиянием? Т.е. получится не наглядно.

С другой стороны, если залезть скажем в ST, то всё сразу станет хорошо, и квиксорт будет реально квик. Но пурист скорчит рожу, ибо не слишком то это и чисто. С другой стороны, в ST вводится пара лишних сущностей, которые могут на самом деле отвлечь от алгоритмики. А могут и не отвлечь. Тут надо попробовать на самом деле. Никак руки не дойдут.

Вообще, тут ФП по сравнению с ИЯ выступает в те же отношения, что и структурное программирование vs программирование с goto, Ибо с последним некоторые алгоритмы записываются проще, и реализуются эффективней. С другой стороны, в структурном программировании больше контроля кода. Инвариантов больше. В ФП инвариантов ещё больше. Контролировать код намного проще. Но всё имеет свою цену.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Август, 2010 20:34 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8196
Откуда: Троицк, Москва
Galkov писал(а):
Info21 писал(а):
Илья, не отвечайте -- не поощряйте этот детский сад.
По моему мнению - ТРОЛЛИНГ.
Т.е. пост, целью которого является внесение склоки на форум. И никакой другой цели у него нет.
ТРОЛЛИНГ -- причем полноценного контуперногениального пошиба -- это бессмысленное сообщение Geniepro.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Август, 2010 20:37 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8196
Откуда: Троицк, Москва
Алгоритмический стиль мышления -- он и юристам, и медикам (с чем я вот столкнулся), и многим прочим.

С черепашкой мы его развиваем для масс.
С ФЯ -- массы за бортом.
==========================================================
Не понимаете вы, коллеги, всей огромности проблемы, вот что я вам скажу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Август, 2010 23:39 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9155
Откуда: Россия, Орёл
Geniepro писал(а):
Если я правильно понял этот отрывок из Кушниренко, то процедурное программирование развивает моторику (умение лопатой махать), а функциональное программирование развивает ум (умение думать).


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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 27 Август, 2010 10:21 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Info21 писал(а):
Алгоритмический стиль мышления -- он и юристам, и медикам (с чем я вот столкнулся), и многим прочим.

С черепашкой мы его развиваем для масс.
С ФЯ -- массы за бортом.


Ну да, вот он, миф, снова. Тот самый про который я говорил чуть выше.
ФЯ обычно проще чем ИЯ, ФП проще чем ИП. Проще и доступней для понимания не профессионала. По собственному опыту репетиторства знаю, что весьма сложно бывает объяснить, почему вот тут вот у нас a = 5, а чуть ниже, буквально через пару строк, уже сразу a = 7. Хотя, быть может у меня выборка весьма не ровная -- это обычно были старшекласники у который была неплохая математика в школе, и, по сути, никакой информатики. Возможно да, слишком хорошая математика в школе мешает императивному мышлению. Но, думаю, это не проблема, качество преподавания математики в школе неуклонно снижается, часы сокращают, быть может вообще сделают как в США -- запихнут всякие математики, физики и прочее в один курс. Назовут как-нибудь вроде "естественные науки" или "точные науки", дабы не мешать развитию креативного мышления. И вот тогда-то и будет всем для развития хоть какой-то алгоритмики, простейших навыков автоматизации рутины, черепашка в 11м классе, а то и на третьем курсе ВМК.

Возвращаясь к ФЯ: вы возможно судите о сложности ФЯ и ФП по таким языкам как Haskell, и, возможно, Lisp (если конечно судите, а не как частенько бывает на этом форуме -- не читал, не видел, не щупал, но осуждаю). Это не слишком правильно. Посмотрите на, скажем, erlang. Сложность ерланга относится к сложности хаскеля, примерно также, как сложность КП к сложности Ады. Язык очень простой. И при этом, функциональный, что позволяет ему быть, кстати, проще. Берем обычного заинтересованного студента (не вырощенного в пробирке информатики-21) без (существенног -- пара лаб в вузе не в счет) опыта программирования. Обычно через пару недель изучения и практики erlang'а он уже выдает код промышленного качества. Замечу, что эти две недели не на изучения самого языка, это на изучения erlang+OTP, т.е. библиотек, идеалогии и проч.

Также примечательно, что erlang это чисто промышленный язык с долгой историей развития. И на протяжении всего своего существования он использовался для создания больших промышленных систем (десятки миллионов строк кода). Так что все шансы стать жирным монстром у него были. Однако не стал. Потому как простота языка -- было одно из основных требований при его создании и развитии. Потому как оная простота позволяет существенно экономить при разработке продукта. Язык очень прагматичный. Замечу, что если бы он был не ФЯ а ИЯ, то простота языка не означала бы простоту разработки.

Да, этот язык является мейнстримом в телекоме, и его крайняя простота это конкурентное преимущество. Не типично для того мейнстрима, который тут привыкли всячески склонять, не правда ли?

Кстати, erlang не сидит в своей теплой и уютной телекомной нише, он таки довольно успешно лезет например в веб и другие сферы. Скажем в нише xmpp-серверов (jabber), ejabberd -- один из самых популярных, полностью писан на erlang'e.

Так вот, ничто не мешает появлению функциональной черепашки вместо императивной. И они, возможно, уже есть.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 27 Август, 2010 10:22 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Илья Ермаков писал(а):
Geniepro писал(а):
Если я правильно понял этот отрывок из Кушниренко, то процедурное программирование развивает моторику (умение лопатой махать), а функциональное программирование развивает ум (умение думать).


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


Вообще то, лопата это тоже абстракция возникающая в думательном органе.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 27 Август, 2010 10:58 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8196
Откуда: Троицк, Москва
Alexey Veselovsky писал(а):
Ну да, вот он, миф, снова.
Да вы пойдите в соседнюю школу, возьмите группу балбесов, да научите их чему-нибудь, любым способом.

А потом тут про мифы рассуждать будем с удовольствием.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 27 Август, 2010 11:25 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Info21 писал(а):
Alexey Veselovsky писал(а):
Ну да, вот он, миф, снова.
Да вы пойдите в соседнюю школу, возьмите группу балбесов, да научите их чему-нибудь, любым способом.

А потом тут про мифы рассуждать будем с удовольствием.

А я бы с удовольствием, однако со школьно-образовательной бюрократией связываться ну очень не хочется. Я вполне представляю реакцию директора, и учителя информатики когда к ним приходит некий хрен непонятно откуда (а главное -- без какой-либо бумажки!) и предлагает чему-то учить их детей. Я это уже проходил.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 27 Август, 2010 15:49 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8196
Откуда: Троицк, Москва
Alexey Veselovsky писал(а):
приходит некий хрен непонятно откуда
Да, есть такой момент.
Мой директор меня знал, поэтому вопросов не было.
----
Кстати, а разве понятие переменной не надо внедрять?
Вроде, надо, куда без него.

Я вижу только тот аргумент, что нехорошо использовать языки, в которых нотация для присваивания -- простой знак =.
А методически -- несколько (коллективных, чтоб веселее) упражнений на тему "что напечатает программа", насколько могу судить, решают дело.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB