Re[48]: Императивное программирование
От: vdimas Россия  
Дата: 24.10.12 15:04
Оценка:
Здравствуйте, samius, Вы писали:

V>>По-моему, ты уже тупо троллишь... Я специально тебе показываю, что на мутабельных операциях можно получать pure-functions и прямо об этом говорю.

S>Тупо троллишь ты. С тем что на мутабельных операциях можно получить pure-functions я даже не пытался с тобой спорить об этом. Я тебе твержу о том, что чистое выражение не имеет смысла в примитивах СП. А ты все про баню.

ОМГ.
1. Имеет смысл, ес-но. Например в С/С++: тернарный оператор, оператор присваивания, оператор "," (запятая) — все эти операторы имеют (могут иметь) значения. Т.е. многие вроде бы стейтменты легко сходят за выражения, даже если тип выражения — void. И да, ты можешь смело вместо if обсуждать тернарный оператор, бо он тоже допускает любые возвращаемые типы выражений своих веток, тот же void. Ууупс??? Забыл??? ))

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

Просто смысла в этой клоунаде нет. Вместо пытаток в течении 10-ка постов выдавить из оппонента "правильный" ответ на провокационный вопрос можно было сразу выложить на стол все карты — что именно ты хотел услышать и что заготовил в кач-ве своего ответа?

Просто ситуация на на самом деле такова, что:
1. в императиве тоже полно чистых ф-ий и чистых конструкций.
2. лучшие оптимизаторы сегодня для императива, и эти оптимизаторы прекрасно сами видят все зависимости. Это тупым ФП-компиляторам зависимости надо указывать явно.
3. так что обсуждать стоит возможность подобного переупорядочивания скорее для императива, как следует из п. 1 и 2. Тем более, что ты довольствуешься самой малой возможностью (вероятностью) подобных переупорядочиваний. Дык, в императиве этих возможностей на сегодня реально больше, чем в ФП.

(это был исчерпывающий ответ так же на остальное скипнутое, см. хотя бы последний свой абзац из скипнутого)
Re[62]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 24.10.12 15:06
Оценка:
Здравствуйте, samius, Вы писали:

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

S>>>Ну дак они их и создают в оффшорах. У меня множество знакомых работает именно так.

I>>Вынуждены создавать. При этом у себя в штатах проектов создают столько, что количетсво занятых в ИТ постоянно растет.

S>Надо же! А где не растет?

Мы про долю "своих" специалистов или просто потрепаться ? Определись.

I>>А что, я где то говорил про излишек ?

S>Я говорил

Вот ты и ищие его.

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

S>Количественный результат мы уже имеем.

Значит осталось самое малое — без значительного ухудшения этого результата улучшить качественную составляющую.

I>>Были, что бы их понять, начни с Р. Солсо "Когнитивная психология" и посмотри в работы Пиаже, Выготского, Лурии.

S>Я очень сильно не уверен в том что они свои работы посветили 5му классу общеобразовательной школы или СИКП-у.

Да, там нет ответа, можно ли давать программирование в 5м классе. Зато там рассказывается про мышление например.

I>>Правильно. Отбор и так жосткий, а ты еще хочешь планку задрать неизвестно куда.

S>Да не, отбор далеко не такой жосткий. Это у тебя самомнение жосткое.

Если в твоем кругу общения из двух человек, программистов 50%, то это вовсе не значит, что и по стране точно так же.

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

S>А ты наверное программируешь сам без рецептов и подопечные твои тоже? Вкурили грамматику и пошли пилить в продакшн без единого примера вроде решения линейного уравнения? Ну-ну

Мне снова коментировать твои передергивания и домыслы ?
Для школьника 14 лет рецепты и простейшие задачки это как максимум. То есть адаптация имеющихся решения и минимум декомпозиции. А для программиста, хотя бы новичка в продакшне, это вообще ничего, нужно обязательно владение декомпозицией.
Декомпозиция(а так же многое другое) это именно то, что появляется примерно в 16 лет, это т.н. операционое мышление, то есть "синтез-анализ", "композиция-декомпозиция", "абстракция-конкретизация".
Кое какие вещи школьники могут и раньше, но тольк кое что. Скажем, декомпозицию основаную на процедурных знаниях, могут уже раньше. Т.е. они могут скажем, рассказать, как нужно перетащить шкаф в другую комнату, что для этого необходимо и тд.

S>Программуху вообще — рановато. А маппить функцией точки из области определения (со scale/translate преобразованиями) — как бы уже не поздно было в 5-м то классе. Именно про это я говорил что в 5м классе есть все что нужно.


Правильно, рановато. А вот "мапить" школьники учатся до 11 класса включительно, а не внезапно, как по твоему, открывают перком в 5м классе.
Re[49]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 24.10.12 15:52
Оценка: :)
Здравствуйте, vdimas, Вы писали:

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


V>>>По-моему, ты уже тупо троллишь... Я специально тебе показываю, что на мутабельных операциях можно получать pure-functions и прямо об этом говорю.

S>>Тупо троллишь ты. С тем что на мутабельных операциях можно получить pure-functions я даже не пытался с тобой спорить об этом. Я тебе твержу о том, что чистое выражение не имеет смысла в примитивах СП. А ты все про баню.

V>ОМГ.

V>1. Имеет смысл, ес-но. Например в С/С++: тернарный оператор, оператор присваивания, оператор "," (запятая) — все эти операторы имеют (могут иметь) значения. Т.е. многие вроде бы стейтменты легко сходят за выражения, даже если тип выражения — void. И да, ты можешь смело вместо if обсуждать тернарный оператор, бо он тоже допускает любые возвращаемые типы выражений своих веток, тот же void. Ууупс??? Забыл??? ))
Ты упустил из виду что возможности C/C++ очевидным образом выпирают из базиса СП. Такшта обсуждение тернарного оператора отменяется.

V>2. Еще раз черным по белому — я знаю, что ты хотел у меня спросить. Но на подобные дешевые провокации не пойду всё-равно, даже при наличии п.1. и кучи вариантов как следствие этого пункта, вокруг которых вполне можно было бы пободаться (ветки-то вполне могут быть независимы даже в императиве, угу).

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

V>Просто смысла в этой клоунаде нет. Вместо пытаток в течении 10-ка постов выдавить из оппонента "правильный" ответ на провокационный вопрос можно было сразу выложить на стол все карты — что именно ты хотел услышать и что заготовил в кач-ве своего ответа?

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

V>Просто ситуация на на самом деле такова, что:

V>1. в императиве тоже полно чистых ф-ий и чистых конструкций.
Я бы сказал что это достаточная экзотика для императива. Возможность так писать местами есть, да, согласен. Но полно — это ошибочная оценка.

V>2. лучшие оптимизаторы сегодня для императива, и эти оптимизаторы прекрасно сами видят все зависимости. Это тупым ФП-компиляторам зависимости надо указывать явно.

С оптимизаторами ты идешь лесом, объясняю который раз.

V>3. так что обсуждать стоит возможность подобного переупорядочивания скорее для императива, как следует из п. 1 и 2. Тем более, что ты довольствуешься самой малой возможностью (вероятностью) подобных переупорядочиваний. Дык, в императиве этих возможностей на сегодня реально больше, чем в ФП.

Увы, ты ошибаешься. Императив завязан на порядок побочными эффектами. А как только ты избавляешься от побочных эффектов и устремляешься к детерминированности, ты приближаешься к ФП-style.

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

Исчерпывающим я его не считаю. Ты поскипал неудобные вещи и отмазался своими обычными заблуждениями.
Re[63]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 24.10.12 16:38
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


I>>>Вынуждены создавать. При этом у себя в штатах проектов создают столько, что количетсво занятых в ИТ постоянно растет.

S>>Надо же! А где не растет?

I>Мы про долю "своих" специалистов или просто потрепаться ? Определись.

Даже если про долю "своих" специалистов, то полагаю что в России доля своих специалистов больше, чем в США своих.

I>>>А что, я где то говорил про излишек ?

S>>Я говорил

I>Вот ты и ищие его.

Я помню что говорил.

S>>Количественный результат мы уже имеем.


I>Значит осталось самое малое — без значительного ухудшения этого результата улучшить качественную составляющую.

Дай подумать.... Ты предлагаешь напрячь те самые кафедры, которые методичку родить не могут?

S>>Я очень сильно не уверен в том что они свои работы посветили 5му классу общеобразовательной школы или СИКП-у.


I>Да, там нет ответа, можно ли давать программирование в 5м классе. Зато там рассказывается про мышление например.

Что бы мыслить не нужны рассказы про мышление.

I>>>Правильно. Отбор и так жосткий, а ты еще хочешь планку задрать неизвестно куда.

S>>Да не, отбор далеко не такой жосткий. Это у тебя самомнение жосткое.

I>Если в твоем кругу общения из двух человек, программистов 50%, то это вовсе не значит, что и по стране точно так же.

Из того что у тебя на 100 знакомых лишь ты один работаешь в ИТ незначит что остальные тупее тебя и им принципиально в связи с особенностями мышления не понять твои заботы.

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

S>>А ты наверное программируешь сам без рецептов и подопечные твои тоже? Вкурили грамматику и пошли пилить в продакшн без единого примера вроде решения линейного уравнения? Ну-ну

I>Мне снова коментировать твои передергивания и домыслы ?

Тебе нужен мой запрет или разрешение? Валяй
I>Для школьника 14 лет рецепты и простейшие задачки это как максимум. То есть адаптация имеющихся решения и минимум декомпозиции. А для программиста, хотя бы новичка в продакшне, это вообще ничего, нужно обязательно владение декомпозицией.
I>Декомпозиция(а так же многое другое) это именно то, что появляется примерно в 16 лет, это т.н. операционое мышление, то есть "синтез-анализ", "композиция-декомпозиция", "абстракция-конкретизация".
I>Кое какие вещи школьники могут и раньше, но тольк кое что. Скажем, декомпозицию основаную на процедурных знаниях, могут уже раньше. Т.е. они могут скажем, рассказать, как нужно перетащить шкаф в другую комнату, что для этого необходимо и тд.
Боюсь тебя расстроить, но ни в 14 ни в 16 я не был знаком с твоей теорией. И даже сейчас не собираюсь с ней знакомиться, ибо считаю ее бредом. Конечно, вай-комбинатор я не изобретал, но вбить влет программу для построения графика функции с заданным шагом умел. Скажешь простейшая задачка? Для паскаля-да. А на калькуляторе с обратной польской — поди попробуй адаптируй какойнибудь рецепт из инструкции. Я сейчас-то очкую над такой задачей.

I>Правильно, рановато. А вот "мапить" школьники учатся до 11 класса включительно, а не внезапно, как по твоему, открывают перком в 5м классе.

Те что у вас учатся до 11 класса мапить у нас бы в 6-ой не перевелись.
Был в классе один такой, но у него реально учеба была не в первой десятке приоритетов. В 6-ой чудом перевелся на второй год, потом в ПТУ. У вас чо, такое норма?
Re[50]: Императивное программирование
От: vdimas Россия  
Дата: 24.10.12 23:12
Оценка:
Здравствуйте, samius, Вы писали:

V>>>>По-моему, ты уже тупо троллишь... Я специально тебе показываю, что на мутабельных операциях можно получать pure-functions и прямо об этом говорю.

S>>>Тупо троллишь ты. С тем что на мутабельных операциях можно получить pure-functions я даже не пытался с тобой спорить об этом. Я тебе твержу о том, что чистое выражение не имеет смысла в примитивах СП. А ты все про баню.

V>>ОМГ.

V>>1. Имеет смысл, ес-но. Например в С/С++: тернарный оператор, оператор присваивания, оператор "," (запятая) — все эти операторы имеют (могут иметь) значения. Т.е. многие вроде бы стейтменты легко сходят за выражения, даже если тип выражения — void. И да, ты можешь смело вместо if обсуждать тернарный оператор, бо он тоже допускает любые возвращаемые типы выражений своих веток, тот же void. Ууупс??? Забыл??? ))
S>Ты упустил из виду что возможности C/C++ очевидным образом выпирают из базиса СП. Такшта обсуждение тернарного оператора отменяется.

Ок, бери присваивание или запятую. )))

V>>2. Еще раз черным по белому — я знаю, что ты хотел у меня спросить. Но на подобные дешевые провокации не пойду всё-равно, даже при наличии п.1. и кучи вариантов как следствие этого пункта, вокруг которых вполне можно было бы пободаться (ветки-то вполне могут быть независимы даже в императиве, угу).

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

Сам кури. Что курить — я уже говорил. Состояние можно разложить на пространства. В конкретных ветках эти пространства могут не пересекаться.


V>>Просто смысла в этой клоунаде нет. Вместо пытаток в течении 10-ка постов выдавить из оппонента "правильный" ответ на провокационный вопрос можно было сразу выложить на стол все карты — что именно ты хотел услышать и что заготовил в кач-ве своего ответа?

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

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

V>>Просто ситуация на на самом деле такова, что:

V>>1. в императиве тоже полно чистых ф-ий и чистых конструкций.
S>Я бы сказал что это достаточная экзотика для императива. Возможность так писать местами есть, да, согласен. Но полно — это ошибочная оценка.

Это нормальная оценка, см. сниппеты: http://www.rsdn.ru/forum/philosophy/4932310.1
Автор: vdimas
Дата: 17.10.12

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


V>>2. лучшие оптимизаторы сегодня для императива, и эти оптимизаторы прекрасно сами видят все зависимости. Это тупым ФП-компиляторам зависимости надо указывать явно.

S>С оптимизаторами ты идешь лесом, объясняю который раз.

Коль обсуждали все эти переупорядочивания, то идешь сейчас ты.

V>>3. так что обсуждать стоит возможность подобного переупорядочивания скорее для императива, как следует из п. 1 и 2. Тем более, что ты довольствуешься самой малой возможностью (вероятностью) подобных переупорядочиваний. Дык, в императиве этих возможностей на сегодня реально больше, чем в ФП.

S>Увы, ты ошибаешься. Императив завязан на порядок побочными эффектами.

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

S>А как только ты избавляешься от побочных эффектов и устремляешься к детерминированности, ты приближаешься к ФП-style.


Никоим образом не устремляюсь. В сниппетах показал — почему.

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

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

)))
Re[51]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 25.10.12 00:37
Оценка:
Здравствуйте, vdimas, Вы писали:

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


S>>Ты упустил из виду что возможности C/C++ очевидным образом выпирают из базиса СП. Такшта обсуждение тернарного оператора отменяется.


V>Ок, бери присваивание или запятую. )))

Возвращаемое значение присваивания и запятой не распространится дальше ;/if/while если не положить его в переменную. Кроме того, в базисе СП нет ни слова про "возвращать значения". Базис СП опирается на стейтменты, суть которых — изменять состояние программы. А возвращать стейтменты ничего не обязаны.

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


V>Сам кури. Что курить — я уже говорил. Состояние можно разложить на пространства. В конкретных ветках эти пространства могут не пересекаться.

То что они могут не пересекаться — это твои личные проблемы. Наличие изменяемого состояния в тексте программы трактуется определением как императив.

V>Угу, и опять, видимо, пропустил...

V>Так не было ничего? ))
Экое у тебя избирательное внимание

S>>Я бы сказал что это достаточная экзотика для императива. Возможность так писать местами есть, да, согласен. Но полно — это ошибочная оценка.


V>Это нормальная оценка, см. сниппеты: http://www.rsdn.ru/forum/philosophy/4932310.1
Автор: vdimas
Дата: 17.10.12

V>В отсутствии оперирования глобальными/статическими переменными я бы дал оценку до 90% и выше для ситуаций обработки любых данных, видимых лишь из одного потока.
Во-первых ты забыл оперирование полями, во вторых отсутствие оперирования глобальными/статическими/экземплярными переменными для императива нетипично. Если в ФП такое оперирование сильно портит жизнь, то в ИП оно является фактически нормой. Так что, к чему ты собрался применять оценку до 90% — для меня неочевидно. Может быть для << 1% случаев, когда в программе действительно отсутствует оперирование глобальными и т.п. полями?

S>>С оптимизаторами ты идешь лесом, объясняю который раз.


V>Коль обсуждали все эти переупорядочивания, то идешь сейчас ты.

То что мы обсуждали переупорядочивания не делает оптимизаторы аргументом в пользу происхождения ФП от СП. Потому идти тебе.

V>>>3. так что обсуждать стоит возможность подобного переупорядочивания скорее для императива, как следует из п. 1 и 2. Тем более, что ты довольствуешься самой малой возможностью (вероятностью) подобных переупорядочиваний. Дык, в императиве этих возможностей на сегодня реально больше, чем в ФП.

S>>Увы, ты ошибаешься. Императив завязан на порядок побочными эффектами.

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

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

S>>А как только ты избавляешься от побочных эффектов и устремляешься к детерминированности, ты приближаешься к ФП-style.


V>Никоим образом не устремляюсь. В сниппетах показал — почему.


И что же в них недетерминировано?
Re: Императивное программирование
От: LaptevVV Россия  
Дата: 25.10.12 07:31
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>А что насчет циклов for?

I> 1.Переменные
I> 2.Массивы
I> 3.Оператор if
I> 4.Команды перехода (goto или jump)
I>И все. Я могу научить человека работе с циклом for, объяснив только четыре эти концепции.
Можно без массивов, операторов if и goto...

повторять 10 раз
что-то делаем

Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[64]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.10.12 10:30
Оценка:
Здравствуйте, samius, Вы писали:

I>>Мы про долю "своих" специалистов или просто потрепаться ? Определись.

S>Даже если про долю "своих" специалистов, то полагаю что в России доля своих специалистов больше, чем в США своих.

Проколупай дыру у себя в бензобаке — раз потечет, значит там излишек бензина...

I>>Значит осталось самое малое — без значительного ухудшения этого результата улучшить качественную составляющую.

S>Дай подумать.... Ты предлагаешь напрячь те самые кафедры, которые методичку родить не могут?

У тебя почему то улучшение результата всегда какой то напряг означет. Есть более эффективные методы. Напрягать ты сам предлагал, забыл ?

I>>Да, там нет ответа, можно ли давать программирование в 5м классе. Зато там рассказывается про мышление например.

S>Что бы мыслить не нужны рассказы про мышление.

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

I>>Если в твоем кругу общения из двух человек, программистов 50%, то это вовсе не значит, что и по стране точно так же.

S>Из того что у тебя на 100 знакомых лишь ты один работаешь в ИТ незначит что остальные тупее тебя и им принципиально в связи с особенностями мышления не понять твои заботы.

У меня на сотню знакомых почти все программисты или люди с ИТ-образованием Так что твои аллюзии мне не понятны.

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

S>Боюсь тебя расстроить, но ни в 14 ни в 16 я не был знаком с твоей теорией.

Это не моя теория.

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


Это мелочевочка. В книге, кстати говоря, был пример очень похожий. А твоё "очкую" говорит о том, что тогда эта программа показалась тебе сложной , при чем напугала тебя настолько, что ты до сих пор "очкуешь". Реально там были подпрограммы, организуешь простейший цикл, что было в рецепте, вызываешь подпрограмму, что было в рецепте, и все. Ну разве что надо было шаг выполнить, что снова было в рецепте. И представь, все это укладывалось в 105 ячеек памяти команд/данных.

I>>Правильно, рановато. А вот "мапить" школьники учатся до 11 класса включительно, а не внезапно, как по твоему, открывают перком в 5м классе.

S>Те что у вас учатся до 11 класса мапить у нас бы в 6-ой не перевелись.

"Мапить" включает в себя и интегралы и производные и много чего еще. Поверю на слово — ты все это умел в 5м классе в возрасте 14ти лет Не подскажешь, как тебе это удалось ?
Re[65]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 25.10.12 10:51
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


I>Проколупай дыру у себя в бензобаке — раз потечет, значит там излишек бензина...

А, остряк типа? Тут поржать что ли надо?

S>>Дай подумать.... Ты предлагаешь напрячь те самые кафедры, которые методичку родить не могут?


I>У тебя почему то улучшение результата всегда какой то напряг означет. Есть более эффективные методы. Напрягать ты сам предлагал, забыл ?

Ты же убеждал что там нечего напрягать, забыл?

S>>Что бы мыслить не нужны рассказы про мышление.


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

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

I>У меня на сотню знакомых почти все программисты или люди с ИТ-образованием Так что твои аллюзии мне не понятны.

Тогда мне твои непонятны про 10% из 10%.

S>>Боюсь тебя расстроить, но ни в 14 ни в 16 я не был знаком с твоей теорией.


I>Это не моя теория.

Это ничего не меняет

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


I>Это мелочевочка. В книге, кстати говоря, был пример очень похожий. А твоё "очкую" говорит о том, что тогда эта программа показалась тебе сложной , при чем напугала тебя настолько, что ты до сих пор "очкуешь". Реально там были подпрограммы, организуешь простейший цикл, что было в рецепте, вызываешь подпрограмму, что было в рецепте, и все. Ну разве что надо было шаг выполнить, что снова было в рецепте. И представь, все это укладывалось в 105 ячеек памяти команд/данных.

Вах, разобрал по косточкам... Ну да, теперь мелочевка.
З.Ы. Про 105 ячеек не напугал нисколько, реально их там работало не больше 98и, а дальше мусор гулял.

S>>Те что у вас учатся до 11 класса мапить у нас бы в 6-ой не перевелись.


I>"Мапить" включает в себя и интегралы и производные и много чего еще. Поверю на слово — ты все это умел в 5м классе в возрасте 14ти лет Не подскажешь, как тебе это удалось ?

Аппликативные функторы твое "много чего еще" не включает?
Re[66]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.10.12 11:27
Оценка:
Здравствуйте, samius, Вы писали:

I>>Проколупай дыру у себя в бензобаке — раз потечет, значит там излишек бензина...

S>А, остряк типа? Тут поржать что ли надо?

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

I>>У тебя почему то улучшение результата всегда какой то напряг означет. Есть более эффективные методы. Напрягать ты сам предлагал, забыл ?

S>Ты же убеждал что там нечего напрягать, забыл?

Именно потому и нет смысла напрягать, следовательно надо действовать другми методами. Если на результат насрать — можно и понапрягать. Ну, еще переименовать одно в другое, ВУЗ в ПТУ, вот как медведев милицию в полицию переделал.

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

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

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

I>>У меня на сотню знакомых почти все программисты или люди с ИТ-образованием Так что твои аллюзии мне не понятны.

S>Тогда мне твои непонятны про 10% из 10%.

Мне уже поднадоело объяснять.

I>>Это мелочевочка. В книге, кстати говоря, был пример очень похожий. А твоё "очкую" говорит о том, что тогда эта программа показалась тебе сложной , при чем напугала тебя настолько, что ты до сих пор "очкуешь". Реально там были подпрограммы, организуешь простейший цикл, что было в рецепте, вызываешь подпрограмму, что было в рецепте, и все. Ну разве что надо было шаг выполнить, что снова было в рецепте. И представь, все это укладывалось в 105 ячеек памяти команд/данных.

S>Вах, разобрал по косточкам... Ну да, теперь мелочевка.
S>З.Ы. Про 105 ячеек не напугал нисколько, реально их там работало не больше 98и, а дальше мусор гулял.

Наверное это специально для тебя сделали, а то у меня было 105 да еще 15 регистров памяти.

I>>"Мапить" включает в себя и интегралы и производные и много чего еще. Поверю на слово — ты все это умел в 5м классе в возрасте 14ти лет Не подскажешь, как тебе это удалось ?

S>Аппликативные функторы твое "много чего еще" не включает?

А если подумать ? У меня вопрос, кстати, а чего ты в 14 лет в пятом классе делал ?
Re[67]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 25.10.12 11:54
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


I>>>Проколупай дыру у себя в бензобаке — раз потечет, значит там излишек бензина...

S>>А, остряк типа? Тут поржать что ли надо?

I>А чо, мне кажется отличный аргумент в твою пользу

Проколупай дыру у себя в черепе — этот мне нравится.

S>>Ты же убеждал что там нечего напрягать, забыл?


I>Именно потому и нет смысла напрягать, следовательно надо действовать другми методами. Если на результат насрать — можно и понапрягать. Ну, еще переименовать одно в другое, ВУЗ в ПТУ, вот как медведев милицию в полицию переделал.

Полагаешь что что-то сильно изменилось? Сейчас еще одна реформа намечается, так что одним переименованием не решишь свои проблемы.

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


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

тебе кажется

S>>Тогда мне твои непонятны про 10% из 10%.


I>Мне уже поднадоело объяснять.

А ты не начинал объяснять. Ты сказал 10% из 10%, объяснений не было.

S>>Вах, разобрал по косточкам... Ну да, теперь мелочевка.

S>>З.Ы. Про 105 ячеек не напугал нисколько, реально их там работало не больше 98и, а дальше мусор гулял.

I>Наверное это специально для тебя сделали, а то у меня было 105 да еще 15 регистров памяти.

Походу 105 ты до конца не использовал... И странно что ты их считаешь "да еще", плюсуя к командным ячейкам.

I>>>"Мапить" включает в себя и интегралы и производные и много чего еще. Поверю на слово — ты все это умел в 5м классе в возрасте 14ти лет Не подскажешь, как тебе это удалось ?

S>>Аппликативные функторы твое "много чего еще" не включает?

I>А если подумать ?

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

I>У меня вопрос, кстати, а чего ты в 14 лет в пятом классе делал ?

да, подловил. Ответить "ничего" — получится как с водкой по утрам.
В 14 я ходил в 8ой.
Re[68]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.10.12 14:34
Оценка:
Здравствуйте, samius, Вы писали:

I>>Именно потому и нет смысла напрягать, следовательно надо действовать другми методами. Если на результат насрать — можно и понапрягать. Ну, еще переименовать одно в другое, ВУЗ в ПТУ, вот как медведев милицию в полицию переделал.

S>Полагаешь что что-то сильно изменилось? Сейчас еще одна реформа намечается, так что одним переименованием не решишь свои проблемы.

У себя в голове ты успешно решил эту проблему путём переименования вузов в пту

I>>Мне уже поднадоело объяснять.

S>А ты не начинал объяснять. Ты сказал 10% из 10%, объяснений не было.

Отмотай да посмотри.

I>>Наверное это специально для тебя сделали, а то у меня было 105 да еще 15 регистров памяти.

S>Походу 105 ты до конца не использовал... И странно что ты их считаешь "да еще", плюсуя к командным ячейкам.

Косвенная адресация

I>>А если подумать ?

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

Да, похоже смысла писать и пояснять нет.
Re[69]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 25.10.12 16:11
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


S>>Полагаешь что что-то сильно изменилось? Сейчас еще одна реформа намечается, так что одним переименованием не решишь свои проблемы.


I>У себя в голове ты успешно решил эту проблему путём переименования вузов в пту

Э не, я никакую проблему не решил, только назвал вещи своими именами. Ни качество ни количество от этого не изменилось.

S>>А ты не начинал объяснять. Ты сказал 10% из 10%, объяснений не было.


I>Отмотай да посмотри.

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

Эта "значительная часть" всего процентов 10, а из них только каждый 10й может работать в ИТ.

Объяснений таки не было.

I>>>Наверное это специально для тебя сделали, а то у меня было 105 да еще 15 регистров памяти.

S>>Походу 105 ты до конца не использовал... И странно что ты их считаешь "да еще", плюсуя к командным ячейкам.

I>Косвенная адресация

которая опять-таки не может использовать ячейки ячейки команд >=100. И что, косвенная адресация как-то роднит ячейки команд с операционными регистрами?

I>>>А если подумать ?

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

I>Да, похоже смысла писать и пояснять нет.

Похоже на то. Ведь у тебя нет ничего убедительного. Разве что попробуй сослаться на опыт собеседований, медицинские книжки или знакомство с сотней ИТ-шников.
Re[70]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.10.12 16:33
Оценка:
Здравствуйте, samius, Вы писали:

I>>У себя в голове ты успешно решил эту проблему путём переименования вузов в пту

S>Э не, я никакую проблему не решил, только назвал вещи своими именами. Ни качество ни количество от этого не изменилось.

Ты придумал свою собственную терминологию и не решил никакой проблемы, браво !!! Прям как медведев

I>>Отмотай да посмотри.

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

S>Эта "значительная часть" всего процентов 10, а из них только каждый 10й может работать в ИТ.

S>Объяснений таки не было.

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

I>>Косвенная адресация

S>которая опять-таки не может использовать ячейки ячейки команд >=100. И что, косвенная адресация как-то роднит ячейки команд с операционными регистрами?

А где я написал что роднит ? Это ж ты решил что я так считаю. Я ведь нигде не писал что ячеек памяти программы 120 = 105 + 15 регистров. Было написано другое, из чего ты ДОДУМАЛ что я чего то приплюсовываю.

>=100 не надо использовать, потому что адрес ячейки 105 будет навроде -5 или около того. Часть адресов может использоваться, но не может отображаться на экране.

Лень вспоминать, хотя вобщем у родителей еще недавно видел этот букварик по мк61, и заглядывал в в него чисто поностальгировать
http://ru.wikipedia.org/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D0%B8_%D0%BF%D0%BE%D0%B1%D0%BE%D1%87%D0%BD%D1%8B%D0%B5_%D0%B2%D0%B5%D1%82%D0%B2%D0%B8
http://reocities.com/capecanaveral/hall/5525/Essai/Indirru.htm
http://ru.wikipedia.org/wiki/%D0%95%D0%B3%D0%B3%D0%BE%D0%B3%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F

I>>Да, похоже смысла писать и пояснять нет.

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

Все что нужно было рассказать про map, я уже рассказал. Помнится ты во всю стебался, так что ничего удивительного.
Re[71]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 25.10.12 16:57
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


I>Ты придумал свою собственную терминологию и не решил никакой проблемы, браво !!! Прям как медведев

То решил, то не решил. Определись уже.

S>>Объяснений таки не было.


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

Судя по всему твои объяснения ничего не подтверждали, вот и стебался.

S>>которая опять-таки не может использовать ячейки ячейки команд >=100. И что, косвенная адресация как-то роднит ячейки команд с операционными регистрами?


I>А где я написал что роднит ? Это ж ты решил что я так считаю. Я ведь нигде не писал что ячеек памяти программы 120 = 105 + 15 регистров. Было написано другое, из чего ты ДОДУМАЛ что я чего то приплюсовываю.

Ты написал "105 ячеек да еще 15 регистров", я и подумал что ты их используешь примерно одинаково.

>>=100 не надо использовать, потому что адрес ячейки 105 будет навроде -5 или около того. Часть адресов может использоваться, но не может отображаться на экране.

Ну вот что-то было что адрес перехода берется из остатка от деления на 100.
I>Лень вспоминать, хотя вобщем у родителей еще недавно видел этот букварик по мк61, и заглядывал в в него чисто поностальгировать
I>http://ru.wikipedia.org/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D0%B8_%D0%BF%D0%BE%D0%B1%D0%BE%D1%87%D0%BD%D1%8B%D0%B5_%D0%B2%D0%B5%D1%82%D0%B2%D0%B8
Вот об этих циклах я и понятия не имел. Помню лишь необъяснимое поведение в хвосте ячеек команд.

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


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

Действительно, чему удивляться? полагаю что я нашел повод постебаться.
Re[72]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.10.12 08:09
Оценка:
Здравствуйте, samius, Вы писали:

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

S>Судя по всему твои объяснения ничего не подтверждали, вот и стебался.

Что бы чтото понять, одних умственных усилий обычно недостаточно.

I>>А где я написал что роднит ? Это ж ты решил что я так считаю. Я ведь нигде не писал что ячеек памяти программы 120 = 105 + 15 регистров. Было написано другое, из чего ты ДОДУМАЛ что я чего то приплюсовываю.

S>Ты написал "105 ячеек да еще 15 регистров", я и подумал что ты их используешь примерно одинаково.

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

I>>Лень вспоминать, хотя вобщем у родителей еще недавно видел этот букварик по мк61, и заглядывал в в него чисто поностальгировать

I>>http://ru.wikipedia.org/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D0%B8_%D0%BF%D0%BE%D0%B1%D0%BE%D1%87%D0%BD%D1%8B%D0%B5_%D0%B2%D0%B5%D1%82%D0%B2%D0%B8
S>Вот об этих циклах я и понятия не имел. Помню лишь необъяснимое поведение в хвосте ячеек команд.

Слабовато копал.
Re[73]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 26.10.12 08:22
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


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

S>>Судя по всему твои объяснения ничего не подтверждали, вот и стебался.

I>Что бы чтото понять, одних умственных усилий обычно недостаточно.

Там обошлось даже без усилий

S>>Вот об этих циклах я и понятия не имел. Помню лишь необъяснимое поведение в хвосте ячеек команд.


I>Слабовато копал.

У меня в 14 были и другие заботы
Re[74]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.10.12 10:51
Оценка:
Здравствуйте, samius, Вы писали:

I>>Что бы чтото понять, одних умственных усилий обычно недостаточно.

S>Там обошлось даже без усилий

Заметно.

I>>Слабовато копал.

S>У меня в 14 были и другие заботы

Алкоголь наверное ?
Re[52]: Императивное программирование
От: vdimas Россия  
Дата: 26.10.12 14:26
Оценка:
Здравствуйте, samius, Вы писали:

S>Кроме того, в базисе СП нет ни слова про "возвращать значения". Базис СП опирается на стейтменты, суть которых — изменять состояние программы. А возвращать стейтменты ничего не обязаны.


Очередное заблуждение. Основными блоками СП-программы являются процедуры и ф-ии.


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


V>>Сам кури. Что курить — я уже говорил. Состояние можно разложить на пространства. В конкретных ветках эти пространства могут не пересекаться.

S>То что они могут не пересекаться — это твои личные проблемы.

Смысл вообще спорить, если ты даже не вдумываешься, что тебе пишут?


S>Наличие изменяемого состояния в тексте программы трактуется определением как императив.


И что? Состояние целиком слишком огромно. Каждый раз идет модификация лишь части этого состояния. Реальную императивную программу можно разложить на слишком больше кол-во независимых автоматов. Это не противоречит определению императива, зато противоречит твоему представлению, что императив непременное зло, так ведь?


V>>Угу, и опять, видимо, пропустил...

V>>Так не было ничего? ))
S>Экое у тебя избирательное внимание

Ну да. Это всё равно что ты настойчиво просил человека откликнуться, а когда спросили — "ну чего тебе?", в ответ — "да ничего...". Завязывай с травой, кароч.


V>>Это нормальная оценка, см. сниппеты: http://www.rsdn.ru/forum/philosophy/4932310.1
Автор: vdimas
Дата: 17.10.12

V>>В отсутствии оперирования глобальными/статическими переменными я бы дал оценку до 90% и выше для ситуаций обработки любых данных, видимых лишь из одного потока.
S>Во-первых ты забыл оперирование полями,

Ну и что у тебя не так с полями?


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


1. Очередная брехня (не натягивай свой опыт на других).

2. Опять и снова курить теорию автоматов. Конечные автоматы детерминированы, увы. Даже грязная императивная программа, использующая только глобальные переменные — обязательно детерминирована, будучи однопоточна, либо при гарантиях, когда к каждой уникальной глобальной переменной обращается лишь один поток (С — declspec(thread), C# — ThreadStaticAttribute, Threadlocal<T>). Собсно, бери даже ООП и COM на нём же. STA-объекты можно рассматривать как независимые детерминированные программы из-за тех самых гарантий.

Именно поэтому я откровенно ржу с таких заяв:

А как только ты избавляешься от побочных эффектов и устремляешься к детерминированности, ты приближаешься к ФП-style.

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

Помнишь тот мой спор с Синклером насчет const и pure-модификатора в некоторых императивных языках? Не читал? Могу дать ссылку.


S>Если в ФП такое оперирование сильно портит жизнь, то в ИП оно является фактически нормой. Так что, к чему ты собрался применять оценку до 90% — для меня неочевидно. Может быть для << 1% случаев, когда в программе действительно отсутствует оперирование глобальными и т.п. полями?


Еще раз для тех, кто в танке. Я действительно уже 100 лет не видел императивной программы с изменяемыми глобальными переменными. В статическом виде принято хранить лишь однократно-инициализируемые, то бишь иммутабельные, данные. Я же вижу, что у тебя какое-то левое представление о том, как оно обычно бывает.


V>>Коль обсуждали все эти переупорядочивания, то идешь сейчас ты.

S>То что мы обсуждали переупорядочивания не делает оптимизаторы аргументом в пользу происхождения ФП от СП. Потому идти тебе.

Ах, ты об этом. Ну дык, я думал спор о том, что фП произошел от СП давно закончился моей полной и беззаговорочной победой.
Вот последнее сообщение на эту тему: http://www.rsdn.ru/forum/philosophy/4940409.1
Автор: vdimas
Дата: 24.10.12


Из популярных ФП языков 100% являются не-СП языками вроде бы всего два: это Хаскель и Эрланг. Это слишком мало, чтобы хоть как-то влиять на статистику и они оба слишком молоды в сравнении с ФП-парадигмой, чтобы рассуждения о происхождении ФП на их примере не были бы слишком смешными. Смирись. ФП уже де-факто произошло от СП. Всё уже случилось и ты не переиграешь произошедшего. )))


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

S>Я соглашусь с тем что существует императивная программа (или возможность ее написать), в которой влияние состояний будет не больше, чем в некоторой (но не любой) аналогичной функциональной программе.

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


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


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


S>Не говоря о том, что для типичных ИП программ ни твоя ни моя редакции этого тезиса не справедливы.


Типичные ИП программы на сегодня — это ООП программы. А для них твой тезис действительно, мягко говоря из области "все вокруг идиоты". Не заносит ли тебя?


S>Обсуждать ИП, усиленное требованием отсутствия влияний состояний, мне что-то не хочется.


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

S>>>А как только ты избавляешься от побочных эффектов и устремляешься к детерминированности, ты приближаешься к ФП-style.

V>>Никоим образом не устремляюсь. В сниппетах показал — почему.
S>И что же в них недетерминировано?

В них никакого ФП, но сплошная мутабельность. Причем, я показал вырожденные примеры. Эту мутабельность можно смело выносить за рамки методов, если сами методы снабдить модификаторами pure как в языке D или как я предлагал аналогичный модификатор clean для C++. Будет тоже самое, что в сниппетах — отсутствие скрытого влияния состояний друг на друга. Что и требовалось.
Re[39]: Императивное программирование
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.10.12 18:24
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Для Схемы не может. Целое число там не ограничено.

Омг, омг. Это, конечно же, полностью перечёркивает мой аргумент.

V>В любом случае, если компилятор может делать какие-то частичные вычисления (путь даже вычислит первые 12 значений для Схемы), это никак не служит док-вом или даже иллюстрацией к общему случаю, когда компилятор таких вещей делать не может. А мне во всех этих рассуждениях любопытен именно второй вариант, ес-но.

Ну так речь как раз о том, где кончаются способности компилятора в общем случае. Императивный компилятор в общем случае вообще не может применять никаких оптимизаций — потому что хрен его знает, зачем программист так написал. Может, там другой поток крутится, который должен иногда наблюдать ровно вот такое изменение состояния, которое кажется бессмысленным. Современные императивные языки предлагают конвенции по управлению этим процессом — скажем, считается, что в локальном коде нет неявных зависимостей, пока я не указал volatile.
Но это — всего лишь локальный код. Как только мы выходим за пределы локального кода, начинаются туман и драконы.
Да, в исследования этого тумана вкачаны огромные средства — что и позволяет вам наблюдать эффекты оптимизации в императивных языках. Решаются некоторые частные проблемы.
Однако, скажем, мне неизвестен компилятор С++, способный превратить OutFirstNFib в O(n) алгорим автоматически:
void OutFirstNFib(uint N)
{
  for(uint i=1; i<=N; i++)
    std:cout << Fib(N);
}

uint Fib(uint n)
{
   return n < 3? 1 : Fib(n-1) + Fib(n-2);
}


Для того, чтобы компилятор мог эффективно работать в общем случае, нужны явные зависимости. Речь не о частичных вычислениях, речь о построении эффективной стратегии выполнения декларативного кода. ФП — это когда функция параметризована функцией, обрабатывающей функцию. Всё, что тут может предложить ИП — спекулятивная оптимизация. В лучшем случае — хотспоттинг.
Вопросы о том, увидим ли мы прорыв в области ФП до нашей смерти, существенно зависят от банального финансирования.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.