Re[14]: С нуля научиться программировать девушке
От: VTT http://vtt.to
Дата: 12.08.16 17:56
Оценка:
Здравствуйте, samius, Вы писали:

VTT>>Ну уважаемый, вы с размаху сели в лужу.

S>Пожалуйста, можно подробнее?

Перечитывайте про противоречия примерно с этого места
Автор: samius
Дата: 07.08.16


S>Если они эквивалентны, как вы их отличаете друг от друга? А, главное, зачем?

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

S>Какое на ваш взгляд ключевое отличие императивного подхода от функционального?

1) сопоставление аргументов результату, без использования глобального или локального состояния
2) реализация какого-либо математического формализма, типа лямбда-исчисления
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
Re[15]: С нуля научиться программировать девушке
От: samius Япония http://sams-tricks.blogspot.com
Дата: 12.08.16 18:45
Оценка:
Здравствуйте, VTT, Вы писали:

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


VTT>>>Ну уважаемый, вы с размаху сели в лужу.

S>>Пожалуйста, можно подробнее?

VTT>Перечитывайте про противоречия примерно с этого места
Автор: samius
Дата: 07.08.16

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

S>>Если они эквивалентны, как вы их отличаете друг от друга? А, главное, зачем?

VTT>Эквивалентность не означает одинаковости.
Действительно.

S>>Какое на ваш взгляд ключевое отличие императивного подхода от функционального?

VTT>1) сопоставление аргументов результату, без использования глобального или локального состояния
Я бы сказал, что это отличие функционального подхода, а не императивного. Полагаю, что вы просто перепутали.
Ну так вы готовы продемонстрировать ФП на паскале без использования глобального или локального состояния явно?

VTT>2) реализация какого-либо математического формализма, типа лямбда-исчисления

Если вы здесь не ошиблись, то значит машина Тьюринга демонстрирует нам образцы функционального подхода. См. тезис Тьюринга.
Re[16]: С нуля научиться программировать девушке
От: VTT http://vtt.to
Дата: 12.08.16 19:56
Оценка:
Откуда у вас навязчивая идея о противоречиях этих подходов?
Любую императивную программу можно представить как цепочку вызовов функций, каждая из которых принимает на вход единственный аргумент — "глобальное состояние" от предыдущей и возвращает новое "глобальное состояние" соответствующее исполнению одной команды.
Любую функциональную программу можно представить как последовательность команд.

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 функциями" для ясности (хотя это вроде и так понятно)...
Если язык основывается на формализме с узлами, то это будет уже узло-ориентированный язык или что-нибудь подобное.
Но суть в том, что императивные языки по большей части происходят от записи машинных инструкций.
А функциональные ориентируются на определенные математический формализм, причем по возможности близко к математическим обозначениям.
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
Отредактировано 12.08.2016 20:03 VTT . Предыдущая версия .
Re[17]: С нуля научиться программировать девушке
От: samius Япония http://sams-tricks.blogspot.com
Дата: 14.08.16 19:41
Оценка:
Здравствуйте, VTT, Вы писали:

VTT>Откуда у вас навязчивая идея о противоречиях этих подходов?

см ниже
VTT>Любую императивную программу можно представить как цепочку вызовов функций, каждая из которых принимает на вход единственный аргумент — "глобальное состояние" от предыдущей и возвращает новое "глобальное состояние" соответствующее исполнению одной команды.
Представить можно, но от этого любая императивная программа не становится программой, написанной в функциональном подходе.
VTT>Любую функциональную программу можно представить как последовательность команд.
э, и что?

S>>Ну так вы готовы продемонстрировать ФП на паскале без использования глобального или локального состояния явно?

VTT>"Найдите 10 отличий":
VTT>паскаль
VTT>
VTT>function plus_one(x: integer): integer;
VTT>begin
VTT>    plus_one := x + 1
VTT>end;
VTT>

VTT>хаскель
VTT>
VTT>plus_one :: (Integral x) => x -> Integral 
VTT>plus_one x = x + 1
VTT>

Зачем 10? достаточно одно. Во втором примере функция — объект первого класса. Полагаю, что дальше этого примера, ваша демонстрация ФП на паскале не сдвинется.

S>>Если вы здесь не ошиблись, то значит машина Тьюринга демонстрирует нам образцы функционального подхода. См. тезис Тьюринга.


VTT>Наверное мне стоило бы написать "математического формализма c функциями" для ясности (хотя это вроде и так понятно)...

VTT>Если язык основывается на формализме с узлами, то это будет уже узло-ориентированный язык или что-нибудь подобное.
VTT>Но суть в том, что императивные языки по большей части происходят от записи машинных инструкций.
VTT>А функциональные ориентируются на определенные математический формализм, причем по возможности близко к математическим обозначениям.
И вы спрашиваете меня, откуда идея о противоречиях подходов?
Re: С нуля научиться программировать девушке
От: TMU_1  
Дата: 15.08.16 07:13
Оценка:
S>Теперь есть знакомая, 20 лет, учится на финансиста, хочет освоить профессию программиста но не может подступиться. Все книжки которые я знаю, дают скорее тонкости конкретного языка и платформы, а не сам навык программировать. Так, попытка изучить c# по рихтеру у нее провалилась.



Признавайся, ты ей Рихтера подсунул? Издевался над девушкой, да?
Приходит человек, просит популярно что-нибудь по физике объяснить, а ты ему такой:
"Вот тебе 9 томов Ландавшица! Да! Сначала Фихтенгольц!"
Re[2]: С нуля научиться программировать девушке
От: sharpcoder Россия  
Дата: 15.08.16 11:52
Оценка:
Здравствуйте, TMU_1, Вы писали:

S>>Теперь есть знакомая, 20 лет, учится на финансиста, хочет освоить профессию программиста но не может подступиться. Все книжки которые я знаю, дают скорее тонкости конкретного языка и платформы, а не сам навык программировать. Так, попытка изучить c# по рихтеру у нее провалилась.




TMU>Признавайся, ты ей Рихтера подсунул? Издевался над девушкой, да?


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

TMU>Приходит человек, просит популярно что-нибудь по физике объяснить, а ты ему такой:

TMU>"Вот тебе 9 томов Ландавшица! Да! Сначала Фихтенгольц!"

Потом через месяц я понял, что ошибся с рекомендацией
Re[3]: С нуля научиться программировать девушке
От: TMU_1  
Дата: 16.08.16 11:38
Оценка:
TMU>>Признавайся, ты ей Рихтера подсунул? Издевался над девушкой, да?
S>Да, из хороших побуждений. Так спросила, я вспомнил эту хорошую книжку (которую сам читал по диагонали).



Блин, Рихтер что, был твоей первой книжкой по программированию? Ведь нет же, уверен на 100%. А другому человеку сразу Рихтером по башке
Re[4]: С нуля научиться программировать девушке
От: Берсерк СССР  
Дата: 16.08.16 18:16
Оценка: +1
Здравствуйте, a_g_99, Вы писали:

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


Дружище, Артемка, в отличие от вас, не побоялся приложить фото своей подруги жизни к своим сообщениям. Сможем ли мы прикоснуться к прекрасному и тоже лицезреть фото той неописуемой красавицы, которой посчастливилось сойтись с таким гигантом мысли и всего остального, как вы?
Форум без флуда — как без еды посуда
Re[18]: С нуля научиться программировать девушке
От: VTT http://vtt.to
Дата: 16.08.16 18:58
Оценка:
Здравствуйте, samius, Вы писали:

S>Зачем 10? достаточно одно. Во втором примере функция — объект первого класса. Полагаю, что дальше этого примера, ваша демонстрация ФП на паскале не сдвинется.


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

S>И вы спрашиваете меня, откуда идея о противоречиях подходов?


То, что одно развилось как рационализация машинных команд, а второе — как попытки реализовать некоторый формализм, это не противоречие.
Это просто исторически сложившееся положение вещей.
Если бы у этих подходов были противоречия, то их затруднительно было бы использовать совместно.
И мультипарадигменный подход вряд ли получил такое широкое распространение.
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
Re[5]: С нуля научиться программировать девушке
От: a_g_99 США http://www.hooli.xyz/
Дата: 16.08.16 19:09
Оценка:
Здравствуйте, Берсерк, Вы писали:

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


Друг мой firstly некрасиво называть Артёма артемкой. Это просто неуважительно. Многие из живущих в Австралии не заслуживают уважения, а многие из живущих в России заслуживают но не имеют. Вы можете вернуть им (живущим в России) уважение? То-то же. Тогда не спешите презирать и Артема. Никому, даже мудрейшему из мудрых, не дано видеть всех хитросплетений судьбы. Даже вашему полубогу Владу.

Во-вторых я не буду этого делать. Моя прекрасная жена не мясо на картинке чтобы хвастаться. Я люблю её и уважаю и не стану заниматься такой чепухой.
Артём это сделал (выложил фото своей жены) чтобы хотя бы втайне получить власть над своей женой (в жизни она его 100% унижает) но мне это не нужно — у нас полная любовь.

И между нами жена Артема довольно плохо выглядит в сексуальном плане (по крайней мере на фото). Возможно в молодости она и была милой дамой, но возраст (ей же под пятьдесят) победил её. Это случается не со всеми женщинами, некоторые наоборот в 40 лет набирают сексуальность. Впрочем я не осуждаю. Уважаю Артема в любом случае. Как и вас Друг мой!
Re[6]: С нуля научиться программировать девушке
От: Artеm Австралия жж
Дата: 17.08.16 00:23
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>И между нами жена Артема довольно плохо выглядит в сексуальном плане (по крайней мере на фото). Возможно в молодости она и была милой дамой, но возраст (ей же под пятьдесят) победил её. Это случается не со всеми женщинами, некоторые наоборот в 40 лет набирают сексуальность. Впрочем я не осуждаю. Уважаю Артема в любом случае. Как и вас Друг мой!


Жену Артёмки можно спутать с школьницей. Если Вы ей дадите 50 лет, тогда вашу, должно быть, трудно отличить от 10-летней?
  Скрытый текст


__>Во-вторых я не буду этого делать. Моя прекрасная жена не мясо на картинке чтобы хвастаться. Я люблю её и уважаю и не стану заниматься такой чепухой.

__>Артём это сделал (выложил фото своей жены) чтобы хотя бы втайне получить власть над своей женой (в жизни она его 100% унижает) но мне это не нужно — у нас полная любовь.
Душа красивая?
Re[19]: С нуля научиться программировать девушке
От: samius Япония http://sams-tricks.blogspot.com
Дата: 17.08.16 04:27
Оценка:
Здравствуйте, VTT, Вы писали:

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


S>>Зачем 10? достаточно одно. Во втором примере функция — объект первого класса. Полагаю, что дальше этого примера, ваша демонстрация ФП на паскале не сдвинется.


VTT>Совершенно не принципиально, объект первого класса это или нет.

Конечно, не принципиально. Вы спрашивали про отличия.

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

Это ваше провозглашение (http://rsdn.org/forum/job/6523091.1
Автор: VTT
Дата: 12.08.16
)
VTT>И в том, и в другом примере они не задействованы, никаких побочных эффектов.

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

S>>И вы спрашиваете меня, откуда идея о противоречиях подходов?


VTT>То, что одно развилось как рационализация машинных команд, а второе — как попытки реализовать некоторый формализм, это не противоречие.

VTT>Это просто исторически сложившееся положение вещей.
VTT>Если бы у этих подходов были противоречия, то их затруднительно было бы использовать совместно.
VTT>И мультипарадигменный подход вряд ли получил такое широкое распространение.
На мой взгляд тут вот что: или вы описываете изменение состояния, или не описываете. И тут одно противоречит другому, третьего просто нет.
И то что в программе на паскале одна функция из сотни не изменяет состояние явно еще не повод утверждать что используется функционалный подход. Или даже мультипарадигменный.
Давайте говорить хотя бы о тенденциях решать задачи в обозначенном подходе, а не просто писать тавтологические функции.
Re: С нуля научиться программировать девушке
От: sushko Россия  
Дата: 17.08.16 11:07
Оценка: :)
Здравствуйте, sharpcoder, Вы писали:

S>Теперь есть знакомая, 20 лет, учится на финансиста, хочет освоить профессию программиста но не может подступиться.


Я, возможно, в сентябре буду набирать группу из 2-3 человек учить программировать с нуля. Обычно учу старшеклассников, но в этот раз, возможно, группа будет разновозрастной. Если все сложится именно так, то мне было бы интересно взять в группу девушку: в этом случае между учениками какие-то искры проскакивают, какая-то более оживленная соревновательность, что ли...

Программа примерно такая: hello world — синтаксис Си — какая-то алгоритмика на Си типа сортировок, строк на 50 — malloc/free — файлы — структуры — классы — дипломный проект "класс string" или "динамический массив int'ов". Все вместе занимает где-то учебный год примерно. Занятия происходят раз в неделю у меня дома (м.Пр-т Вернадского), они бесплатные.

P.S. За честь девушки можно не волноваться: она ровесница моему сыну
Бесплатный генератор отчетов для программ на C/C++
http://www.oxetta.com
Re[2]: С нуля научиться программировать девушке
От: TMU_1  
Дата: 17.08.16 18:28
Оценка:
S>Программа примерно такая: hello world — синтаксис Си — какая-то алгоритмика на Си типа сортировок, строк на 50 — malloc/free — файлы — структуры — классы — дипломный проект "класс string" или "динамический массив int'ов". Все вместе занимает где-то учебный год примерно.



Если не секрет, почему именно С ?
Re[3]: С нуля научиться программировать девушке
От: sushko Россия  
Дата: 17.08.16 19:32
Оценка:
Здравствуйте, TMU_1, Вы писали:

S>>Программа примерно такая: hello world — синтаксис Си — какая-то алгоритмика на Си типа сортировок, строк на 50 — malloc/free — файлы — структуры — классы — дипломный проект "класс string" или "динамический массив int'ов". Все вместе занимает где-то учебный год примерно.


TMU>Если не секрет, почему именно С ?


А мне самому так проще

Паскаль в данном случае, наверное, был бы уместнее, но я на нем в последний раз программил, дай Бог памяти, на Delphi 3.0; все же остальное намного хуже в смысле поставленных целей.

Мне, кстати, кажется, что результат с Си получается лучше, чем получился бы с паскалём. В самом начале детям, как мне кажется, пофиг на чем программить: в любом случае приходится заставлять себя ломать мышление на новый манер. А потом, когда через год детки уже втянулись, у них открываются более широкие перспективы, т.к. сейчас почти все основано на сишном синтаксисе и т.о. перейти с моих учебных заданий на учебные задания школьные им будет намного легше.
Бесплатный генератор отчетов для программ на C/C++
http://www.oxetta.com
Отредактировано 17.08.2016 19:35 sushko . Предыдущая версия .
Re[2]: С нуля научиться программировать девушке
От: Antidote  
Дата: 17.08.16 22:38
Оценка:
Здравствуйте, sushko, Вы писали:

S>Я, возможно, в сентябре буду набирать группу из 2-3 человек учить программировать с нуля. Обычно учу старшеклассников, но в этот раз, возможно, группа будет разновозрастной. Если все сложится именно так, то мне было бы интересно взять в группу девушку: в этом случае между учениками какие-то искры проскакивают, какая-то более оживленная соревновательность, что ли...


S>Программа примерно такая: hello world — синтаксис Си — какая-то алгоритмика на Си типа сортировок, строк на 50 — malloc/free — файлы — структуры — классы — дипломный проект "класс string" или "динамический массив int'ов". Все вместе занимает где-то учебный год примерно. Занятия происходят раз в неделю у меня дома (м.Пр-т Вернадского), они бесплатные.


S>P.S. За честь девушки можно не волноваться: она ровесница моему сыну


А зачем тебе это? "Делай добро"?
Чему бы грабли ни учили, а сердце верит в чудеса.
Re[3]: С нуля научиться программировать девушке
От: sushko Россия  
Дата: 18.08.16 06:50
Оценка:
Здравствуйте, Antidote, Вы писали:

A>А зачем тебе это? "Делай добро"?


И это тоже, но в основном потому, что самому нравится. Детки — они такие прикольные...
Бесплатный генератор отчетов для программ на C/C++
http://www.oxetta.com
Re[4]: С нуля научиться программировать девушке
От: TMU_1  
Дата: 18.08.16 07:27
Оценка:
A>>Я посещал дискотеки ростовского меда и мехмата (на западном филиал ргу). Но я уже стар и ни в какое сравнение с моими друзьями (которые в общаге строительного с одногрупницами оставались на ночь).
__>"Я посещал дискотеки"... Друг мой как же жалко это звучит . Теперь я понимаю почему вы купили женский лансер а не бимер как ваш покорный слуга. У вас слабая кровь друг мой вам надо колоть тестестерон. Но боюсь и это вам не поможет. Гормоны можно вколоть а вот силу духа и смелость, инстинкты настоящего мужчины увы



Жостко! Так его!
Re[3]: С нуля научиться программировать девушке
От: Олег К.  
Дата: 19.08.16 03:12
Оценка:
TMU>>Признавайся, ты ей Рихтера подсунул? Издевался над девушкой, да?

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


Чтобы писать под .НЕТ, достаточно Троелсена. Он объясняет и сам Си Шарп и саму платформу. Не без воды, но очень неплохо. А вообще ей лучше по Питону какую-нибудь книжку. Ну и с твоей стороны надо бы объяснить что такое переменные, циклы, классы и прочие основы.
Re[4]: С нуля научиться программировать девушке
От: Artеm Австралия жж
Дата: 19.08.16 08:32
Оценка:
Здравствуйте, Олег К., Вы писали:

TMU>>>Признавайся, ты ей Рихтера подсунул? Издевался над девушкой, да?


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


ОК>Чтобы писать под .НЕТ, достаточно Троелсена. Он объясняет и сам Си Шарп и саму платформу. Не без воды, но очень неплохо. А вообще ей лучше по Питону какую-нибудь книжку. Ну и с твоей стороны надо бы объяснить что такое переменные, циклы, классы и прочие основы.


Что именно девушка хочет кодить? Веб прогеру актуально Node.JS + Angular. Data Scientist- у актуально Mathlab, Mathematica, Python, R, C++. Переменные и классы, как и Рихтер, не нужны- пусть учит гномиков.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.