S>Если они эквивалентны, как вы их отличаете друг от друга? А, главное, зачем?
Эквивалентность не означает одинаковости.
S>Какое на ваш взгляд ключевое отличие императивного подхода от функционального?
1) сопоставление аргументов результату, без использования глобального или локального состояния
2) реализация какого-либо математического формализма, типа лямбда-исчисления
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
Здравствуйте, VTT, Вы писали:
VTT>Здравствуйте, samius, Вы писали:
VTT>>>Ну уважаемый, вы с размаху сели в лужу. S>>Пожалуйста, можно подробнее?
VTT>Перечитывайте про противоречия примерно с этого места
Раз вы не считаете это за противоречие, то почему приводите его ниже? Правда, с точностью до наоборот.
S>>Если они эквивалентны, как вы их отличаете друг от друга? А, главное, зачем? VTT>Эквивалентность не означает одинаковости.
Действительно.
S>>Какое на ваш взгляд ключевое отличие императивного подхода от функционального? VTT>1) сопоставление аргументов результату, без использования глобального или локального состояния
Я бы сказал, что это отличие функционального подхода, а не императивного. Полагаю, что вы просто перепутали.
Ну так вы готовы продемонстрировать ФП на паскале без использования глобального или локального состояния явно?
VTT>2) реализация какого-либо математического формализма, типа лямбда-исчисления
Если вы здесь не ошиблись, то значит машина Тьюринга демонстрирует нам образцы функционального подхода. См. тезис Тьюринга.
Откуда у вас навязчивая идея о противоречиях этих подходов?
Любую императивную программу можно представить как цепочку вызовов функций, каждая из которых принимает на вход единственный аргумент — "глобальное состояние" от предыдущей и возвращает новое "глобальное состояние" соответствующее исполнению одной команды.
Любую функциональную программу можно представить как последовательность команд.
S>Ну так вы готовы продемонстрировать ФП на паскале без использования глобального или локального состояния явно?
"Найдите 10 отличий":
паскаль
function plus_one(x: integer): integer;
begin
plus_one := x + 1
end;
хаскель
plus_one :: (Integral x) => x -> Integral
plus_one x = x + 1
VTT>>2) реализация какого-либо математического формализма, типа лямбда-исчисления S>Если вы здесь не ошиблись, то значит машина Тьюринга демонстрирует нам образцы функционального подхода. См. тезис Тьюринга.
Наверное мне стоило бы написать "математического формализма c функциями" для ясности (хотя это вроде и так понятно)...
Если язык основывается на формализме с узлами, то это будет уже узло-ориентированный язык или что-нибудь подобное.
Но суть в том, что императивные языки по большей части происходят от записи машинных инструкций.
А функциональные ориентируются на определенные математический формализм, причем по возможности близко к математическим обозначениям.
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
Здравствуйте, VTT, Вы писали:
VTT>Откуда у вас навязчивая идея о противоречиях этих подходов?
см ниже VTT>Любую императивную программу можно представить как цепочку вызовов функций, каждая из которых принимает на вход единственный аргумент — "глобальное состояние" от предыдущей и возвращает новое "глобальное состояние" соответствующее исполнению одной команды.
Представить можно, но от этого любая императивная программа не становится программой, написанной в функциональном подходе. VTT>Любую функциональную программу можно представить как последовательность команд.
э, и что?
S>>Ну так вы готовы продемонстрировать ФП на паскале без использования глобального или локального состояния явно? VTT>"Найдите 10 отличий": VTT>паскаль VTT>
VTT>plus_one :: (Integral x) => x -> Integral
VTT>plus_one x = x + 1
VTT>
Зачем 10? достаточно одно. Во втором примере функция — объект первого класса. Полагаю, что дальше этого примера, ваша демонстрация ФП на паскале не сдвинется.
S>>Если вы здесь не ошиблись, то значит машина Тьюринга демонстрирует нам образцы функционального подхода. См. тезис Тьюринга.
VTT>Наверное мне стоило бы написать "математического формализма c функциями" для ясности (хотя это вроде и так понятно)... VTT>Если язык основывается на формализме с узлами, то это будет уже узло-ориентированный язык или что-нибудь подобное. VTT>Но суть в том, что императивные языки по большей части происходят от записи машинных инструкций. VTT>А функциональные ориентируются на определенные математический формализм, причем по возможности близко к математическим обозначениям.
И вы спрашиваете меня, откуда идея о противоречиях подходов?
S>Теперь есть знакомая, 20 лет, учится на финансиста, хочет освоить профессию программиста но не может подступиться. Все книжки которые я знаю, дают скорее тонкости конкретного языка и платформы, а не сам навык программировать. Так, попытка изучить c# по рихтеру у нее провалилась.
Признавайся, ты ей Рихтера подсунул? Издевался над девушкой, да?
Приходит человек, просит популярно что-нибудь по физике объяснить, а ты ему такой:
"Вот тебе 9 томов Ландавшица! Да! Сначала Фихтенгольц!"
Здравствуйте, TMU_1, Вы писали:
S>>Теперь есть знакомая, 20 лет, учится на финансиста, хочет освоить профессию программиста но не может подступиться. Все книжки которые я знаю, дают скорее тонкости конкретного языка и платформы, а не сам навык программировать. Так, попытка изучить c# по рихтеру у нее провалилась.
TMU>Признавайся, ты ей Рихтера подсунул? Издевался над девушкой, да?
Да, из хороших побуждений. Так спросила, я вспомнил эту хорошую книжку (которую сам читал по диагонали).
TMU>Приходит человек, просит популярно что-нибудь по физике объяснить, а ты ему такой: TMU>"Вот тебе 9 томов Ландавшица! Да! Сначала Фихтенгольц!"
Потом через месяц я понял, что ошибся с рекомендацией
TMU>>Признавайся, ты ей Рихтера подсунул? Издевался над девушкой, да? S>Да, из хороших побуждений. Так спросила, я вспомнил эту хорошую книжку (которую сам читал по диагонали).
Блин, Рихтер что, был твоей первой книжкой по программированию? Ведь нет же, уверен на 100%. А другому человеку сразу Рихтером по башке
Здравствуйте, a_g_99, Вы писали:
__>Нет друг мой. Ум в женщине возбуждает только слабых плаксивых трусишек. Им хочется скорее спрятаться за юбочку умной предприимчивой мамаши. Настоящего мужчину в женщине возбуждают другие изгибы тела а не извилины.
Дружище, Артемка, в отличие от вас, не побоялся приложить фото своей подруги жизни к своим сообщениям. Сможем ли мы прикоснуться к прекрасному и тоже лицезреть фото той неописуемой красавицы, которой посчастливилось сойтись с таким гигантом мысли и всего остального, как вы?
Здравствуйте, samius, Вы писали:
S>Зачем 10? достаточно одно. Во втором примере функция — объект первого класса. Полагаю, что дальше этого примера, ваша демонстрация ФП на паскале не сдвинется.
Совершенно не принципиально, объект первого класса это или нет.
Вы же сами только что провозглашали, что главное — это не задействовать глобальное или локальное состояние.
И в том, и в другом примере они не задействованы, никаких побочных эффектов.
S>И вы спрашиваете меня, откуда идея о противоречиях подходов?
То, что одно развилось как рационализация машинных команд, а второе — как попытки реализовать некоторый формализм, это не противоречие.
Это просто исторически сложившееся положение вещей.
Если бы у этих подходов были противоречия, то их затруднительно было бы использовать совместно.
И мультипарадигменный подход вряд ли получил такое широкое распространение.
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
Здравствуйте, Берсерк, Вы писали:
Б>Дружище, Артемка, в отличие от вас, не побоялся приложить фото своей подруги жизни к своим сообщениям. Сможем ли мы прикоснуться к прекрасному и тоже лицезреть фото той неописуемой красавицы, которой посчастливилось сойтись с таким гигантом мысли и всего остального, как вы?
Друг мой firstly некрасиво называть Артёма артемкой. Это просто неуважительно. Многие из живущих в Австралии не заслуживают уважения, а многие из живущих в России заслуживают но не имеют. Вы можете вернуть им (живущим в России) уважение? То-то же. Тогда не спешите презирать и Артема. Никому, даже мудрейшему из мудрых, не дано видеть всех хитросплетений судьбы. Даже вашему полубогу Владу.
Во-вторых я не буду этого делать. Моя прекрасная жена не мясо на картинке чтобы хвастаться. Я люблю её и уважаю и не стану заниматься такой чепухой.
Артём это сделал (выложил фото своей жены) чтобы хотя бы втайне получить власть над своей женой (в жизни она его 100% унижает) но мне это не нужно — у нас полная любовь.
И между нами жена Артема довольно плохо выглядит в сексуальном плане (по крайней мере на фото). Возможно в молодости она и была милой дамой, но возраст (ей же под пятьдесят) победил её. Это случается не со всеми женщинами, некоторые наоборот в 40 лет набирают сексуальность. Впрочем я не осуждаю. Уважаю Артема в любом случае. Как и вас Друг мой!
Здравствуйте, a_g_99, Вы писали: __>И между нами жена Артема довольно плохо выглядит в сексуальном плане (по крайней мере на фото). Возможно в молодости она и была милой дамой, но возраст (ей же под пятьдесят) победил её. Это случается не со всеми женщинами, некоторые наоборот в 40 лет набирают сексуальность. Впрочем я не осуждаю. Уважаю Артема в любом случае. Как и вас Друг мой!
Жену Артёмки можно спутать с школьницей. Если Вы ей дадите 50 лет, тогда вашу, должно быть, трудно отличить от 10-летней?
Скрытый текст
__>Во-вторых я не буду этого делать. Моя прекрасная жена не мясо на картинке чтобы хвастаться. Я люблю её и уважаю и не стану заниматься такой чепухой. __>Артём это сделал (выложил фото своей жены) чтобы хотя бы втайне получить власть над своей женой (в жизни она его 100% унижает) но мне это не нужно — у нас полная любовь.
Душа красивая?
Здравствуйте, VTT, Вы писали:
VTT>Здравствуйте, samius, Вы писали:
S>>Зачем 10? достаточно одно. Во втором примере функция — объект первого класса. Полагаю, что дальше этого примера, ваша демонстрация ФП на паскале не сдвинется.
VTT>Совершенно не принципиально, объект первого класса это или нет.
Конечно, не принципиально. Вы спрашивали про отличия.
VTT>Вы же сами только что провозглашали, что главное — это не задействовать глобальное или локальное состояние.
Это ваше провозглашение (http://rsdn.org/forum/job/6523091.1
) VTT>И в том, и в другом примере они не задействованы, никаких побочных эффектов.
Проблема вашего примера в том, что по нему приходится судить об уровне сложности задач, которые можно решать на паскале с помощью ФП. И по-моему этот уровень довольно невысок.
Вот если вы продемонстрируете мне вычисление хотя бы факториала (на паскале без описания изменения состояния), то я признаю что был не прав.
S>>И вы спрашиваете меня, откуда идея о противоречиях подходов?
VTT>То, что одно развилось как рационализация машинных команд, а второе — как попытки реализовать некоторый формализм, это не противоречие. VTT>Это просто исторически сложившееся положение вещей. VTT>Если бы у этих подходов были противоречия, то их затруднительно было бы использовать совместно. VTT>И мультипарадигменный подход вряд ли получил такое широкое распространение.
На мой взгляд тут вот что: или вы описываете изменение состояния, или не описываете. И тут одно противоречит другому, третьего просто нет.
И то что в программе на паскале одна функция из сотни не изменяет состояние явно еще не повод утверждать что используется функционалный подход. Или даже мультипарадигменный.
Давайте говорить хотя бы о тенденциях решать задачи в обозначенном подходе, а не просто писать тавтологические функции.
Здравствуйте, sharpcoder, Вы писали:
S>Теперь есть знакомая, 20 лет, учится на финансиста, хочет освоить профессию программиста но не может подступиться.
Я, возможно, в сентябре буду набирать группу из 2-3 человек учить программировать с нуля. Обычно учу старшеклассников, но в этот раз, возможно, группа будет разновозрастной. Если все сложится именно так, то мне было бы интересно взять в группу девушку: в этом случае между учениками какие-то искры проскакивают, какая-то более оживленная соревновательность, что ли...
Программа примерно такая: hello world — синтаксис Си — какая-то алгоритмика на Си типа сортировок, строк на 50 — malloc/free — файлы — структуры — классы — дипломный проект "класс string" или "динамический массив int'ов". Все вместе занимает где-то учебный год примерно. Занятия происходят раз в неделю у меня дома (м.Пр-т Вернадского), они бесплатные.
P.S. За честь девушки можно не волноваться: она ровесница моему сыну
S>Программа примерно такая: hello world — синтаксис Си — какая-то алгоритмика на Си типа сортировок, строк на 50 — malloc/free — файлы — структуры — классы — дипломный проект "класс string" или "динамический массив int'ов". Все вместе занимает где-то учебный год примерно.
Здравствуйте, TMU_1, Вы писали:
S>>Программа примерно такая: hello world — синтаксис Си — какая-то алгоритмика на Си типа сортировок, строк на 50 — malloc/free — файлы — структуры — классы — дипломный проект "класс string" или "динамический массив int'ов". Все вместе занимает где-то учебный год примерно.
TMU>Если не секрет, почему именно С ?
А мне самому так проще
Паскаль в данном случае, наверное, был бы уместнее, но я на нем в последний раз программил, дай Бог памяти, на Delphi 3.0; все же остальное намного хуже в смысле поставленных целей.
Мне, кстати, кажется, что результат с Си получается лучше, чем получился бы с паскалём. В самом начале детям, как мне кажется, пофиг на чем программить: в любом случае приходится заставлять себя ломать мышление на новый манер. А потом, когда через год детки уже втянулись, у них открываются более широкие перспективы, т.к. сейчас почти все основано на сишном синтаксисе и т.о. перейти с моих учебных заданий на учебные задания школьные им будет намного легше.
Здравствуйте, sushko, Вы писали:
S>Я, возможно, в сентябре буду набирать группу из 2-3 человек учить программировать с нуля. Обычно учу старшеклассников, но в этот раз, возможно, группа будет разновозрастной. Если все сложится именно так, то мне было бы интересно взять в группу девушку: в этом случае между учениками какие-то искры проскакивают, какая-то более оживленная соревновательность, что ли...
S>Программа примерно такая: hello world — синтаксис Си — какая-то алгоритмика на Си типа сортировок, строк на 50 — malloc/free — файлы — структуры — классы — дипломный проект "класс string" или "динамический массив int'ов". Все вместе занимает где-то учебный год примерно. Занятия происходят раз в неделю у меня дома (м.Пр-т Вернадского), они бесплатные.
S>P.S. За честь девушки можно не волноваться: она ровесница моему сыну
A>>Я посещал дискотеки ростовского меда и мехмата (на западном филиал ргу). Но я уже стар и ни в какое сравнение с моими друзьями (которые в общаге строительного с одногрупницами оставались на ночь). __>"Я посещал дискотеки"... Друг мой как же жалко это звучит . Теперь я понимаю почему вы купили женский лансер а не бимер как ваш покорный слуга. У вас слабая кровь друг мой вам надо колоть тестестерон. Но боюсь и это вам не поможет. Гормоны можно вколоть а вот силу духа и смелость, инстинкты настоящего мужчины увы
TMU>>Признавайся, ты ей Рихтера подсунул? Издевался над девушкой, да?
S>Да, из хороших побуждений. Так спросила, я вспомнил эту хорошую книжку (которую сам читал по диагонали).
Чтобы писать под .НЕТ, достаточно Троелсена. Он объясняет и сам Си Шарп и саму платформу. Не без воды, но очень неплохо. А вообще ей лучше по Питону какую-нибудь книжку. Ну и с твоей стороны надо бы объяснить что такое переменные, циклы, классы и прочие основы.
Здравствуйте, Олег К., Вы писали:
TMU>>>Признавайся, ты ей Рихтера подсунул? Издевался над девушкой, да?
S>>Да, из хороших побуждений. Так спросила, я вспомнил эту хорошую книжку (которую сам читал по диагонали).
ОК>Чтобы писать под .НЕТ, достаточно Троелсена. Он объясняет и сам Си Шарп и саму платформу. Не без воды, но очень неплохо. А вообще ей лучше по Питону какую-нибудь книжку. Ну и с твоей стороны надо бы объяснить что такое переменные, циклы, классы и прочие основы.
Что именно девушка хочет кодить? Веб прогеру актуально Node.JS + Angular. Data Scientist- у актуально Mathlab, Mathematica, Python, R, C++. Переменные и классы, как и Рихтер, не нужны- пусть учит гномиков.