Re[104]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.10.12 13:16
Оценка:
Здравствуйте, samius, Вы писали:

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

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

I>>Если не ИТ, то для чего ты пример приводил, для весу ?


S>По ключевым совпадениям. Ну а потом, не думаешь ли ты что в ИТ работают только те кто закончил ИТ?


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

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


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

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

S>>Для тебя это есть "ничего". А молодые люди за этим "ничего" тупят 5 лет в вузах


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

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

I>>>Не нормальный, в том то и дело.

S>>Это ты такой исключительный

I>Ну да, это я причина тому, что в мит учиться трудно

Мне тоже было учиться трудно. А учился я далеко от мита.

S>>Ну и что что давно не сикп. Меня он интересует как положительный опыт обучения 600 человек в год 40 лет.


I>Там не просто 600 любых, а 600 которые прошли сумасшедший конкурс.

Для тех кто в состоянии платить за обучение не такой он и сумасшедший.
Re[32]: Императивное программирование
От: vdimas Россия  
Дата: 15.10.12 14:11
Оценка:
Здравствуйте, samius, Вы писали:

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

S>
S>f x = a*x + b
S>

S>тоже не_обычная функция. Сначала будет обязательно вычислено умножение и лишь потом сложение

OMG, см. выделенное.
(ты умудрился придумать ф-ию с одним аргментом.)

Для того, чтобы аналогия не хромала, надо так:
f x a b = a*x + b

Вот теперь докажи, что a и x вычисляются раньше b.
Re[31]: Императивное программирование
От: artelk  
Дата: 15.10.12 14:11
Оценка: +1
Здравствуйте, vdimas, Вы писали:

A>>Прекрасно, а чем if не функция?

V>Тем, что это не обычная ф-ия, у ней же аргументы вычисляются в жестко заданном порядке: сначала обязательно будет вычислен предикат. В общем, даже если дело происходит на ленивом механизме, то будет два обязательных правила:
V>1. Предикат будет вычислен раньше успешной ветки.
V>2. Если предикат вычислен, то успешная ветка тоже обязательно будет вычислена.
Тебе уже показали, что ничего обязательного в этих правилах нет.

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

V>Это только если предикат оперирует compile-time данными и может быть вычислен в compile-time.
Нет, не только.

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

V>А так-то да, ФП эмулируется на регистровых современных архитектурах. А даже предложенная для ФП data-flow архитектура вычислителя, упс... тоже упорядочивает вычисления на if.
V>

V>Основополагающим понятием потоковых (Dataflow) вычислений является принцип готовности к выполнению (ГКВ) операции по условию готовности всех необходимых для выполнения этой операции операндов. Операнд считается «готовым», если соответствующим этому операнду ячейкам памяти присвоено значение (вычислено ранее или константо-присвоено).

Детали реализации императивного вычислителя не имеют никакого отношения к вопросу о семантике оператора ветвления в ФП.

A>>Трассировка принадлежит к неязыковым средствам, обеспечивающим доступ к императивному вычислителю, эмулирующему ФП. Ее наличие не влияет на семантику языковых элементов, в частности оператора ветвления.

V>Да пофиг. Ты уже забыл с чего пошло обсуждение. Я высмеивал тот факт, что ФП ненаглядно, что наглядность достигается только через эмуляцию в императиве.
Для тебя.
V>Итого, сначала необходимо изучить императив, чтобы понимать происходящее в процессе эмуляции ФП.
Чтобы понимать происходящее в процессе эмуляции — да. Чтобы понимать ФП — нет.

A>>Функционального программирования не существует?

V>Agda2 пойдет? ))
В Agda2 нет паттерн-матчинга?
Re[32]: Императивное программирование
От: vdimas Россия  
Дата: 15.10.12 14:43
Оценка:
Здравствуйте, artelk, Вы писали:


A>>>Прекрасно, а чем if не функция?

V>>Тем, что это не обычная ф-ия, у ней же аргументы вычисляются в жестко заданном порядке: сначала обязательно будет вычислен предикат. В общем, даже если дело происходит на ленивом механизме, то будет два обязательных правила:
V>>1. Предикат будет вычислен раньше успешной ветки.
V>>2. Если предикат вычислен, то успешная ветка тоже обязательно будет вычислена.
A>Тебе уже показали, что ничего обязательного в этих правилах нет.

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


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

V>>Это только если предикат оперирует compile-time данными и может быть вычислен в compile-time.
A>Нет, не только.

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


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

V>>А так-то да, ФП эмулируется на регистровых современных архитектурах. А даже предложенная для ФП data-flow архитектура вычислителя, упс... тоже упорядочивает вычисления на if.
V>>

V>>Основополагающим понятием потоковых (Dataflow) вычислений является принцип готовности к выполнению (ГКВ) операции по условию готовности всех необходимых для выполнения этой операции операндов. Операнд считается «готовым», если соответствующим этому операнду ячейкам памяти присвоено значение (вычислено ранее или константо-присвоено).

A>Детали реализации императивного вычислителя не имеют никакого отношения к вопросу о семантике оператора ветвления в ФП.

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


V>>Итого, сначала необходимо изучить императив, чтобы понимать происходящее в процессе эмуляции ФП.

A>Чтобы понимать происходящее в процессе эмуляции — да. Чтобы понимать ФП — нет.

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

A>>>Функционального программирования не существует?

V>>Agda2 пойдет? ))
A>В Agda2 нет паттерн-матчинга?

В чистых Agda2-программах, которые пишут исключительно как proof-assistance, никакой код не выполняется. То бишь, рассуждать о том, что выполнится раньше — нелепо. Там целью является успешная компиляция. А если запускают на выполнение, то ничем от Хаскеля происходящее не отличается: http://progopedia.com/implementation/agda-2/
Re[34]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.10.12 14:46
Оценка:
Здравствуйте, samius, Вы писали:

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

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

Про кризис в образовании ты понятно ничего не слышал

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

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

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

I>>Ну да, это я причина тому, что в мит учиться трудно

S>Мне тоже было учиться трудно. А учился я далеко от мита.

Всего навсего в мит тебе было бы намного труднее.

I>>Там не просто 600 любых, а 600 которые прошли сумасшедший конкурс.

S>Для тех кто в состоянии платить за обучение не такой он и сумасшедший.

Цены на обучение там ни разу не баснословные по американским меркам. Мит, стенфорд и подобные вузы считаются самыми лучшими вузами во всем мире. Соответственно и контингент там гораздо сильнее.
Re[33]: Императивное программирование
От: artelk  
Дата: 15.10.12 14:57
Оценка:
Здравствуйте, vdimas, Вы писали:

V>
V>f x a b = a*x + b
V>

V>Вот теперь докажи, что a и x вычисляются раньше b.

Покажи реализацию оператора (+) для типа Int.
Тип Int можно определить, например, так:
  data Int = 0 | 1 | -1 | 2 | -2 | ...

или на основе списка цифр.
Re[29]: Императивное программирование
От: artelk  
Дата: 15.10.12 15:18
Оценка: +2
Здравствуйте, vdimas, Вы писали:

A>>Естественно, хаки не рассматриваем.

V>Увы, хаки тебе будут нужны для реального эксперимента. В чем заключается хак — уже написал.
Ты уж сначала определись, хаков не может быть в чистом ФП или условного оператора?

A>>А что мешает первому случаю быть синтаксическим сахаром для второго? Невычисление одной из веток будет всего лишь оптимизацией.

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

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

V>Кароч, я тут уже говорил как-то, что со временем ФП будет не особо нужно, бо компиляторы будут сами находить скрытые ошибки императиве, как это сегодня делает тулзина Valgrind, например. Смотри в суть вещей — ФП языки нужны сугубо как костыль для тупых компиляторов образца до начала ~2000-х годов. После этого наступили такие времена, что ведущие компиляторы с того же С++ стали частично суперкомпиляторами и "понимают" намного больше семантики (совершая в итоге намного больше преобразований) чем все компиляторы со всех ФП-языков вместе взятые.
Какой кошмар. Готовишься к конкурсу на звание "Самый альтернативно мыслящий"?! Мой голос за тебя!

A>>Производительность ветвлений на современной аппаратуре не имеет никакого отношения к вопросу о семантике оператора ветвления в ФП.

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

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

Ну.. ты понял, вобщем.
Re[33]: Императивное программирование
От: artelk  
Дата: 15.10.12 15:44
Оценка: +1
Здравствуйте, vdimas, Вы писали:

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

Но результат не зависит от порядка вычисления аргументов, что дает нам основание утверждать, что операция ветвления не является "пошаговой по свой природе".
Re[33]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 15.10.12 15:58
Оценка:
Здравствуйте, vdimas, Вы писали:

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


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

S>>
S>>f x = a*x + b
S>>

S>>тоже не_обычная функция. Сначала будет обязательно вычислено умножение и лишь потом сложение

V>OMG, см. выделенное.

V>(ты умудрился придумать ф-ию с одним аргментом.)
Я же помню твой посыл

А в ФП не может быть никакой пошаговости кроме случая эмуляции ФП на императивном вычислителе.

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


V>Для того, чтобы аналогия не хромала, надо так:

V>
V>f x a b = a*x + b
V>

V>Вот теперь докажи, что a и x вычисляются раньше b.
Лучше ты доказывай что пошаговости в ФП быть не может.
Re[35]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 15.10.12 16:02
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


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

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

I>Про кризис в образовании ты понятно ничего не слышал

Слышал. Образование дисредитировано тем что дипломы о в/о раздают в ПТУ без каких либо требований к выпускаемым специалистам.

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


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

Первый раз слышу что бы админов выпускали ВУЗ-ы. Ты все-же про ПТУ.

I>>>Ну да, это я причина тому, что в мит учиться трудно

S>>Мне тоже было учиться трудно. А учился я далеко от мита.

I>Всего навсего в мит тебе было бы намного труднее.

Возможно, но я не считаю программу МИТ-а непостижимой. Для среднего ПТУ-шника — конечно. Но я не о них, а ты о них.

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

Чем в ПТУ на постсоветском пространстве? Очевидно.
Re[36]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.10.12 08:20
Оценка:
Здравствуйте, samius, Вы писали:

I>>Про кризис в образовании ты понятно ничего не слышал

S>Слышал. Образование дисредитировано тем что дипломы о в/о раздают в ПТУ без каких либо требований к выпускаемым специалистам.

Вообще говоря проблемы растут ажно с самой школы.

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

S>Первый раз слышу что бы админов выпускали ВУЗ-ы. Ты все-же про ПТУ.

И давно у вас в россии инженеров выпускают ПТУ ?

I>>Всего навсего в мит тебе было бы намного труднее.

S>Возможно, но я не считаю программу МИТ-а непостижимой. Для среднего ПТУ-шника — конечно. Но я не о них, а ты о них.

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

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

S>Чем в ПТУ на постсоветском пространстве? Очевидно.

И давно у вас в россии инженеров выпускают ПТУ ?
Re[34]: Императивное программирование
От: vdimas Россия  
Дата: 16.10.12 08:41
Оценка:
Здравствуйте, artelk, Вы писали:

V>>
V>>f x a b = a*x + b
V>>

V>>Вот теперь докажи, что a и x вычисляются раньше b.

A>Покажи реализацию оператора (+) для типа Int.

A>Тип Int можно определить, например, так:
A>
A>  data Int = 0 | 1 | -1 | 2 | -2 | ...
A>

A>или на основе списка цифр.

Задавай вопросы прямо. Сложение — это бинарная (минимум) чистая ф-ия, абсолютно неважно в каком порядке будут вычислены ее аргументы. Что именно ты хотел услышать?
Re[37]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 16.10.12 08:41
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


I>>>Про кризис в образовании ты понятно ничего не слышал

S>>Слышал. Образование дисредитировано тем что дипломы о в/о раздают в ПТУ без каких либо требований к выпускаемым специалистам.

I>Вообще говоря проблемы растут ажно с самой школы.

О чем речь, если в ваших школах 90% выпускников не умеет подставлять в формулы.

S>>Первый раз слышу что бы админов выпускали ВУЗ-ы. Ты все-же про ПТУ.


I>И давно у вас в россии инженеров выпускают ПТУ ?

У нас в России по части инженеров не уверен, а вот админов выпускают даже школы.

S>>Возможно, но я не считаю программу МИТ-а непостижимой. Для среднего ПТУ-шника — конечно. Но я не о них, а ты о них.


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

У нас в России другая практика.
Re[34]: Императивное программирование
От: vdimas Россия  
Дата: 16.10.12 09:00
Оценка:
Здравствуйте, artelk, Вы писали:

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

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

Ты решил зайти на второй круг? )))
А как насчет вычислимости ложной ветки? Так и не понял примера с факториалом? Ну хорошо... а как насчет корня из отрицательного числа? А как насчет деления на 0? Ведь реакция вычислителя в процессе вычисления должна сильно разниться для правильной и ложной веток в твоей умозрительной системе.
Re[34]: Императивное программирование
От: vdimas Россия  
Дата: 16.10.12 09:01
Оценка:
Здравствуйте, samius, Вы писали:

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

S>>>
S>>>f x = a*x + b
S>>>

S>>>тоже не_обычная функция. Сначала будет обязательно вычислено умножение и лишь потом сложение

V>>OMG, см. выделенное.

V>>(ты умудрился придумать ф-ию с одним аргментом.)
S>Я же помню твой посыл
S>

S>А в ФП не может быть никакой пошаговости кроме случая эмуляции ФП на императивном вычислителе.

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

Не показываешь. Если нет переменной для промежуточного результата a*b, то нет возможности наблюдения результата таких промежуточных вычислений. Например, в сигнальных/векторных процах, вычисляющих многочлены (то бишь, заточенных под цифровую фильтрацию), как раз самая популярная инструкция — это одновременное умножение со сложением. Ты как всегда удачно попадаешь с примерами.

То бишь все операнды a*x+b вычисляются аппаратным блоком за один такт. Курить схемы ускоренного сложения и параллельного умножения. Там в конце один "широкий" сумматор на все частичные произведения и на эту накопительную сумму, в кач-ве которой у тебя идет переменная b.


V>>Для того, чтобы аналогия не хромала, надо так:

V>>
V>>f x a b = a*x + b
V>>

V>>Вот теперь докажи, что a и x вычисляются раньше b.
S>Лучше ты доказывай что пошаговости в ФП быть не может.

Я уже всё показал. Извольте возражения по-существу или контрпримеры. Как именно возникает пошаговость на IO, я тоже рядом показал.
Re[30]: Императивное программирование
От: vdimas Россия  
Дата: 16.10.12 09:40
Оценка:
Здравствуйте, artelk, Вы писали:

A>>>Естественно, хаки не рассматриваем.

V>>Увы, хаки тебе будут нужны для реального эксперимента. В чем заключается хак — уже написал.
A>Ты уж сначала определись, хаков не может быть в чистом ФП или условного оператора?

Угу, классическое "кто здесь?"
Покажи место, где кто-то сомневался в том, что не может быть хаков? Они есть, пользуйся. На худой конец — исходники компилятора доступны, зашей туда оператор отладочной печати, награди его типом без ->IO. И убедись, наконец.

A>>>А что мешает первому случаю быть синтаксическим сахаром для второго? Невычисление одной из веток будет всего лишь оптимизацией.

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

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

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

V>>Кароч, я тут уже говорил как-то, что со временем ФП будет не особо нужно, бо компиляторы будут сами находить скрытые ошибки императиве, как это сегодня делает тулзина Valgrind, например. Смотри в суть вещей — ФП языки нужны сугубо как костыль для тупых компиляторов образца до начала ~2000-х годов. После этого наступили такие времена, что ведущие компиляторы с того же С++ стали частично суперкомпиляторами и "понимают" намного больше семантики (совершая в итоге намного больше преобразований) чем все компиляторы со всех ФП-языков вместе взятые.

A>Какой кошмар. Готовишься к конкурсу на звание "Самый альтернативно мыслящий"?! Мой голос за тебя!


Дык, курить современную суперкомпиляцию. Увы, чистое ФП сосёт, не нагибаясь... как раз из-за того, что возможности той самой бета-редукции, которой одни фанаты уже задолбали, а другие (якобы ФП-программисты) так и не понимают толком, оказались небольшими из-за... упс!!! ограничений, накладываемых системой типов. Настоящая суперкомпиляция появляется уже после разложения результатов подобной оптимизации в регистровом базисе, то бишь после удаления информации о типах. Просто современные тру-ФП-программеры застряли на уровне конца 80-х начала 90-х и уперлись там же.
Вернее так, тот интерес, который потихоньку просыпался в начале 90-х, докатился, наконец, до "широких масс" по причине банального увеличения памяти и быстродействия процов, а не по причине того, что ФП наконец-то научился использовать "весь свой потенциал, который даёт чистота вычислений" (С). Так-то до этого без слез на тру-ФП смотреть было невозможно. Да и сейчас тоже. Да и Хаскель как-то всё больше движется в сторону заимствований то у ООП, то у императива со всякими своими многопоточными расширениями. Да и ссылочная прозрачность (тот самый целевой фактор), как выяснилось, не противоречит императиву и вовсе не требует иммутабельности. Ууупс??? )))


A>>>Производительность ветвлений на современной аппаратуре не имеет никакого отношения к вопросу о семантике оператора ветвления в ФП.

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

Что ты хотел показать, понятно и школьнику. Я лишь растягиваю удовольствие, жду пока ты поймешь. Просто твою "другую цель" даже обсуждать не имело смысла, ведь у тебя выражение (x>0) никак не может быть вычисленно позже последующей формулы. Я уже молчу о другом твоём капитальном залёте, который ни ты, ни плюсующие тебе уже 3-й пост не видите.

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

A>Ну.. ты понял, вобщем.

Я-то понял и уже даже дал подсказки, а ты еще нет и даришь мне уже который пост подряд маленький заслуженный фан.
Не раскроешь, случаем, особенности своего мышления?... которые позволяют тебе пытаться рассуждать насчет твоего примера ф-ии abs(x), расписанном на if, об упорядоченности вычисления операндов? Так и не понял подсказку abs(x)? Операндов-то сколько, горемыка? Там же все три операнда ф-ии if (будь он на if сделано) — один и тот же x. Это залёт, курсант.
Re[35]: Императивное программирование
От: samius Япония http://sams-tricks.blogspot.com
Дата: 16.10.12 09:55
Оценка:
Здравствуйте, vdimas, Вы писали:

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


S>>

S>>А в ФП не может быть никакой пошаговости кроме случая эмуляции ФП на императивном вычислителе.

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

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

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

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


V>То бишь все операнды a*x+b вычисляются аппаратным блоком за один такт. Курить схемы ускоренного сложения и параллельного умножения. Там в конце один "широкий" сумматор на все частичные произведения и на эту накопительную сумму, в кач-ве которой у тебя идет переменная b.

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

S>>Лучше ты доказывай что пошаговости в ФП быть не может.


V>Я уже всё показал. Извольте возражения по-существу или контрпримеры. Как именно возникает пошаговость на IO, я тоже рядом показал.

Я те поражаюсь вообще. Выдумываешь какой-то мутный посыл про ФП (что не может быть пошаговости), находишь в ФП же некий "шаг" в виде if-а, и тем самым доказываешь что ФП не существует или что оно произошло от СП.
Жги еще.
Re[38]: Императивное программирование
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 16.10.12 10:10
Оценка:
Здравствуйте, samius, Вы писали:

I>>Вообще говоря проблемы растут ажно с самой школы.

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

В ваших школах ничуть не лучше.

S>>>Первый раз слышу что бы админов выпускали ВУЗ-ы. Ты все-же про ПТУ.


I>>И давно у вас в россии инженеров выпускают ПТУ ?

S>У нас в России по части инженеров не уверен, а вот админов выпускают даже школы.

Админ это инженер, по диплому обычно инженер-системотехник. Давно у вас таких в ПТУ готовят ?

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

S>У нас в России другая практика.

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

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


I>>>Вообще говоря проблемы растут ажно с самой школы.

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

I>В ваших школах ничуть не лучше.

Разве что в школах для альтернативно одаренных, вы походу из них специалистов набираете...

I>>>И давно у вас в россии инженеров выпускают ПТУ ?

S>>У нас в России по части инженеров не уверен, а вот админов выпускают даже школы.

I>Админ это инженер, по диплому обычно инженер-системотехник. Давно у вас таких в ПТУ готовят ?

У нас админы самородки.

S>>У нас в России другая практика.


I>Все космонавты что ли ?

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