Здравствуйте, FDSC, Вы писали:
FDS>Т.е. я считаю, что автор говорит просто о плохом качестве курсов, которые неправильно построены, не адаптированы под практические нужды. А ты говоришь, что автор говорит о том, что авторы курсов написали плохие пособия, потому что уже мыслят ФП-шными концепциями. Но они написали плохие пособия не по этому.
Не согласен. Как раз в том и дело, что функциональщики в первую очередь рассмативают функциональные вещи, т.к. к этом больше приковано их внимание, а писать "хэллоу ворлд" им неинтересно. Т.е. неправильное построение учебников есть как раз следствие другой ориентации, чтоли, функциональщиков и получается аля "чтобы понять рекурсию нужно сначала понять рекурсию". Естественно всё имхо.
Здравствуйте, x-code, Вы писали:
XC>лично я с удовольствием бы изучил функциональное программирование в сравнении с императивным. Чтобы все понятия ФП раскрывались так: вот на Си(C++,C#,Java etc.) такую -то задачу решают обычно так-то, а с использованием ФП ее можно решить вот так (и примеры исходных кодов на си и на функ.языке). Или: вот на Си очень часто хочется сделать что-то, но средства языка этого не позволяют (пример!) А на ФП это делается запросто (куча примеров!) XC>Все примеры должны быть из реальных проектов а не надуманные. XC>И так пройтись по всем понятиям функциональной парадигмы (причем желательно, чтобы давались примеры на нескольких функциональных языках сразу, чтобы каждый императивщик мог выбрать себе что-то по душе). ну а дальше люди уже будут знать где и что искать для более глубокого изучения.
Если бы всё было так просто! Учебные примерчики (типа факториала, быстрой сортировки, чисел Фибоначчи) несложно реализавать и на императивных языках. А задачи более объёмные (типа построения компиллятора) отпугнут большую часть читающих. Хочешь — посмотри здесь, мне кажется, что это лучшее начальное введение в Хаскелл подобного типа (с примерами на С и Хаскелле). Я его даже перевёл, может Влад и K опубликуют в RSDN Magazine.
Здравствуйте, Курилка, Вы писали: К>Не согласен. Как раз в том и дело, что функциональщики в первую очередь рассмативают функциональные вещи, т.к. к этом больше приковано их внимание, а писать "хэллоу ворлд" им неинтересно.
Вопрос интересный.
Давайте рассмотрим Hello World с точки зрения обучения, а не с точки зрения программирования. Вот для чего эта программа?
Если отвлечься от "здравствуйте", эта программа запускается, выводит в консоль некоторый текст, и завершается. Во времена, когда С был новым крутым языком, основное, что делали программы — это запускались, выводили в консоль какой-то текст, и закрывались, вернув в ОС код завершения. Классическая hello world является замечательной иллюстрацией, которая показывает начинающим программерам насколько просто писать такие продвинутые приложения на новом языке.
Если мы попробуем посмотреть на программу с позиции современных требований, то Hello World окажется не вполне удачным примером. К примеру, я с трудом могу представить, как мне построить минимальное или чуть менее минимальное веб-приложение.
Если начинать рассказывать об ФП с точки зрения высшей математики, то такой курс прекрасно отсеет неспособных к абстрактному мышлению. Вместе с теми, кому интересно некотрое практическое применение. Вот обучить человека Екселю очень-очень просто. Там никого не смущает двусмысленность оператора =. Главное — мы ставим простую иллюстративную задачу (например, Здравствуй, Налоговый Инспектор) и показываем, как она решается. Я бы вообще преподавал FP на основе Екселя. Показывая, как можно решить понятную неспециалисту задачу.
Книжки по императивному программированию для детей сначала преодолевают некоторый барьер в мышлении человека, обучая его концепции "ящичков с цифрами" и "стрелочек, показывающих на ящичек". Уже потом переходят к переменным, членам класса, областям видимости и т.п.
Я полагаю, если ФП представлять в виде "ячеек с формулами", как в Excel, то всё будет намного проще объяснить. Конечно, довольно быстро придется отказаться от спредшитов, потому что они всё таки чрезмерно убоги. Но в качестве основы для формирования правильных представлений это, имхо, намного более перспективно, чем все эти упражнения по выводу чисел Фибоначчи и факториалов. Как только начинается пример "допустим, нам нужно вычислить первые сто чисел фибоначчи", возникает искушение сказать "вам нужно — вы и вычисляйте. А я хочу заставить трёхмерный кубик крутиться или написать программу, которая прикольно искажает голос". Да всё, что угодно, только пусть это будет реалистичный пример. По крайней мере, настолько же реалистичный, как Hello World. Не в том смысле, что нужно сразу MineSweeper написать. Но функции, которые берут вход неизвестно откуда и отдают его неизвестно куда, сллишком далеки от народа. Hello World можно прямо запустить и увидеть замечательный эффект; многие реальные программы устроены вполне аналогичным образом.
К>Т.е. неправильное построение учебников есть как раз следствие другой ориентации, чтоли, функциональщиков и получается аля "чтобы понять рекурсию нужно сначала понять рекурсию Естественно всё имхо.
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Mirrorer, Вы писали:
M>> Но на наддом этапе полноценного качественного описания немерловой макросистемы просто нет. поэтому для себя я вырал такую вот стратегию. Подглядывать откуда растут ноги у немерловых макросов, сравнивать различия и думать, почему это было сделано именно так..
VD>Сделаем. VD>В моих планах следующая статья как раз продвинутый курс макросостроения. О! Воти и название придумалось.
VD>Вот только нужно бы найти добровольцев на которых поэсперементировать с доступностью материала.
Я могу... В плане функциональщины — чист и невинен как младенец
Здравствуйте, Mirrorer, Вы писали:
VD>>Вот только нужно бы найти добровольцев на которых поэсперементировать с доступностью материала. M>Вот я допустим не против таких экспериментов Мыло в профиле. Так что вот..
Ну, кому интересно, пишите мне на мыло запрос. Когда статья будет в бета-версии пришлю для критики.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Sinclair, Вы писали:
S>Если мы попробуем посмотреть на программу с позиции современных требований, то Hello World окажется не вполне удачным примером. К примеру, я с трудом могу представить, как мне построить минимальное или чуть менее минимальное веб-приложение.
А чем хуже хэло-ворлд для АСП.НЭТ где есть поле для ввода имени посетителя и кнопка сабмит при нажатии на которую выоводится сообщение "Дарова чавак Такойто"?
Или аналог в ГУИ?
S>Если начинать рассказывать об ФП с точки зрения высшей математики, то такой курс прекрасно отсеет неспособных к абстрактному мышлению.
Дело в том, что большинство людей вообще не колышит точка "зрения высшей математики". Они даже представить такую "асракцию" не могт.
S> Вместе с теми, кому интересно некотрое практическое применение. Вот обучить человека Екселю очень-очень просто. Там никого не смущает двусмысленность оператора =. Главное — мы ставим простую иллюстративную задачу (например, Здравствуй, Налоговый Инспектор) и показываем, как она решается. Я бы вообще преподавал FP на основе Екселя. Показывая, как можно решить понятную неспециалисту задачу.
Мне кажется программисту от такого обучения будет мало толка. К тому же они и так обчно легко осваивают ёксель, что не приводит к облегчению понимания ФП.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, deniok, Вы писали:
D>Если бы всё было так просто! Учебные примерчики (типа факториала, быстрой сортировки, чисел Фибоначчи) несложно реализавать и на императивных языках. А задачи более объёмные (типа построения компиллятора) отпугнут большую часть читающих. Хочешь — посмотри здесь, мне кажется, что это лучшее начальное введение в Хаскелл подобного типа (с примерами на С и Хаскелле). Я его даже перевёл, может Влад и K опубликуют в RSDN Magazine.
С удовольствием. Прислыай в нашем шаблоне.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Речь о макросах.
Ведь речь идет/будет идти не столько о макросах "вообще", сколько о макросах конкретного языка, ведь так?
Так уж вышло что развитые средства макросостроения имеются прежде всего в ФЯ. И императивщики, в массе своей, занют о них значительно меньше.
Здравствуйте, VladD2, Вы писали:
VD>С удовольствием. Прислыай в нашем шаблоне.
А Вы с Купаевым вообще-то общаетесь? Я 5 февраля послал. Может не дошло? Хотя я могу быть к этому тексту небеспристрастен — именно на нём я в своё время врубился в ФП.
Здравствуйте, Курилка, Вы писали:
К>Здравствуйте, FDSC, Вы писали:
FDS>>Т.е. я считаю, что автор говорит просто о плохом качестве курсов, которые неправильно построены, не адаптированы под практические нужды. А ты говоришь, что автор говорит о том, что авторы курсов написали плохие пособия, потому что уже мыслят ФП-шными концепциями. Но они написали плохие пособия не по этому.
К>Не согласен. Как раз в том и дело, что функциональщики в первую очередь рассмативают функциональные вещи, т.к. к этом больше приковано их внимание, а писать "хэллоу ворлд" им неинтересно. Т.е. неправильное построение учебников есть как раз следствие другой ориентации, чтоли, функциональщиков и получается аля "чтобы понять рекурсию нужно сначала понять рекурсию". Естественно всё имхо.
Ну а причём тут программисты? Естественно, если авторы не умеют писать книг, то никто ничего и не поймёт. А вы говорите именно о таких авторах.
Здравствуйте, AMogil, Вы писали:
AM>Так уж вышло что развитые средства макросостроения имеются прежде всего в ФЯ. И императивщики, в массе своей, занют о них значительно меньше.
Если учесть, что в С макросы были с самого рождения (да кривые, но ведь были!)...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, deniok, Вы писали:
D>А Вы с Купаевым вообще-то общаетесь? Я 5 февраля послал. Может не дошло? Хотя я могу быть к этому тексту небеспристрастен — именно на нём я в своё время врубился в ФП.
Общаемся. Вот он про горные лыжи купленные жене рассказывал недвано.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
S>>Если начинать рассказывать об ФП с точки зрения высшей математики, то такой курс прекрасно отсеет неспособных к абстрактному мышлению.
VD>Дело в том, что большинство людей вообще не колышит точка "зрения высшей математики". Они даже представить такую "асракцию" не могт.
. Вою волком. У мнея математика закончилась лет пять тому назад, не успев начаться Лямбда исчисление я ни сном ни духом А там — только оно. Ыыыыы.
Один из примеров — представление чисел не помню кем не помню зачем Зачем? Читая эту книгу я периодически забываю даже то, что никогда не знал про Хаскель А я еще до монад не добрался...
Здравствуйте, Курилка, Вы писали:
К>Здравствуйте, Mamut, Вы писали:
M>>Читая эту книгу я периодически забываю даже то, что никогда не знал про Хаскель
К>Т.е. у тебя появляется убеждённость, что ты его всегда знал чтоли?