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

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


I>>>Я уже объяснил внятно — возможности системы образования в краткосрочной перспективе сильно ограничены. Если нужны спецы здесь и сейачс есть только один единственный выход — импортировать.

S>>Это только один из выходов. И в долгосрочной перспективе он означает обширный экспорт доморощенных спецов. Мы его наблюдаем? Я- нет.

I>Ты чего то попутал. С какого бодуна штаты вдруг начнут экспортировать спецов ? Сам посмотри — чуть не все высокотехнологичные конторы, сконцентрированы в США.

С твоего бодуна. Если бы США готовило достаточное для своих нужд количество специалистов и плюс к тому бы импортировало, то им пришлось бы так же и экспортировать их. Либо топить своих специалистов как котят в унитазе.
I>Производство можно и в китай отдать, а для спецов проще создать условия, что бы новые конторы плодились.
Спецов можно и в Индии/Украине прикармливать а себе оставить управление/маркетинг.
Но речь лишь о том что они выпускают спецов меньше чем могли бы проглотить. Потому твой пример с США идет лесом. Индия может быть твой идеал?

S>>Это не повод считать что сикп не пролезет.


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

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

S>>Это значит что бетаредукцией они владеют в некоторой степени.

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

I>Я думаю что ты и накричать не сможешь

Проницательный, блин

S>>Еще каким боком. ИТ-шники уезжают работать не на заправку ведь и не швеями-мотористками. Подумай об этом.


I>Вобще говоря ты прав — что бы ИТ-специалисты не уезжали за границу, нужно всего навсего перестать их готовить, утечка мозгов внезапно остановится.

Или готовить таких, что звать перестанут.

S>>Не больше уравниловка, чем спущенаая сверху вышка или философия.


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

Куда задрать? Сикп не просит математики выше 5-го класса. Ну или там не помню, метод Ньютона в каком классе проходят. Даже если не пройден, в том же сикпе его и разжовывают.

S>>Вопрос был к тебе. Это твой ответ про то что все идет к обвалу и рост ЗП симптом тому.


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

Что за вопрос?

S>>Раз точно, то насыщением/обвалом не пахнет, не находишь?


I>Да, завтра его точно не будет, ты прав.

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

I>>>Рынок греют не наглецы, а бизнес который платит за результат. Бизнес этот никогда не будет платить тупо за наглость, им результат нужен.

S>>Противоречие не видишь?

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

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

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


S>>Такое ощущение что Обама не читал мой вопрос и отвеал на что-то другое


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

Тогда я не буду считать его ответ ответом на мой вопрос.
Re[38]: Императивное программирование
От: vdimas Россия  
Дата: 21.10.12 01:00
Оценка:
Здравствуйте, artelk, Вы писали:

V>>В первой ветке константа, там нечего вычислять. Вторая гораздо интереснее.

A>А как же "2. Если предикат вычислен, то успешная ветка тоже обязательно будет вычислена."?

Ну дык константа и будет вычислена. "Нечего вычислять" там было в плане выч-ресурсов в сравнении с другой веткой.

A>Вот, еще реализация придумалась:


Поторопимшись.

A>Запускаем 2 потока для веток

A>Ждем случайное (например, в интервале [0, С1+arg*С2]) количество тактов процессора

Не можешь ты этого делать в SMP.

A>Вычисляем предикат

A>В зависимости от значения предиката, останавливаем поток ненужной ветки (если он еще работает)
A>Ждем поток нужной ветки (если еще не отработал)
A>Берем результат из потока нужной ветки и возвращаем

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


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

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

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

В общем, смотреть до посинения на факториал и думать, что будет происходить на КАЖДОМ шаге в случае твоего варианта ветвления. Потом вспомнить, что реальных программах ветвление поразвесистей обычно, то бишь показатель степень поболе 2-х будет... Потом опять вернуться к моему вопросу насчет распределения выч. ресурсов. Мне как-то сложно представить в обозримом будущем (ближайшие много десятилетий), что на холостые ветки исполнения можно будет тратить на многие порядки больше ресурсов, чем на целевые. В это упираемся и я сразу же об этом спросил. И вопрос пока в силе.
Re[38]: Императивное программирование
От: vdimas Россия  
Дата: 21.10.12 01:05
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>В частности, императивная версия функции fac(), построенная компилятором, вполне может выглядеть вот так:


Для Схемы не может. Целое число там не ограничено.
В любом случае, если компилятор может делать какие-то частичные вычисления (путь даже вычислит первые 12 значений для Схемы), это никак не служит док-вом или даже иллюстрацией к общему случаю, когда компилятор таких вещей делать не может. А мне во всех этих рассуждениях любопытен именно второй вариант, ес-но.
Re[42]: Императивное программирование
От: vdimas Россия  
Дата: 21.10.12 01:23
Оценка:
Здравствуйте, samius, Вы писали:

V>>Я не могу точно знать кто от кого произошел в теории, ес-но, хотя бы потому, что речь о практических парадигмах (лямда-исчисление и ФП-парадигма — это не совсем одно и то же). К тому же, вложение областей видимости в СП (основа основ СП) — это один-в-один вложение лямбд без явно объявленных связываемых аргументов (вспомни споры о "замыканиях" в Паскале). Именно так. Просто, коль речь о практических парадигмах в программировании, то СП утряслось в языках раньше чистого ФП. Более того, все первые ФП-языки относились скорее к СП-языкам, у которых дополнительно к СП появились ФВП (например, Lisp, APL, ML).

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

Ну дык оно в силе. См. выделенное очень внимательно... настолько внимательно, насколько сможешь.

S>Что за чушь? Я тебя просил не чистые функции с мутацией локальных переменных, а if/for/; с чистыми стейтментами, т.е. такими, которые не изменяют внешнее состояние.


Я привел тебе именно такие примеры.

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


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


V>>Специально расписал на промежуточных мутабельных переменных, чтобы показать, что мутабельность не значит отсутствия чистоты вычислений. Я тебе ссылку на определение чистоты вычислений уже давал, помнится.

S>Печально что ты не смог применить определение к ветке if-а.

Печально, что ты не понимаешь такого простого и одновременно такого ёмкого определения.
Помочь разобрать его по шагам применительно к моим примерам? Выбирай любуую ветку if любого примера — я поясню происходящее.


V>>Тогда фиг с ним.

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

Возьми для примера Немерле. Там имутабельные переменные, но на них выражается вычислительный процесс явным образом. То бишь, тот же самый императив.


V>>Могут...

S>Ты не показал

Ты просто убежал в очередной раз. Заканчивай уже бегать. Я привел примеры, давай их разбирать. Я пока еще не воткнул, в чём именно у тебя сложности с их пониманием. Насчет "чистых веток if" — это какой-то бред, ведь в императиве эти ветки не могут быть исполнены в отрыве от контекста. То бишь, чистота веток напрямую зависит от чистоты контекста. Если контекст детерминирован относительно потока вычисления, то ветки if автоматом детерминированы, если исполняются в том же потоке.


V>>ФП стало слишком модным, многие в него подавшиеся не совсем отчетливо понимают, о чем идёт речь и для всё это было надо.

S>По-моему ты не совсем отчетливо понимаешь, в частности смысл теоремы Б/Я

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

V>>Я назвал наблюдаемыми те вычисления, которые влияют на конечный результат.

S>Я не понимаю тебя.

)))


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


V>>Не надоело подставляться?

S>Твои же штучки

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


V>>Может, ес-но. А может и нет. А в ПМ всегда жопа, когда есть зависимость от результата распаковки абстрактного типа.

S>То есть как и в if, в ПМ жопа не всегда

Да, её нет при операциях с вырожденными значениями алг.тд. В невырожденном случае — всегда.


V>>Ну дык не все ветки ПМ юзают распакованные значения. Как крайний случай — смотри ПМ по некоему enum. Там простое ветвление, как на if.

S>Теперь понял, но отличий от if от этого не прибавилось.

В вырожденном случае ПМ вообще никаких отличий от if, ес-но. Медитировать надо над невырожденным.
Re[39]: Императивное программирование
От: artelk  
Дата: 22.10.12 06:40
Оценка: +1
Здравствуйте, vdimas, Вы писали:

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


A>>А как же "2. Если предикат вычислен, то успешная ветка тоже обязательно будет вычислена."?

V>Ну дык константа и будет вычислена.
Т.е. первая ветка может быть вычислена до предиката.
V>"Нечего вычислять" там было в плане выч-ресурсов в сравнении с другой веткой.
И что это доказывает?

A>>Вот, еще реализация придумалась:

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

A>>Ждем случайное (например, в интервале [0, С1+arg*С2]) количество тактов процессора

V>Не можешь ты этого делать в SMP.
Какая разница?

A>>Берем результат из потока нужной ветки и возвращаем

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

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

V>Твоя реализация с потоками не работает.
V>- нельзя останавливать вычислительный поток извне ср-вами ОС, можно только через прикладные "ловушки". То бишь, код дополнительного (любого) потока должен содержать ссылку на уникальный контекст вычислений и постоянно проверять, что котекст не помечен как ненужный.
И что мешает его иметь?
V>- нет никаких гарантий (вообше никаких), что потребляющие ресурсы комбинаторно взрывающиеся ложные комбинации дадут хоть какой-то шанс отработать правильным веткам. В общем случае мощность мн-ва правильных путей исполнения на многие-многие-многие порядки меньше, чем мощность мн-ва неправильных. И чем дальше работают неправильные ветки, тем хуже становится это соотношение со страшной степенной скоростью.
И что?
V>В общем, смотреть до посинения на факториал и думать, что будет происходить на КАЖДОМ шаге в случае твоего варианта ветвления. Потом вспомнить, что реальных программах ветвление поразвесистей обычно, то бишь показатель степень поболе 2-х будет... Потом опять вернуться к моему вопросу насчет распределения выч. ресурсов. Мне как-то сложно представить в обозримом будущем (ближайшие много десятилетий), что на холостые ветки исполнения можно будет тратить на многие порядки больше ресурсов, чем на целевые. В это упираемся и я сразу же об этом спросил. И вопрос пока в силе.
Налицо ignoratio elenchi. Вопрос был о возможности, а не о производительности.
Re[40]: Императивное программирование
От: vdimas Россия  
Дата: 22.10.12 09:23
Оценка: -1
Здравствуйте, artelk, Вы писали:

A>>>А как же "2. Если предикат вычислен, то успешная ветка тоже обязательно будет вычислена."?

V>>Ну дык константа и будет вычислена.
A>Т.е. первая ветка может быть вычислена до предиката.
V>>"Нечего вычислять" там было в плане выч-ресурсов в сравнении с другой веткой.
A>И что это доказывает?

Что некритично. Нерекурсивные ветки вообще некритично параллелить, ес-но. Но это слишком частный случай для чистого ФП, где нет других механизмов кроме ветвления на ПМ и рекурсии.

A>>>Вот, еще реализация придумалась:

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

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


A>>>Ждем случайное (например, в интервале [0, С1+arg*С2]) количество тактов процессора

V>>Не можешь ты этого делать в SMP.
A>Какая разница?

Для сфероконей — никакая. А для реальной обстановки в IT вплоть до твоей смерти, как профессионала — разница оч. большая.

A>>>Берем результат из потока нужной ветки и возвращаем

V>>Опять ты всё это не можешь без потери детерминированности.
V>>Кароч, когда параллелишь руками, то ты сразу расчитываешь на недетерминированное поведение (даже лень перечислять всевозможные ситуации). А если речь о чистых ф-иях, то какое нафик недетерминированное?
A>Чё?

Ээээ... тебе тоже дать ссылку на определение чистоты вычислений? Или сам найдешь?


V>>- нельзя останавливать вычислительный поток извне ср-вами ОС, можно только через прикладные "ловушки". То бишь, код дополнительного (любого) потока должен содержать ссылку на уникальный контекст вычислений и постоянно проверять, что котекст не помечен как ненужный.

A>И что мешает его иметь?

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


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

A>И что?

Действительно... Подумаешь, NP-проблема в условиях конечного SMP-вычислителя.


V>>В общем, смотреть до посинения на факториал и думать, что будет происходить на КАЖДОМ шаге в случае твоего варианта ветвления. Потом вспомнить, что реальных программах ветвление поразвесистей обычно, то бишь показатель степень поболе 2-х будет... Потом опять вернуться к моему вопросу насчет распределения выч. ресурсов. Мне как-то сложно представить в обозримом будущем (ближайшие много десятилетий), что на холостые ветки исполнения можно будет тратить на многие порядки больше ресурсов, чем на целевые. В это упираемся и я сразу же об этом спросил. И вопрос пока в силе.


A>Налицо ignoratio elenchi. Вопрос был о возможности, а не о производительности.


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

Жгите еще, попкорном я уже запасся.

===================
Мне лень ждать твоей следующей итерации с уточнениями алогоритма, бо я уже примерно понял ход твоих рассуждений... Как только ты ограничишь "предпросмотр" чем-то более детерминированным, чем контроль одного выч. потока из другого, ты обнаружишь ту самую упорядоченность вычислений, о которой всё время шла речь. А торговля будет идти лишь о глубине "заглядывания вперед", которое (само это заглядывание) будет точно так же упорядочиваться скоростью вычислений предикатов основного потока. Очередное муахахаа.. )))
Re[43]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 22.10.12 10:10
Оценка:
Здравствуйте, vdimas, Вы писали:

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


V>>>Я не могу точно знать кто от кого произошел в теории, ес-но, хотя бы потому, что речь о практических парадигмах (лямда-исчисление и ФП-парадигма — это не совсем одно и то же). К тому же, вложение областей видимости в СП (основа основ СП) — это один-в-один вложение лямбд без явно объявленных связываемых аргументов (вспомни споры о "замыканиях" в Паскале). Именно так. Просто, коль речь о практических парадигмах в программировании, то СП утряслось в языках раньше чистого ФП. Более того, все первые ФП-языки относились скорее к СП-языкам, у которых дополнительно к СП появились ФВП (например, Lisp, APL, ML).

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

V>Ну дык оно в силе. См. выделенное очень внимательно... настолько внимательно, насколько сможешь.

Увы мне тебя нечем порадовать. Ты даже haskell считаешь СП, чего уж говорить о первых ФП-языках.

S>>Что за чушь? Я тебя просил не чистые функции с мутацией локальных переменных, а if/for/; с чистыми стейтментами, т.е. такими, которые не изменяют внешнее состояние.


V>Я привел тебе именно такие примеры.

Да нет, не привел. Либо ты не понял, что я от тебя хочу, либо кривляешься.

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


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

Это у тебя серьезные проблемы. Я с тебя просил вот это
http://en.wikipedia.org/wiki/Pure_function#Pure_expressions

Извини что стейтментами назвал, но if/loop/sequence не работают с выражениями.


V>>>Специально расписал на промежуточных мутабельных переменных, чтобы показать, что мутабельность не значит отсутствия чистоты вычислений. Я тебе ссылку на определение чистоты вычислений уже давал, помнится.

S>>Печально что ты не смог применить определение к ветке if-а.

V>Печально, что ты не понимаешь такого простого и одновременно такого ёмкого определения.

V>Помочь разобрать его по шагам применительно к моим примерам? Выбирай любуую ветку if любого примера — я поясню происходящее.
В детский сад со своими примерами. Это не то, что я просил.

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


V>Возьми для примера Немерле. Там имутабельные переменные, но на них выражается вычислительный процесс явным образом. То бишь, тот же самый императив.

Ты не понимаешь, что такое императив. Походу не справился с определением.

V>Ты просто убежал в очередной раз. Заканчивай уже бегать. Я привел примеры, давай их разбирать. Я пока еще не воткнул, в чём именно у тебя сложности с их пониманием. Насчет "чистых веток if" — это какой-то бред, ведь в императиве эти ветки не могут быть исполнены в отрыве от контекста. То бишь, чистота веток напрямую зависит от чистоты контекста. Если контекст детерминирован относительно потока вычисления, то ветки if автоматом детерминированы, если исполняются в том же потоке.

см pure expression

S>>По-моему ты не совсем отчетливо понимаешь, в частности смысл теоремы Б/Я


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

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

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


V>>>Не надоело подставляться?

S>>Твои же штучки

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

Как бы там ни было, это не аргумент

V>Да, её нет при операциях с вырожденными значениями алг.тд. В невырожденном случае — всегда.

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

V>В вырожденном случае ПМ вообще никаких отличий от if, ес-но. Медитировать надо над невырожденным.

Медитируй — не медитируй, страшнее жопы (достижимой в if) там ничего не будет.
Re[56]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 22.10.12 12:44
Оценка:
Здравствуйте, samius, Вы писали:

I>>Ты чего то попутал. С какого бодуна штаты вдруг начнут экспортировать спецов ? Сам посмотри — чуть не все высокотехнологичные конторы, сконцентрированы в США.

S>С твоего бодуна. Если бы США готовило достаточное для своих нужд количество специалистов и плюс к тому бы импортировало, то им пришлось бы так же и экспортировать их. Либо топить своих специалистов как котят в унитазе.

Экспорт вобщем есть, но им можно пренебречь. В штатах при этом идут другим путем — создавают новые рабочие места, что проще и эффективнее. Ты про это почему то не хочешь думать.

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

S>Спецов можно и в Индии/Украине прикармливать а себе оставить управление/маркетинг.

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

S>Но речь лишь о том что они выпускают спецов меньше чем могли бы проглотить. Потому твой пример с США идет лесом. Индия может быть твой идеал?


Отдыхай.

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

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

Поясняю простую мысль — кафедры в тех вузах которые ты называешь ПТУ способны максимум скудную методичку родить. Для сикп это вообще _ничего_.

I>>И откуда уверенность, что этого уровня владения достаточно для программирования ?

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

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

I>>Вобще говоря ты прав — что бы ИТ-специалисты не уезжали за границу, нужно всего навсего перестать их готовить, утечка мозгов внезапно остановится.

S>Или готовить таких, что звать перестанут.

Это одно и то же — похоронить образование. Это и есть твое предложение ?

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

S>Куда задрать? Сикп не просит математики выше 5-го класса. Ну или там не помню, метод Ньютона в каком классе проходят. Даже если не пройден, в том же сикпе его и разжовывают.

В 5м классе, повторяю еще раз, только начинают давать те вещи, которые понадобятся при обучении программированию. Внимание, повторяю в который раз — 5й класс это тоьлко начало !!!

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

Тебе, вероятно, невдомёк, но раньше 16 лет у ребенка мышление еще не сформировано полностью, при чем не сформировано именно то, чем пользуется программист как и любой инженер как и вообще любой специалист умственного труда — операционное мышление. До 16 лет его просто нет по большому счету.

Если ты с этим не согласен — вперёд, обучай детей программированию с 5го класса и показывай результаты и становись в очередь за нобелевкой.

Раньше тут выбегал Синклер и доказывал что это именно я предлагаю давать всем детям программирование в 5м классе.

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

S>Что за вопрос?

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

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


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


Я уловил другую твою мысль о том что вузы в штатах полностью покрывают их потребности. Ее и опровергаю. Но тут подвернулась еще одна, видимо новые рабочие места создаются только в штатах, но никак ни на пост СССР. Или я опять что-то не понял в твоей теории?

S>>Спецов можно и в Индии/Украине прикармливать а себе оставить управление/маркетинг.


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

И что?

S>>Но речь лишь о том что они выпускают спецов меньше чем могли бы проглотить. Потому твой пример с США идет лесом. Индия может быть твой идеал?


I>Отдыхай.

Спасибо за заботу, я уже с новыми силами.

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


I>Поясняю простую мысль — кафедры в тех вузах которые ты называешь ПТУ способны максимум скудную методичку родить. Для сикп это вообще _ничего_.

Поясняю еще более простую мысль. РОЖАТЬ НЕ НАДО.

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


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

Сантехник это не диагноз и не каста, что б ты знал. Это всего лишь специальность. Не надо ставить клеймо на человеке на основе его специальности.

S>>Или готовить таких, что звать перестанут.


I>Это одно и то же — похоронить образование. Это и есть твое предложение ?

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

S>>Куда задрать? Сикп не просит математики выше 5-го класса. Ну или там не помню, метод Ньютона в каком классе проходят. Даже если не пройден, в том же сикпе его и разжовывают.


I>В 5м классе, повторяю еще раз, только начинают давать те вещи, которые понадобятся при обучении программированию. Внимание, повторяю в который раз — 5й класс это тоьлко начало !!!

Повторю еще раз. Я не предлагаю давать сикп в 5м классе. Давай уже закроем эту тему. Это ТЫ предлагаешь давать сикп в 5м классе. Я возражаю.

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

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

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

Нет невдомек. В 14 я уже владел в значительной мере программированием на МК-61.

I>Если ты с этим не согласен — вперёд, обучай детей программированию с 5го класса и показывай результаты и становись в очередь за нобелевкой.

Еще раз. Это ТВОИ идеи обучать программированию с 5-го класса. Никто кроме тебя на форуме об этом не говорит.

I>Раньше тут выбегал Синклер и доказывал что это именно я предлагаю давать всем детям программирование в 5м классе.

А что, разве это не очевидно? Именно ты, да-да.

S>>Что за вопрос?


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

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

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


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


"ощутимый выхлоп на общем фоне"
Как же ты любишь передёргивать

>Ее и опровергаю. Но тут подвернулась еще одна, видимо новые рабочие места создаются только в штатах, но никак ни на пост СССР. Или я опять что-то не понял в твоей теории?


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

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

S>И что?

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

I>>Поясняю простую мысль — кафедры в тех вузах которые ты называешь ПТУ способны максимум скудную методичку родить. Для сикп это вообще _ничего_.

S>Поясняю еще более простую мысль. РОЖАТЬ НЕ НАДО.

Ну да, сикп сам заработает, ага. Эдакая "невидимая рука" наведет порядок в вузе, создаст всю инфраструктуру и выстроит процесс. Посмотри старые курсы по СИКП, там вроде понятно, что кафедре надо приложить вагон усилий, что бы это работало. Кафедры в тех вузах, про которые мы говорим, на такое не способны. У них сил еле на методички хватает, а это для сикп вообще 0.

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

S>Сантехник это не диагноз и не каста, что б ты знал. Это всего лишь специальность. Не надо ставить клеймо на человеке на основе его специальности.

Сантехник это просто результат особенностей мышления, если отбросить социальные факторы как безработица и алкоголизм.

I>>Это одно и то же — похоронить образование. Это и есть твое предложение ?

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

Ну ладно, ты отмазался

I>>В 5м классе, повторяю еще раз, только начинают давать те вещи, которые понадобятся при обучении программированию. Внимание, повторяю в который раз — 5й класс это тоьлко начало !!!

S>Повторю еще раз. Я не предлагаю давать сикп в 5м классе. Давай уже закроем эту тему. Это ТЫ предлагаешь давать сикп в 5м классе. Я возражаю.

Я тебе объясняю что твои рассуждения про 5й класс вообще бред вне категорий

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

I>>При этом, полностью этой математикой овладевают примерно к окончанию школы, и то, совсем небольшая часть людей.
S>Значительная часть людей программу школы осваивают. А те, кто выходит со справкой вместо аттестата, меня мало интересуют.

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

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

S>Нет невдомек. В 14 я уже владел в значительной мере программированием на МК-61.

По рецептам + решение тривиальных задач.

I>>Если ты с этим не согласен — вперёд, обучай детей программированию с 5го класса и показывай результаты и становись в очередь за нобелевкой.

S>Еще раз. Это ТВОИ идеи обучать программированию с 5-го класса. Никто кроме тебя на форуме об этом не говорит.

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

I>>Раньше тут выбегал Синклер и доказывал что это именно я предлагаю давать всем детям программирование в 5м классе.

S>А что, разве это не очевидно? Именно ты, да-да.

Это сарказм. Если такое слово для тебя с Синклером в новинку, то это не ко мне.
Re[44]: Императивное программирование
От: vdimas Россия  
Дата: 22.10.12 18:38
Оценка:
Здравствуйте, samius, Вы писали:

V>>Ну дык оно в силе. См. выделенное очень внимательно... настолько внимательно, насколько сможешь.

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

Блин, до брехни скатываться не стоило. Покажи, где я считаю Хаскель СП? Я лишь высказываюсь относительно нечистых конструкций, вшитых в этот язык (в современный его вариант и в его расширения). А первые ФП-языки действительно являются классическими СП-языками, со всеми знакомыми тебе императивными циклами, ветвлениями, переменными и прочим. От ФП там только ФВП. Поэтому, тезис о том, что ФП произошло от СП ес-но в силе. Твоему Хаскелю в его нынешнем виде дай бог десяток лет или меньше, так что заканчивай во всех этих спорах, кто от кого произошел, приводить его в пример.

V>>Я привел тебе именно такие примеры.

S>Да нет, не привел. Либо ты не понял, что я от тебя хочу, либо кривляешься.

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

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

S>Это у тебя серьезные проблемы. Я с тебя просил вот это
S>http://en.wikipedia.org/wiki/Pure_function#Pure_expressions

Я знаю, что ты у меня спросил. Жаль что ты не знаешь. Читай там же:

Pure expressions are often referred to as being referentially transparent.

Я тебе это показал.

S>Извини что стейтментами назвал, но if/loop/sequence не работают с выражениями.


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



V>>>>Специально расписал на промежуточных мутабельных переменных, чтобы показать, что мутабельность не значит отсутствия чистоты вычислений. Я тебе ссылку на определение чистоты вычислений уже давал, помнится.

S>>>Печально что ты не смог применить определение к ветке if-а.

V>>Печально, что ты не понимаешь такого простого и одновременно такого ёмкого определения.

V>>Помочь разобрать его по шагам применительно к моим примерам? Выбирай любуую ветку if любого примера — я поясню происходящее.
S>В детский сад со своими примерами. Это не то, что я просил.

Именно то. Просто налицо непонимание св-в чистоты вычислений.

V>>Возьми для примера Немерле. Там имутабельные переменные, но на них выражается вычислительный процесс явным образом. То бишь, тот же самый императив.

S>Ты не понимаешь, что такое императив. Походу не справился с определением.

Я же сказал — курить теорию автоматов. Без неё понимание императива нереально.


V>>Ты просто убежал в очередной раз. Заканчивай уже бегать. Я привел примеры, давай их разбирать. Я пока еще не воткнул, в чём именно у тебя сложности с их пониманием. Насчет "чистых веток if" — это какой-то бред, ведь в императиве эти ветки не могут быть исполнены в отрыве от контекста. То бишь, чистота веток напрямую зависит от чистоты контекста. Если контекст детерминирован относительно потока вычисления, то ветки if автоматом детерминированы, если исполняются в том же потоке.

S>см pure expression

Сам смотри внимательней. И заканчивай ты уже этот пинг-понг пустыми постами. Возьми за труд хоть немного помедитировать над ответными аргументами. Все входы и выходы уже даны. См. мой предыдущий пост.

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

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

Дык, тем хуже для тебя.
Вопросы на засыпку:
— что я имел ввиду под "контекстом вычислений" в этом абзаце?
— при чем тут детерминированность и куда она может пропасть в императиве?
— приведи пример пропадания детерминированности?
— если справишься с пред. пунктом, попробуй натянуть изобретенный пример(ы) на любой из моих. Получилось?

Если пройдешь этот квест, поймешь о чем речь.


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

S>Как бы там ни было, это не аргумент

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


V>>Да, её нет при операциях с вырожденными значениями алг.тд. В невырожденном случае — всегда.

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

Да какая нафик твоя поправка. Читай оригинал еще раз внимательнее:

Это я еще молчу о ветвлении на паттерн-матчинге, где в реальности сейчас происходит реинтерпретация памяти в общем случае, согласно значению дискриминанта алг-типа.


Твою поправку (якобы поправку) я выделил. Всё было сказано сразу.

V>>В вырожденном случае ПМ вообще никаких отличий от if, ес-но. Медитировать надо над невырожденным.

S>Медитируй — не медитируй, страшнее жопы (достижимой в if) там ничего не будет.

А зря, помедитировать стоило бы. Если в if жопа может быть как результат каких-то затратных вычислений (иначе зачем бы параллелить), то в случае распаковки значений на ПМ получаем жопу как аргумент вычислений еще до их начала. А факт игнорирования аргумента (куда может придти жопа) должен обнаруживаться еще на этапе бета-редукции (у нас же детерминированные вычисления). В общем, если после бета-редукции таки осталась зависимость от жопы, то смысла продолжать вычисления в 99% нет. Остальные 1% я даю как погрешность, связанную с недостаточной реализацией бета-редукции. Хотя, в идеальном абстрактном мире, о котором шла речь в этих фантазиях, и бета-редукция должна быть идеальной. )))
Re[59]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 23.10.12 23:25
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


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


I>"ощутимый выхлоп на общем фоне"

I>Как же ты любишь передёргивать
Ладно, слово "ощутимый" можно трактовать по-разному.

>>Ее и опровергаю. Но тут подвернулась еще одна, видимо новые рабочие места создаются только в штатах, но никак ни на пост СССР. Или я опять что-то не понял в твоей теории?


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

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

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

S>>И что?

I>Это значит, что экспортировать специалистов крайне не выгодно, а выгодно создавать условия, что бы создавались новые рабочие места. Если в раткосрочной перспективе система образования не справится, что очевидно, то есть выход — импорт.

Мы уже были тут. Очевидно что их система образования излишек специалистов не выпускает и потребности штатов покрываются как их специалистами, так импортными, еще и в оффшор толпа проектов улетает.

S>>Поясняю еще более простую мысль. РОЖАТЬ НЕ НАДО.


I>Ну да, сикп сам заработает, ага. Эдакая "невидимая рука" наведет порядок в вузе, создаст всю инфраструктуру и выстроит процесс. Посмотри старые курсы по СИКП, там вроде понятно, что кафедре надо приложить вагон усилий, что бы это работало. Кафедры в тех вузах, про которые мы говорим, на такое не способны. У них сил еле на методички хватает, а это для сикп вообще 0.

Ты все еще про ПТУ? Завязывай уже.

S>>Сантехник это не диагноз и не каста, что б ты знал. Это всего лишь специальность. Не надо ставить клеймо на человеке на основе его специальности.


I>Сантехник это просто результат особенностей мышления, если отбросить социальные факторы как безработица и алкоголизм.

ну а если факторы не отбрасывать, то среди сантехников несложно найти докторов наук.

S>>Повторю еще раз. Я не предлагаю давать сикп в 5м классе. Давай уже закроем эту тему. Это ТЫ предлагаешь давать сикп в 5м классе. Я возражаю.


I>Я тебе объясняю что твои рассуждения про 5й класс вообще бред вне категорий

аргументы будут?

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


I>Эта "значительная часть" всего процентов 10

у вас 90% выпускников оканчивает школу со справкой? Жесть.
I>а из них только каждый 10й может работать в ИТ.
То есть уже 1 из 100...

S>>Нет невдомек. В 14 я уже владел в значительной мере программированием на МК-61.


I>По рецептам + решение тривиальных задач.

Не, ну ты же всегда можешь сказать что я всю жизнь решаю тривиальные задачи по рецептам. Потому это не аргумент. А потом, когда мне было 14, из рецептов ничего кроме инструкции не было. Гугля тоже че-та не было. И "МК-61 для чайников" тоже. Ну это так, между делом.

S>>Еще раз. Это ТВОИ идеи обучать программированию с 5-го класса. Никто кроме тебя на форуме об этом не говорит.


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

То что есть в 5м классе можно посмотреть по программе, а то что ты говоришь — ты многое можешь говорить. Если подтвердить нечем, кроме того что это говоришь ты, который 1 из 100, то говорить не о чем.

S>>А что, разве это не очевидно? Именно ты, да-да.


I>Это сарказм. Если такое слово для тебя с Синклером в новинку, то это не ко мне.

Тебя походу с сарказмом настолько заело, что ты уже забываешь, что это всего лишь твой сарказм, а не наши с Синклером идеи. Заведи тему и спорь там со своим сарказмом.
Re[45]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 24.10.12 00:09
Оценка: +2
Здравствуйте, vdimas, Вы писали:

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


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


V>Блин, до брехни скатываться не стоило. Покажи, где я считаю Хаскель СП? Я лишь высказываюсь относительно нечистых конструкций, вшитых в этот язык (в современный его вариант и в его расширения).

У тебя проблемы с пониманием чистоты конструкций. Иди медитируй.

V>А первые ФП-языки действительно являются классическими СП-языками, со всеми знакомыми тебе императивными циклами, ветвлениями, переменными и прочим. От ФП там только ФВП. Поэтому, тезис о том, что ФП произошло от СП ес-но в силе. Твоему Хаскелю в его нынешнем виде дай бог десяток лет или меньше, так что заканчивай во всех этих спорах, кто от кого произошел, приводить его в пример.

Давай возьмем один из последних ФП-языков F#. И внезапно он оказывается тоже классическим СП, да?

S>>Да нет, не привел. Либо ты не понял, что я от тебя хочу, либо кривляешься.


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

Ты показываешь ляпы в своих рассуждениях.

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

Вот ты же не понимаешь, а споришь.
S>>Это у тебя серьезные проблемы. Я с тебя просил вот это
S>>http://en.wikipedia.org/wiki/Pure_function#Pure_expressions

V>Я знаю, что ты у меня спросил. Жаль что ты не знаешь. Читай там же:

V>

V>Pure expressions are often referred to as being referentially transparent.

V>Я тебе это показал.
Похоже ты и это не понимаешь

S>>Извини что стейтментами назвал, но if/loop/sequence не работают с выражениями.


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

Ты этим меня хочешь убедить что присваивание легально в pure-expression?

S>>В детский сад со своими примерами. Это не то, что я просил.


V>Именно то. Просто налицо непонимание св-в чистоты вычислений.

Демонстрируешь его ты

V>>>Возьми для примера Немерле. Там имутабельные переменные, но на них выражается вычислительный процесс явным образом. То бишь, тот же самый императив.

S>>Ты не понимаешь, что такое императив. Походу не справился с определением.

V>Я же сказал — курить теорию автоматов. Без неё понимание императива нереально.

Мне твое "я же сказал" не упирается.

S>>см pure expression


V>Сам смотри внимательней. И заканчивай ты уже этот пинг-понг пустыми постами. Возьми за труд хоть немного помедитировать над ответными аргументами. Все входы и выходы уже даны. См. мой предыдущий пост.

Заканчивай свой пинг-понг со своими кури, медитируй, я же сказал и т.п. Аргументов я там не увидел. Увидел непонимание. И здесь опять.

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


V>Дык, тем хуже для тебя.

V>Вопросы на засыпку:
V>- что я имел ввиду под "контекстом вычислений" в этом абзаце?
Да фиг тебя уже знает
V>- при чем тут детерминированность и куда она может пропасть в императиве?
И причем тут детерминированность? Опять расписываешься в непонимании...
Если что, то о потоках ты не со мной разговаривал.

V>- приведи пример пропадания детерминированности?

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

V>Если пройдешь этот квест, поймешь о чем речь.

Извини, я все больше понимаю что ты не в теме.

S>>Как бы там ни было, это не аргумент


V>Это я показывал, что спекулятивное переупорядочивание выполняется только для тех вычислений, которые и так будут выполнены. В отличие от обсуждаемого переупорядочивания на if.

И это не становится аргументом

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


V>Да какая нафик твоя поправка. Читай оригинал еще раз внимательнее:

V>

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


V>Твою поправку (якобы поправку) я выделил. Всё было сказано сразу.

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

S>>Медитируй — не медитируй, страшнее жопы (достижимой в if) там ничего не будет.


V>А зря, помедитировать стоило бы. Если в if жопа может быть как результат каких-то затратных вычислений (иначе зачем бы параллелить), то в случае распаковки значений на ПМ получаем жопу как аргумент вычислений еще до их начала. А факт игнорирования аргумента (куда может придти жопа) должен обнаруживаться еще на этапе бета-редукции (у нас же детерминированные вычисления). В общем, если после бета-редукции таки осталась зависимость от жопы, то смысла продолжать вычисления в 99% нет. Остальные 1% я даю как погрешность, связанную с недостаточной реализацией бета-редукции. Хотя, в идеальном абстрактном мире, о котором шла речь в этих фантазиях, и бета-редукция должна быть идеальной. )))

Придется влезть на чужой фронт.
Тебе показывают, что условие может быть вычислено параллельно. Может — это значит только что может и не обязательно значит что что-то будет эффективнее и что надо все бросить и делать только так. Может — это значит всего лишь то что класс вычислимых функци сохранится и что теоретически время останется конечным но не факт что впишется во время существования вселенной. Твои попытки воззвать к оптимальности не отвергают возможности распараллеливания. Всё. Кури, медитируй, ставь себе 2.
Re[45]: Императивное программирование
От: artelk  
Дата: 24.10.12 06:28
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Блин, до брехни скатываться не стоило. Покажи, где я считаю Хаскель СП? Я лишь высказываюсь относительно нечистых конструкций, вшитых в этот язык (в современный его вариант и в его расширения). А первые ФП-языки действительно являются классическими СП-языками, со всеми знакомыми тебе императивными циклами, ветвлениями, переменными и прочим. От ФП там только ФВП. Поэтому, тезис о том, что ФП произошло от СП ес-но в силе. Твоему Хаскелю в его нынешнем виде дай бог десяток лет или меньше, так что заканчивай во всех этих спорах, кто от кого произошел, приводить его в пример.

Выглядит как вариация на тему "Post hoc, ergo propter hoc"
Re[46]: Императивное программирование
От: vdimas Россия  
Дата: 24.10.12 08:49
Оценка:
Здравствуйте, samius, Вы писали:

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

S>Ты этим меня хочешь убедить что присваивание легально в pure-expression?

По-моему, ты уже тупо троллишь... Я специально тебе показываю, что на мутабельных операциях можно получать pure-functions и прямо об этом говорю.
Абсолютно нет никакого дела до твоих pure-expressions, ими можно смело подтереться. Почему? Хотя бы потому, что pure-functions и pure-expressions — никак не зависят одно от другого от другого. Нечистые ф-ии могут включать чистые выражения и наборот, чистые ф-ии могут целиком состоять из нечистых выражений. Так понятно?

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

V>>Именно то. Просто налицо непонимание св-в чистоты вычислений.

S>Демонстрируешь его ты

Это уже какое-то гы-гы. )))
Кароч, если по интернету ходить не умеешь, будем копировать интернет прямо сюда:

In computer programming, a function may be described as pure if both these statements about the function hold:
1. The function always evaluates the same result value given the same argument value(s). The function result value cannot depend on any hidden information or state that may change as program execution proceeds or between different executions of the program, nor can it depend on any external input from I/O devices.
2. Evaluation of the result does not cause any semantically observable side effect or output, such as mutation of mutable objects or output to I/O devices.

The result value need not depend on all (or any) of the argument values. However, it must depend on nothing other than the argument values.


Т.е. ты не понимаешь ни (1), ни (2), ни важного отличия ф-ий от выражений (выделено болдом).

V>>Я же сказал — курить теорию автоматов. Без неё понимание императива нереально.

S>Мне твое "я же сказал" не упирается.

А ну да, Баба-Яга против. Ради бога.


V>>Сам смотри внимательней. И заканчивай ты уже этот пинг-понг пустыми постами. Возьми за труд хоть немного помедитировать над ответными аргументами. Все входы и выходы уже даны. См. мой предыдущий пост.

S>Заканчивай свой пинг-понг со своими кури, медитируй, я же сказал и т.п. Аргументов я там не увидел. Увидел непонимание. И здесь опять.

Дык, аргументы, сниппеты, соответствующие сниппетам определения — всё есть. У тебя — ничего, кроме заезженой пластинки "Баба-Яга против!".
Даже есть дополнения и замечения, что целью является не чистота ни разу, а ссылочная прозрачность. Но выделенное явно запредельная сложность, т.к. ты пока не понимаешь отличие чистых вычислений (лямбд и ф-ий в т.ч.) от устоявшегося мема Purely functional.

Purely functional is a term in computing used to describe algorithms, data structures or programming languages that exclude destructive modifications (updates). According to this restriction, variables are used in a mathematical sense, with identifiers referring to immutable, persistent values.


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

ИМХО, ты всё время забываешь, что ФП-парадигма — это сугубо практическая парадигма, которая работает в условиях некоторых ограничений (см приведенное определение). И не имеет никакого отношения ни к ссылочной прозрачности, ни к чистоте вычислений. Оно является является лишь одним из способов достижения оных. Но никак не подменяет их собой. Вот в этом у тебя упор, бо ты поторопимшись ставишь знак тождества там, где всего-лишь наличиствует частное следствие.


V>>Вопросы на засыпку:

V>>- что я имел ввиду под "контекстом вычислений" в этом абзаце?
S>Да фиг тебя уже знает
V>>- при чем тут детерминированность и куда она может пропасть в императиве?
S>И причем тут детерминированность? Опять расписываешься в непонимании...

Вооот она, рыба моей мечты. )))
Вопрос-то на мильён $$.
При чем тут детерминированность, дествительно?

Ответ простой — это единственная цель, которую можно обсуждать. Всё остальное стоит уровнем гораздо ниже и является ср-вом, не более. В т.ч. ФП-парадигма является лишь ср-вом достижения этой цели. Угу, более никакой цели у ФП-парадигмы НЕТ. Вот причем тут детерминированность.

Детерминированность является непременным условием для ссылочной прозрачности.
В общем, сорри, но подкину еще дровишек для медитации:

Referential transparency and referential opaqueness are properties of parts of computer programs. An expression is said to be referentially transparent if it can be replaced with its value without changing the behavior of a program (in other words, yielding a program that has the same effects and output on the same input). The opposite term is referential opaqueness.

While in mathematics all function applications are referentially transparent, in programming this is not always the case. The importance of referential transparency is that it allows the programmer and the compiler to reason about program behavior.


Всё обсуждаемое нам нужно исключительно для того (см. выделенное), чтобы самим быть уверенными в том, как работают наши собственные программы. "Чистая" ФП-парадигма предоставляет нам именно такой инструмент. А я лишь показываю (уже не первый раз), что этот инструмент ни разу не единственный.

S>Если что, то о потоках ты не со мной разговаривал.


Недетерминированность достигается и безо-всяких потоков через неявные связи, то бишь через side-effects. Side-effects — это скрытое влияние программных компонент друг на друга или общение с внешним (недетерминированным) миром.


V>>- приведи пример пропадания детерминированности?

S>ReadLine
V>>- если справишься с пред. пунктом, попробуй натянуть изобретенный пример(ы) на любой из моих. Получилось?
S>Получилось, только я же просил pure-expression-ы.

Увы, натянуть на мои примеры не получилось. И не получится. Бо в примерах описаны не "открытые" всевозможным "левым" контекстам выражения, а исключительно чистые ф-ии с явными зависимостями. Хотя и все до одной мутабельные унутре. А просить pure-expression-ы для императивного языка само по себе попахивает нубством, не находишь?


V>>Это я показывал, что спекулятивное переупорядочивание выполняется только для тех вычислений, которые и так будут выполнены. В отличие от обсуждаемого переупорядочивания на if.

S>И это не становится аргументом

Становится аргументом при наличии потенциально-бесконечных вычислений в ветках ветвления. Не видишь, насколько это отличается от случая, когда спекулятивно выполняют вполне детерминированный объем вычислений? В общем, я уже рядом показал коллеге, как он в пылу спора забыл о той самой проблеме останова: http://www.rsdn.ru/forum/philosophy/4937235.1
Автор: vdimas
Дата: 22.10.12


Для нерекурсивного случая я уже давно согласился, что некритично (т.к. частный случай).


V>>Твою поправку (якобы поправку) я выделил. Всё было сказано сразу.

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

ОМГ.
Медленно. По слогам. Ветки if НЕ имеют зависимостей (аргументов) от предиката при if. Наоборот ветки, ПМ в общем случае зависят от аргумента ПМ. Какой случай я называю общим? — который невырожденный. А твоё "ничего нового не добавляется" истинно только для вырожденного случая.


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


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


S>и что теоретически время останется конечным но не факт что впишется во время существования вселенной.


Дык, ес-но. Проблема останова нерешаема именно из-за конечности вычислителя более не из-за чего. И да, в приведенных по ссылке обсуждениях я показал, почему время никак не остаётся конечным.


S>Твои попытки воззвать к оптимальности не отвергают возможности распараллеливания. Всё. Кури, медитируй, ставь себе 2.


Да похрен уже на оптимальность. Оно заведомо не работает на конечном вычислителе. А стоит внести детерминированность в "предпросмотр", то бишь сделать его заведомо конечным по суммарной мощности вычислений всех его веток, и ты опять получишь то самое упорядочивание, управляемое целевыми предикатами. То бишь, в этом случае нельзя будет говорить о том, что ветки вычислены РАНЬШЕ предиката. Они будут лишь запущены на вычисление раньше предиката. Прочувствуйте разницу, как говорится.
Re[46]: Императивное программирование
От: vdimas Россия  
Дата: 24.10.12 10:50
Оценка:
Здравствуйте, artelk, Вы писали:

V>>Блин, до брехни скатываться не стоило. Покажи, где я считаю Хаскель СП? Я лишь высказываюсь относительно нечистых конструкций, вшитых в этот язык (в современный его вариант и в его расширения). А первые ФП-языки действительно являются классическими СП-языками, со всеми знакомыми тебе императивными циклами, ветвлениями, переменными и прочим. От ФП там только ФВП. Поэтому, тезис о том, что ФП произошло от СП ес-но в силе. Твоему Хаскелю в его нынешнем виде дай бог десяток лет или меньше, так что заканчивай во всех этих спорах, кто от кого произошел, приводить его в пример.

A>Выглядит как вариация на тему "Post hoc, ergo propter hoc"

Не выглядит. Дело ведь не в том, что ФП появилось ПОСЛЕ СП (разве Лисп появился после???), а в том, что парадигма ФП появилась и устоялась в отрасли исключительно в виде СП-языков, в которых были добавлены ф-ии как первоклассные объекты + механизм ФВП (для реализации которых потребовались полноценные лямбды). Примеры этих языков я приводил: Lisp, APL, ML. От последнего произошли тоже кучи якобы функциональных, но на самом деле самых что ни на есть СП-языков, взять хотя бы OCaml.
Re[60]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 24.10.12 10:53
Оценка:
Здравствуйте, samius, Вы писали:

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

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

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

I>>Это значит, что экспортировать специалистов крайне не выгодно, а выгодно создавать условия, что бы создавались новые рабочие места. Если в раткосрочной перспективе система образования не справится, что очевидно, то есть выход — импорт.

S>Мы уже были тут. Очевидно что их система образования излишек специалистов не выпускает и потребности штатов покрываются как их специалистами, так импортными, еще и в оффшор толпа проектов улетает.

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

I>>Ну да, сикп сам заработает, ага. Эдакая "невидимая рука" наведет порядок в вузе, создаст всю инфраструктуру и выстроит процесс. Посмотри старые курсы по СИКП, там вроде понятно, что кафедре надо приложить вагон усилий, что бы это работало. Кафедры в тех вузах, про которые мы говорим, на такое не способны. У них сил еле на методички хватает, а это для сикп вообще 0.

S>Ты все еще про ПТУ? Завязывай уже.

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

I>>Сантехник это просто результат особенностей мышления, если отбросить социальные факторы как безработица и алкоголизм.

S>ну а если факторы не отбрасывать, то среди сантехников несложно найти докторов наук.

Это только подтверждает мою идею

I>>Я тебе объясняю что твои рассуждения про 5й класс вообще бред вне категорий

S>аргументы будут?

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

I>>Эта "значительная часть" всего процентов 10

S>у вас 90% выпускников оканчивает школу со справкой? Жесть.
I>>а из них только каждый 10й может работать в ИТ.
S>То есть уже 1 из 100...

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

I>>По рецептам + решение тривиальных задач.

S>Не, ну ты же всегда можешь сказать что я всю жизнь решаю тривиальные задачи по рецептам. Потому это не аргумент. А потом, когда мне было 14, из рецептов ничего кроме инструкции не было. Гугля тоже че-та не было. И "МК-61 для чайников" тоже. Ну это так, между делом.

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

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

S>То что есть в 5м классе можно посмотреть по программе, а то что ты говоришь — ты многое можешь говорить. Если подтвердить нечем, кроме того что это говоришь ты, который 1 из 100, то говорить не о чем.

У тебя странная позиция, вроде утверждаешь. Что в 5м классе есть все что нужно, но почему то признаешь, что давать программуху в 5м классе рановато.
Попробуй подумать над этим, обнаружишь противоречие.
Re[47]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 24.10.12 12:04
Оценка:
Здравствуйте, vdimas, Вы писали:

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


S>>Ты этим меня хочешь убедить что присваивание легально в pure-expression?


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

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

V>Абсолютно нет никакого дела до твоих pure-expressions, ими можно смело подтереться. Почему? Хотя бы потому, что pure-functions и pure-expressions — никак не зависят одно от другого от другого. Нечистые ф-ии могут включать чистые выражения и наборот, чистые ф-ии могут целиком состоять из нечистых выражений. Так понятно?

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

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

что-что?
V> Я тебе уже который раз говорю, что св-ва выражений неотделимы от св-в окружающего видимого ими контекста.
Неотделимы, верно. Но чистое выражение не срет в окружающий видимый контекст (*)

V>>>Именно то. Просто налицо непонимание св-в чистоты вычислений.

S>>Демонстрируешь его ты

V>Это уже какое-то гы-гы. )))

V>Кароч, если по интернету ходить не умеешь, будем копировать интернет прямо сюда:
V>

V>In computer programming, a function may be described as pure if both these statements about the function hold:
V>1. The function always evaluates the same result value given the same argument value(s). The function result value cannot depend on any hidden information or state that may change as program execution proceeds or between different executions of the program, nor can it depend on any external input from I/O devices.
V>2. Evaluation of the result does not cause any semantically observable side effect or output, such as mutation of mutable objects or output to I/O devices.

V>The result value need not depend on all (or any) of the argument values. However, it must depend on nothing other than the argument values.


V>Т.е. ты не понимаешь ни (1), ни (2), ни важного отличия ф-ий от выражений (выделено болдом).

Если бы ты это понимал, то ты бы не утверждал о нечистоте if-а.

S>>Заканчивай свой пинг-понг со своими кури, медитируй, я же сказал и т.п. Аргументов я там не увидел. Увидел непонимание. И здесь опять.


V>Дык, аргументы, сниппеты, соответствующие сниппетам определения — всё есть. У тебя — ничего, кроме заезженой пластинки "Баба-Яга против!".

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

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

V>

V>Purely functional is a term in computing used to describe algorithms, data structures or programming languages that exclude destructive modifications (updates). According to this restriction, variables are used in a mathematical sense, with identifiers referring to immutable, persistent values.


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

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

V>ИМХО, ты всё время забываешь, что ФП-парадигма — это сугубо практическая парадигма, которая работает в условиях некоторых ограничений (см приведенное определение). И не имеет никакого отношения ни к ссылочной прозрачности, ни к чистоте вычислений. Оно является является лишь одним из способов достижения оных. Но никак не подменяет их собой. Вот в этом у тебя упор, бо ты поторопимшись ставишь знак тождества там, где всего-лишь наличиствует частное следствие.

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

V>>>Вопросы на засыпку:

V>>>- что я имел ввиду под "контекстом вычислений" в этом абзаце?
S>>Да фиг тебя уже знает
V>>>- при чем тут детерминированность и куда она может пропасть в императиве?
S>>И причем тут детерминированность? Опять расписываешься в непонимании...

V>Вооот она, рыба моей мечты. )))

V>Вопрос-то на мильён $$.
копейка
V>При чем тут детерминированность, дествительно?

V>Ответ простой — это единственная цель, которую можно обсуждать. Всё остальное стоит уровнем гораздо ниже и является ср-вом, не более. В т.ч. ФП-парадигма является лишь ср-вом достижения этой цели. Угу, более никакой цели у ФП-парадигмы НЕТ. Вот причем тут детерминированность.

Ты все попутал, как всегда. Детерминированность не имеет самоценности, ровно как и отсутствие побочных эффектов. Но без них не работает ФП, как ИП/СП не работает без состояния. В СП состояние тоже не является целью.

V>Детерминированность является непременным условием для ссылочной прозрачности.

Это верно
V>В общем, сорри, но подкину еще дровишек для медитации:
V>

V>Referential transparency and

Слушай, ничего нового ты не открываешь для меня. Эти определения уже затерты до дыр на этом форуме.

V>Всё обсуждаемое нам нужно исключительно для того (см. выделенное), чтобы самим быть уверенными в том, как работают наши собственные программы. "Чистая" ФП-парадигма предоставляет нам именно такой инструмент. А я лишь показываю (уже не первый раз), что этот инструмент ни разу не единственный.

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

S>>Если что, то о потоках ты не со мной разговаривал.


V>Недетерминированность достигается и безо-всяких потоков через неявные связи, то бишь через side-effects. Side-effects — это скрытое влияние программных компонент друг на друга или общение с внешним (недетерминированным) миром.

это известно без тебя.


V>>>- приведи пример пропадания детерминированности?

S>>ReadLine
V>>>- если справишься с пред. пунктом, попробуй натянуть изобретенный пример(ы) на любой из моих. Получилось?
S>>Получилось, только я же просил pure-expression-ы.

V>Увы, натянуть на мои примеры не получилось. И не получится. Бо в примерах описаны не "открытые" всевозможным "левым" контекстам выражения, а исключительно чистые ф-ии с явными зависимостями. Хотя и все до одной мутабельные унутре. А просить pure-expression-ы для императивного языка само по себе попахивает нубством, не находишь?

Я нахожу что нубством попахивает то, что тебе приходится объяснять разницу между СП и ФП на таких нубских примерах, хотя эта разница описана в определениях.

V>>>Это я показывал, что спекулятивное переупорядочивание выполняется только для тех вычислений, которые и так будут выполнены. В отличие от обсуждаемого переупорядочивания на if.

S>>И это не становится аргументом

V>Становится аргументом при наличии потенциально-бесконечных вычислений в ветках ветвления. Не видишь, насколько это отличается от случая, когда спекулятивно выполняют вполне детерминированный объем вычислений? В общем, я уже рядом показал коллеге, как он в пылу спора забыл о той самой проблеме останова: http://www.rsdn.ru/forum/philosophy/4937235.1
Автор: vdimas
Дата: 22.10.12

В сферической архитектуре проблемы остановки потока нет. И уж точно никакой проблемой останова не пахнет.

V>Для нерекурсивного случая я уже давно согласился, что некритично (т.к. частный случай).

ну хоть с чем-то ты согласился

V>>>Твою поправку (якобы поправку) я выделил. Всё было сказано сразу.

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

V>ОМГ.

V>Медленно. По слогам. Ветки if НЕ имеют зависимостей (аргументов) от предиката при if. Наоборот ветки, ПМ в общем случае зависят от аргумента ПМ. Какой случай я называю общим? — который невырожденный. А твоё "ничего нового не добавляется" истинно только для вырожденного случая.
Ветки ПМ от аргумента ПМ зависят в ЧАСТНОМ случае. Ниужели у тебя проблемы даже с пониманием частного/общего?

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


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

Никакое сокращение (даже резкое) не интересно в плане рассуждений о классе вычислимости "все вычислимые функции", потому как они либо вычислимы, либо нет. И между вычислимы и "резко вычислимы" нет никакой значимой разницы.

S>>и что теоретически время останется конечным но не факт что впишется во время существования вселенной.


V>Дык, ес-но. Проблема останова нерешаема именно из-за конечности вычислителя более не из-за чего. И да, в приведенных по ссылке обсуждениях я показал, почему время никак не остаётся конечным.

нет не показал.

S>>Твои попытки воззвать к оптимальности не отвергают возможности распараллеливания. Всё. Кури, медитируй, ставь себе 2.


V>Да похрен уже на оптимальность. Оно заведомо не работает на конечном вычислителе. А стоит внести детерминированность в "предпросмотр", то бишь сделать его заведомо конечным по суммарной мощности вычислений всех его веток, и ты опять получишь то самое упорядочивание, управляемое целевыми предикатами. То бишь, в этом случае нельзя будет говорить о том, что ветки вычислены РАНЬШЕ предиката. Они будут лишь запущены на вычисление раньше предиката. Прочувствуйте разницу, как говорится.

Это не имеет значения. Значение имеет лишь то, что последовательность условие->ветка может быть нарушена пусть даже в небольшом количестве сценариев. А вычислимость на конечном вычислителе (даже однопроцессорном) можно достичь ограничениями по времени и приоритетами.
Re[61]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 24.10.12 13:31
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


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

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

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

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

S>>Мы уже были тут. Очевидно что их система образования излишек специалистов не выпускает и потребности штатов покрываются как их специалистами, так импортными, еще и в оффшор толпа проектов улетает.


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

Я говорил

S>>Ты все еще про ПТУ? Завязывай уже.


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

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

I>>>Сантехник это просто результат особенностей мышления, если отбросить социальные факторы как безработица и алкоголизм.

S>>ну а если факторы не отбрасывать, то среди сантехников несложно найти докторов наук.

I>Это только подтверждает мою идею

Это не идея, это самовнушение

I>>>Я тебе объясняю что твои рассуждения про 5й класс вообще бред вне категорий

S>>аргументы будут?

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

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

S>>То есть уже 1 из 100...


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

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

S>>Не, ну ты же всегда можешь сказать что я всю жизнь решаю тривиальные задачи по рецептам. Потому это не аргумент. А потом, когда мне было 14, из рецептов ничего кроме инструкции не было. Гугля тоже че-та не было. И "МК-61 для чайников" тоже. Ну это так, между делом.


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

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

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

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