Re[16]: Как обучать технике программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.04.10 19:46
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>В третьих, цитата иллюстрирует то, как отважно императивные программисты борются с проблемами, которые сами же себе создают. Если бы в языке не было уродского деления на выражения и стейтменты (а все было бы выражениями — как в ФЯ) — обозначенной проблемы не стояло бы.


А если бы люди рождались сразу математиками, то программировали бы на языке покруче хаскеля на три порядка.

Пример Лиспа и прочих функциональных показал, что люди делают выбор не в пользу ФП. Отсюда и деление навыражений и стейтменты, и никак не наоборот
Re[4]: Как обучать технике программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.04.10 19:48
Оценка:
Здравствуйте, IT, Вы писали:

LVV>>А это — обучение методом проб и ошибок! В боевых искусствах — совсем не так. Там проб и ошибок нет, там сразу ставят прием правильно!


IT>Это потому что в боевых искусствах количество приёмов можно пересчитать на пальцах. Приёмы в программировании исчисляются совсем другими порядками.


Зато и осваиваются много быстрее. Простые приемы в БИ осваиваются годами.
Re[17]: Как обучать технике программирования?
От: Mr.Cat  
Дата: 27.04.10 19:50
Оценка:
Здравствуйте, Ikemefula, Вы писали:
I>люди делают выбор не в пользу ФП
Ну да, именно поэтому MS развивает linq, rx и прочую муть.
Re[8]: Как обучать технике программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.04.10 19:51
Оценка:
Здравствуйте, IT, Вы писали:

IT>Думаю, не существуют. В правописании и боевых искусствах понятна конечная цель упраждений. В боевых искусствах ученики повторяют за мастером чтобы поставить удар и научиться его применять. Палочки нужны, чтобы научиться из них составлять буквы и в конечном счёте писать.


IT>Зачем учиться писать циклы — не понятно Какая цель? Циклы ради циклов?


Писать не циклы, а решать задчи которые закрепляют понимание того, что такое итерация.

После этого можно переходить к более высоким материям, как например последовательности, фильтры, преобразования.
Re[9]: Как обучать технике программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 27.04.10 20:01
Оценка: +1
Здравствуйте, Mr.Cat, Вы писали:

LVV>>1. Принцип KISS — вы согласны?

MC>Нет. То, что ты предлагаешь — это требования к структуре программы, не учитывающие ее семантику. Эти требования всегда будут усложнять программу за счет появления в ней лишних сущностей, которые вводятся ради удовлетворения ограничений.

Ни в коем случае. Арифметика, да и вообще вся математика, как она дается в школе суть избытточность и лишние сущности с тз проф. математика.

Зато в обучении без этого никак.

LVV>>3. Посмотрите на Рефакторинг. Там неоднократно призывается уменьшать размеры методов, оставляя за методом ЕДИНСТВЕННУЮ задачу.

MC>Тут речь о задачах — т.е. семантике. Ты же накладываешь ограничения на структуру.

И правильно. Для обучения нужно наложить ограничения на структуру. Это везде и всюду используется.

Нужно что бы человек научился распознавать паттерны. Оные паттерны ему сначала подсовывают в рафинированом, чистом виде, что бы распознать было легко и так же легко запомнить.

Уже после этого можно усложнять. Но начинать с самых ограниченых, т.е. настолько чистых, что в природе оные не существуют.

В постановке техники ничего необычного нет — вначале ситуации вырожденные, т.е. дети складывают 2+2, боксеры бьют по воздуху стоя на месте а штангисты приседают с пустым грифом.

Все освается понемногу и по отдельности, а со временем сложность наращивается.

Цель такого дела — довести технику до автоматизма, что бы даже в стрессовой ситуации не было сбоя.
Re[17]: Как обучать технике программирования?
От: Аноним  
Дата: 28.04.10 05:12
Оценка: +1 -1
Здравствуйте, Ikemefula, Вы писали:

I>Пример Лиспа и прочих функциональных показал, что люди делают выбор не в пользу ФП.


Это потому что после обсуждаемого обучения циклам и всяким низкоуровневым сущностям на языке C/С++ человек уже не может думать в другой парадигме. Он начинает думать в терминах циклов и у него возникают сложности уже с пониманием простой рекурсии, не говоря уже о других "сложных" материях, которые он пытается внутри своей головы выразить в "циклическом" базисе. А если подобное обучение венчается еще С++'ным ООП, то можно считать, что мозги сломаны навсегда.
Re[10]: Как обучать технике программирования?
От: Аноним  
Дата: 28.04.10 05:37
Оценка: 2 (1) -1
Здравствуйте, Ikemefula, Вы писали:

I>И правильно. Для обучения нужно наложить ограничения на структуру. Это везде и всюду используется.


До сих пор помню, как преподша по матанализу на семинарах заставляла явно расписывать, какую делаешь замену переменной при взятии интеграла, и не засчитывала ответ. При том, что ответ можно было вообще в уме получить. Убивать надо таких преподов с такими ограничениями на структуру и такими воззрениями на обучение, которые заставляют зубрить синтаксис, уделяя мало времени сути.

I>Нужно что бы человек научился распознавать паттерны. Оные паттерны ему сначала подсовывают в рафинированом, чистом виде, что бы распознать было легко и так же легко запомнить.

I>Уже после этого можно усложнять. Но начинать с самых ограниченых, т.е. настолько чистых, что в природе оные не существуют.

Только не ограничивать паттерны циклами, ага? А то человек после такого обучения кроме циклов ничего воспринимать не сможет.

I>В постановке техники ничего необычного нет — вначале ситуации вырожденные, т.е. дети складывают 2+2, боксеры бьют по воздуху стоя на месте а штангисты приседают с пустым грифом.

I>Все освается понемногу и по отдельности, а со временем сложность наращивается.

Если брать пример с детьми и "2+2" и продолжать дальше, то получится так:
человек приходит в ВУЗ и ему там говорят: "забудьте то, что учили в школе", и дальше начинают не наращивать, а ПЕРЕУЧИВАТЬ. Вот те люди, в которых жестко сидит школьная парадигма, не смогут воспринимать (и не воспринимают) новый материал. Они никогда не поймут матанализ, высшую алгебру, тфкп и прочие умные вещи в терминах счётных палочек и складывания 2+2.

А теперь вернёмся к программированию. То, что вы тут предлагаете — это и есть вдалбливание этой "школьной" парадигмы, после которой перестроиться на более общий и широкий уровень уже просто так не получится. А так как подобное явление распространено повсеместно, то и получаем ситуации, когда "люди делают выбор не в пользу ФП", когда простые вещи делаются сложно не в подходящем базисе технологий, просто потому что люди думают в ограниченных рамках.
Re[11]: Как обучать технике программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.04.10 07:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Ikemefula, Вы писали:


I>>И правильно. Для обучения нужно наложить ограничения на структуру. Это везде и всюду используется.


А>До сих пор помню, как преподша по матанализу на семинарах заставляла явно расписывать, какую делаешь замену переменной при взятии интеграла, и не засчитывала ответ. При том, что ответ можно было вообще в уме получить. Убивать надо таких преподов с такими ограничениями на структуру и такими воззрениями на обучение, которые заставляют зубрить синтаксис, уделяя мало времени сути.


Мало решить задачу, нужно решить её методически правильно. В противном случае будет делать огрехи.

Суть как раз простая — овладеть методикой решения задач. Только в этом случае ты можешь перейти на следующий уровень мышления. В противном случаей абстракциям будут мешать огрехи.

I>>Уже после этого можно усложнять. Но начинать с самых ограниченых, т.е. настолько чистых, что в природе оные не существуют.


А>Только не ограничивать паттерны циклами, ага? А то человек после такого обучения кроме циклов ничего воспринимать не сможет.


А ктото здесь сказал что надо циклами ограничить ? Вроде было ясно обозначено, что циклы лишь пример, а не догма.

А>Если брать пример с детьми и "2+2" и продолжать дальше, то получится так:

А>человек приходит в ВУЗ и ему там говорят: "забудьте то, что учили в школе", и дальше начинают не наращивать, а ПЕРЕУЧИВАТЬ. Вот те люди, в которых жестко сидит школьная парадигма, не смогут воспринимать (и не воспринимают) новый материал. Они никогда не поймут матанализ, высшую алгебру, тфкп и прочие умные вещи в терминах счётных палочек и складывания 2+2.

Поймут и понимают. Нет никакого противеречия между школьным подходм и вуовским.

Вся разница — в школе сильный упор на воспитание, а в вуз люди счтаются уже воспитанными, потому контроля меньше.

Все что касаеться обучения никакого противоречия нет.

Как правило, сильный выпускник школы имеет неплохой задел на первый курс а то и два.

А>А теперь вернёмся к программированию. То, что вы тут предлагаете — это и есть вдалбливание этой "школьной" парадигмы, после которой перестроиться на более общий и широкий уровень уже просто так не получится.


Нет никакой школьной парадигмы в том понимании как ты описал.

>А так как подобное явление распространено повсеместно, то и получаем ситуации, когда "люди делают выбор не в пользу ФП",


ФП никогда не будет доминирующей парадигмой. 50 лет эволюции программрования во всех транах это хорошо показали.

>когда простые вещи делаются сложно не в подходящем базисе технологий, просто потому что люди думают в ограниченных рамках.


В том то и дело. И так во всех странах на всех континентах. Состояние педагогических наук не оставляет желать другого.
Re[18]: Как обучать технике программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.04.10 07:39
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Ikemefula, Вы писали:


I>>Пример Лиспа и прочих функциональных показал, что люди делают выбор не в пользу ФП.


А>Это потому что после обсуждаемого обучения циклам и всяким низкоуровневым сущностям на языке C/С++ человек уже не может думать в другой парадигме.


Это сильное заблуждение. ФП нельзя освоить без императивного.
Re[18]: Как обучать технике программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.04.10 07:41
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

I>>люди делают выбор не в пользу ФП

MC>Ну да, именно поэтому MS развивает linq, rx и прочую муть.

И правильно делает. Только это не значит, что ФП будет доминировать.

В индустрию ПО приходит денно и нощно толпы необученых спецов, эти никогда до ФП не дойдут.

linq,rx и всякое прочее — это для профессиональных, хорошо подготовленых разработчиков.
Re[3]: Как обучать технике программирования?
От: Undying Россия  
Дата: 28.04.10 08:22
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Соответственно удобны две разных ФОРМЫ цикла: для перебора — for, а для поиска — while.


С каких это пор while стал удобным способом поиска?

Всю жизнь поиск производил так:

string[] items;

foreach (string item in items)
{
  if (item == condition)
    return item;
}


Если foreach в языке нет, тогда через for, что похуже, конечно, но понятно как делать:

for (int i = 0; i < items.Length; ++i)
{
  if (items[i] == condition)
    return items[i];
}


А while для поиска как можно использовать?

ps
Я согласен с тем, что технику программирования нужно ставить, но использование while для поиска это антитехника.
Re[12]: Как обучать технике программирования?
От: Аноним  
Дата: 28.04.10 09:25
Оценка: -1 :)
Здравствуйте, Ikemefula, Вы писали:

А>>До сих пор помню, как преподша по матанализу на семинарах заставляла явно расписывать, какую делаешь замену переменной при взятии интеграла, и не засчитывала ответ. При том, что ответ можно было вообще в уме получить. Убивать надо таких преподов с такими ограничениями на структуру и такими воззрениями на обучение, которые заставляют зубрить синтаксис, уделяя мало времени сути.


I>Мало решить задачу, нужно решить её методически правильно. В противном случае будет делать огрехи.

I>Суть как раз простая — овладеть методикой решения задач. Только в этом случае ты можешь перейти на следующий уровень мышления. В противном случаей абстракциям будут мешать огрехи.

Речь о том, что при обучении слишком много времени уделяется "методической правильности" в ущерб уровню абстракций. Даже чересчур много.


А>>Если брать пример с детьми и "2+2" и продолжать дальше, то получится так:

А>>человек приходит в ВУЗ и ему там говорят: "забудьте то, что учили в школе", и дальше начинают не наращивать, а ПЕРЕУЧИВАТЬ. Вот те люди, в которых жестко сидит школьная парадигма, не смогут воспринимать (и не воспринимают) новый материал. Они никогда не поймут матанализ, высшую алгебру, тфкп и прочие умные вещи в терминах счётных палочек и складывания 2+2.

I>Поймут и понимают. Нет никакого противеречия между школьным подходм и вуовским.

I>Вся разница — в школе сильный упор на воспитание, а в вуз люди счтаются уже воспитанными, потому контроля меньше.
I>Все что касаеться обучения никакого противоречия нет.
I>Как правило, сильный выпускник школы имеет неплохой задел на первый курс а то и два.

Да вот не понимают. Большинство не может воспринимать многомерные пространства, интегралы-градиенты и прочие математические вещи, пытаясь представить их в рамках привычных им сущностей и понятий. Всё, что получается понять — это геометрический/физический смысл производной, площадь под кривой и т.д. А реальное понимание обычно приходит только потом, если вообще приходит.

А>>А теперь вернёмся к программированию. То, что вы тут предлагаете — это и есть вдалбливание этой "школьной" парадигмы, после которой перестроиться на более общий и широкий уровень уже просто так не получится.


I>Нет никакой школьной парадигмы в том понимании как ты описал.


Я взял слово "школьный" в кавычки. В данном случае "школьная парадигма" означает уровень знаний, потребный для простейшего бытового применения и которому учат на начальном этапе обучения. И который не годится в качестве платформы для дальнейшего обучения. Механика Ньютона, пригодная для бытовых нужд — лишь частный случай эйнштейновской теории, однако чтобы перейти на этот качественно новый уровень, придется поменять в своей голове основы. Другое дело, что старый опыт может помочь сделать это быстрее, а может и наоборот, стать непреодолимой преградой. Вот в программировании как правило так и бывает.

>>А так как подобное явление распространено повсеместно, то и получаем ситуации, когда "люди делают выбор не в пользу ФП",

I>ФП никогда не будет доминирующей парадигмой. 50 лет эволюции программрования во всех транах это хорошо показали.

А кто говорит о доминировании? Речь о том, что люди выбирают неправильные инструменты. В том числе и потому что не могут мыслить вне тех рамок, которые им вдолбили на начальном этапе обучения. Более того, они и внутри этих рамок мыслят лишь на уровне "методической правильности". И это печально.
Re[19]: Как обучать технике программирования?
От: Аноним  
Дата: 28.04.10 09:42
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Это сильное заблуждение. ФП нельзя освоить без императивного.


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

Кроме того, никто не предлагает переходить на ФП. Я лишь говорил о том, что при однобоком подходе (каковым является зубрёжка только лишь императивных сущностей и конструкций) у человека костенеют мозги, и он потом с трудом воспринимает (если вообще воспринимает) другие парадигмы.
Re[13]: Как обучать технике программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.04.10 09:47
Оценка: +1
Здравствуйте, Аноним, Вы писали:

I>>Мало решить задачу, нужно решить её методически правильно. В противном случае будет делать огрехи.

I>>Суть как раз простая — овладеть методикой решения задач. Только в этом случае ты можешь перейти на следующий уровень мышления. В противном случаей абстракциям будут мешать огрехи.

А>Речь о том, что при обучении слишком много времени уделяется "методической правильности" в ущерб уровню абстракций. Даже чересчур много.


Методическая правильность решения задач должна проверяться во всех задачах.

Ошибки в технике проявляются тотально и исправить их крайне тяжело.

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

I>>Все что касаеться обучения никакого противоречия нет.

I>>Как правило, сильный выпускник школы имеет неплохой задел на первый курс а то и два.

А>Да вот не понимают. Большинство не может воспринимать многомерные пространства, интегралы-градиенты и прочие математические вещи, пытаясь представить их в рамках привычных им сущностей и понятий.


А это проблема людей вообще. Абстрактное мышление нельзя привить просто так. Его нужно прокачивать.

И при этом огрехи в технике и становятся препятствием.

>Всё, что получается понять — это геометрический/физический смысл производной, площадь под кривой и т.д. А реальное понимание обычно приходит только потом, если вообще приходит.


Разумеетяс. Понимание это реальный опыт + время. нельзя скормить n-задач, лишь бы как решить и получить понимание.

Есть одно эмпирическое правило — профессионалами становятся минимум за 10 лет.

Образование сроится так, что бы время в ВУЗе вошло в эти 10 лет.

I>>Нет никакой школьной парадигмы в том понимании как ты описал.


А>Я взял слово "школьный" в кавычки. В данном случае "школьная парадигма" означает уровень знаний, потребный для простейшего бытового применения и которому учат на начальном этапе обучения. И который не годится в качестве платформы для дальнейшего обучения. Механика Ньютона, пригодная для бытовых нужд — лишь частный случай эйнштейновской теории, однако чтобы перейти на этот качественно новый уровень, придется поменять в своей голове основы.


Не надо ничего менять в голове. Сложность наращиваетя постепенно, точно так же как и блины на штанге.

И всегда обучение идет от частного к общему.

>Другое дело, что старый опыт может помочь сделать это быстрее, а может и наоборот, стать непреодолимой преградой. Вот в программировании как правило так и бывает.


В программировании хорошо если 10% спецов имеют хорошую подготовку. Остальные либо самоучки со слабой подготовкой и без профильного образованя, либо лица приравненые к оным.

А>А кто говорит о доминировании? Речь о том, что люди выбирают неправильные инструменты.


Люди выбирают инструмены соответсвующие своему уровню мышления.

>В том числе и потому что не могут мыслить вне тех рамок, которые им вдолбили на начальном этапе обучения. Более того, они и внутри этих рамок мыслят лишь на уровне "методической правильности". И это печально.


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

Большинсво программистов не занимается самообразованием, да и в универе учились для галочки или не по профилю.

Нет никаких чудес, 90% людей не заинтересовано в развитии, по этой причине императивное программирование бует рулить и через 100 лет.
Re[20]: Как обучать технике программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.04.10 09:58
Оценка: +1
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Ikemefula, Вы писали:


I>>Это сильное заблуждение. ФП нельзя освоить без императивного.


А>Вот это как раз и есть заблуждение. ФП можно прекрасно освоить без императивщины.

А>Она может потребоваться только для понимания того, во что выливаются функциональные конструкции на низком уровне.

Интересно, как ты поймешь во что выливается, если ты это не освоил ?

>Для оптимизации по скорости, памяти и т.д.


т.е. буквально везде, где есть хоть какие то ограничения связаные с ресурсами.

>А чтобы мыслить в этой парадигме, их знание изначально не требуется.


Что бы мыслить в этой парадигме нужно иметь хорошо прокачаное абстрактое мышление. По другому никак.

>Например, для освоения SQL (хоть это и не ФП как таковое), никакой императивщины не нужно, она только отвлекает от сути.


Я около года назад хорошо посмотрел, как ипользуют SQL люди без императивщины.

Их ничего не отвлекало, только с парой запросов пришлось разбираться более месяца.


А>Кроме того, никто не предлагает переходить на ФП. Я лишь говорил о том, что при однобоком подходе (каковым является зубрёжка только лишь императивных сущностей и конструкций) у человека костенеют мозги, и он потом с трудом воспринимает (если вообще воспринимает) другие парадигмы.


Проблема в отсутствии развития у большинства программистов. Просто в силу отсутствия желания. Потому они и застревают на императивном уровне.
Re[14]: Как обучать технике программирования?
От: Аноним  
Дата: 28.04.10 10:05
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>В программировании хорошо если 10% спецов имеют хорошую подготовку. Остальные либо самоучки со слабой подготовкой и без профильного образованя, либо лица приравненые к оным.


I>Даже идеальное образование не сделает человека умнее. Абстрактное мышление нельзя привить сверху, его можно только прокачать с самых нулей. бОльшинство не заинтересовано в этом в принципе.


I>Большинсво программистов не занимается самообразованием, да и в универе учились для галочки или не по профилю.


I>Нет никаких чудес, 90% людей не заинтересовано в развитии, по этой причине императивное программирование бует рулить и через 100 лет.


Мы же не говорим про 90%. Вопрос стоит в том, как обучать людей. А обучать их надо так, чтобы задействовать возможности оставшихся 10% по максимуму. Ибо если ориентироваться на 90% (то есть в том случае, когда синтаксис ставится важнее семантики, когда отчёт о решении важнее самого решения и т.д.), то толку не будет ни от тех, ни от других.
Re[21]: Как обучать технике программирования?
От: Аноним  
Дата: 28.04.10 10:14
Оценка:
Здравствуйте, Ikemefula, Вы писали:

А>>Вот это как раз и есть заблуждение. ФП можно прекрасно освоить без императивщины.

А>>Она может потребоваться только для понимания того, во что выливаются функциональные конструкции на низком уровне.

I>Интересно, как ты поймешь во что выливается, если ты это не освоил ?


Мы же говорим про возможность овладевания ФП без императивщины. И овладеть можно. Остальное — да, уже другой вопрос.

>>Для оптимизации по скорости, памяти и т.д.


I>т.е. буквально везде, где есть хоть какие то ограничения связаные с ресурсами.


Этот момент вторичен в контексте поставленного вопроса.

>>А чтобы мыслить в этой парадигме, их знание изначально не требуется.


I>Что бы мыслить в этой парадигме нужно иметь хорошо прокачаное абстрактое мышление. По другому никак.


А прокачивается оно математикой, а не императивным программированием.

>>Например, для освоения SQL (хоть это и не ФП как таковое), никакой императивщины не нужно, она только отвлекает от сути.


I>Я около года назад хорошо посмотрел, как ипользуют SQL люди без императивщины.

I>Их ничего не отвлекало, только с парой запросов пришлось разбираться более месяца.

Стоит ли говорить, что чистые императивщики мудрят с запросами не хуже
Re[22]: Как обучать технике программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.04.10 11:03
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Мы же говорим про возможность овладевания ФП без императивщины. И овладеть можно. Остальное — да, уже другой вопрос.


Это остальное и есть главная причина.

Просто попрограммировать речи не идет, речь идет об индустрии.

I>>т.е. буквально везде, где есть хоть какие то ограничения связаные с ресурсами.


А>Этот момент вторичен в контексте поставленного вопроса.


Программирование вне индустрии вобщем то не существует. А то бы я с тобой согласился.

I>>Что бы мыслить в этой парадигме нужно иметь хорошо прокачаное абстрактое мышление. По другому никак.


А>А прокачивается оно математикой, а не императивным программированием.


И математикой, и программированием.

I>>Я около года назад хорошо посмотрел, как ипользуют SQL люди без императивщины.

I>>Их ничего не отвлекало, только с парой запросов пришлось разбираться более месяца.

А>Стоит ли говорить, что чистые императивщики мудрят с запросами не хуже


В том то и дело, что не хуже.
Re[15]: Как обучать технике программирования?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.04.10 11:06
Оценка:
Здравствуйте, Аноним, Вы писали:

I>>Нет никаких чудес, 90% людей не заинтересовано в развитии, по этой причине императивное программирование бует рулить и через 100 лет.


А>Мы же не говорим про 90%. Вопрос стоит в том, как обучать людей.


Как обучать людей посмотри на МИТ и Стенфорд. Они отказались от функциональщины для обучения. Одни перешли на Питон, другие — на Си.

>А обучать их надо так, чтобы задействовать возможности оставшихся 10% по максимуму. Ибо если ориентироваться на 90% (то есть в том случае, когда синтаксис ставится важнее семантики, когда отчёт о решении важнее самого решения и т.д.), то толку не будет ни от тех, ни от других.


Обучать нужно столько, что бы удовлетворить потребности индустрии. А сейчас удовлетворяется спрос, вместо потребностей.
Re[23]: Как обучать технике программирования?
От: Аноним  
Дата: 28.04.10 12:58
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>>>т.е. буквально везде, где есть хоть какие то ограничения связаные с ресурсами.

А>>Этот момент вторичен в контексте поставленного вопроса.
I>Программирование вне индустрии вобщем то не существует. А то бы я с тобой согласился.

Хе-хе. Значит в контексте поставленного вопроса возражений нет?
А по поводу индустрии скажу так: я нигде не утверждал, что следует применять только ФП. Я ЗА использование разных подходов для увеличения эффективности. Только ты зачем-то прицепился отдельно к ФП и затеял холивар на пустом месте.

I>>>Что бы мыслить в этой парадигме нужно иметь хорошо прокачаное абстрактое мышление. По другому никак.

А>>А прокачивается оно математикой, а не императивным программированием.
I>И математикой, и программированием.

И что же такого серьезного в программировании есть, от чего можно сильно прокачать абстрактное мышление?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.