Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/187: Рейтинг темы: голосов - 187, средняя оценка - 4.77
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
27.08.2015, 19:44
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от korvin_ Посмотреть сообщение
Программа.
________________
Это и есть ручками

Добавлено через 2 минуты
Цитата Сообщение от korvin_ Посмотреть сообщение
В математике, кстати, нет операторов
Вы математику наверное дальше школьного курса не изучали?
Цитата Сообщение от korvin_ Посмотреть сообщение
так что твоё высказывание только подтверждает, что функциональщики --- хорошие программисты.
Не любой хороший математик станет хорошим программистом. Только ленивый.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.08.2015, 19:44
Ответы с готовыми решениями:

ООП или функции
Привет форумчанам! Такой вопрос нарисовался, Везде ли стоит применять ООП ? Например сейчас пишу маленький блог с простеньким...

ООП или Структурный подход?
Доброго времени суток! Могу ли я использовать процедурный подход программирования в PHP для разработки портала бронирование отелей с...

литература и/или статьи по ООП
Предложите литературу или скорее статьи по ООП, но с уклоном в элементарное понимание что это и для чего нужно а не обьяснение 3-х китов...

926
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
27.08.2015, 19:47
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Это и есть ручками
Нет. Это автоматически. Компилятор, внезапно, тоже программа.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вы математику наверное дальше школьного курса не изучали?
Откуда такие мысли? И как же в "математике дальше школьного курса" записывается оператор goto?

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Не любой хороший математик станет хорошим программистом. Только ленивый.
И? Какое отношение эта фраза имеет к моему высказыванию?
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
27.08.2015, 20:15
Цитата Сообщение от korvin_ Посмотреть сообщение
Откуда такие мысли? И как же в "математике дальше школьного курса" записывается оператор goto?
Так же как и в школьном. Кстати еще в четвертом классе объясняют что слово "алгоритм" является искажением "Аль-Хорезми говорил" - так Аль-Хорезми начинал трактаты о способах (четких последовательностях действий приводящих к решению либо к выводу что решения нет) решения математических задач. И операторов условного перехода там тоже на каждом шагу, взять тот же алгоритм решения квадратного уравнения.
Цитата Сообщение от korvin_ Посмотреть сообщение
Нет. Это автоматически. Компилятор, внезапно, тоже программа.
Как бы VMT в ФП насколько понимаю ручками собирать надо, ежели оно вдруг появится. Оно конечно бывает полезно, для мутирующих объектов, которым нужно мутировать оставаясь по тому же указателю, но лучше для таких мутантов предусмотреть контейнер-обертку.

Добавлено через 1 минуту
Цитата Сообщение от korvin_ Посмотреть сообщение
И? Какое отношение эта фраза имеет к моему высказыванию?
Ну вы же не ленитесь делать за компилятор дурную работу.

Добавлено через 2 минуты
А мне вечно лень. Там где даже моском шевелить надо. Шарики от шевеления скрипеть начинают, поэтому предпочитают поскрипеть чуть-чуть и немного в другую сторону, чтобы вместо них комп извилинами транзисторил.

Добавлено через 2 минуты
На самом деле программист должен знать и изучать не математику или какую либо другую науку, а в первую очередь работу своего моска. Т.е. выяснять как эта жижа поносного цвета решает ту или иную задачу.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
27.08.2015, 21:18
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Так же как и в школьном.
Серьёзно? Пруф предоставишь?

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
И операторов условного перехода там тоже на каждом шагу, взять тот же алгоритм решения квадратного уравнения.
if в математике --- выражение (expression), а не оператор (statement).

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Как бы VMT в ФП насколько понимаю ручками собирать надо, ежели оно вдруг появится.
Плохо понимаешь, всё легко автоматизируется и пакуется в библиотеку. И тут дело не столько в ФП/ООП/ИТП, а в выразительности языковых средств.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну вы же не ленитесь делать за компилятор дурную работу.
Забавно. Так как компилятор плюсов реализует паттерн-матчинг или алгебраические типы? Или по-твоему std::cout тоже встроена в компилятор?
0
27.08.2015, 21:26

Не по теме:

Цитата Сообщение от korvin_ Посмотреть сообщение
ИТП
импнративное тупое программирование?

0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
27.08.2015, 22:05

Не по теме:

Цитата Сообщение от castorsky Посмотреть сообщение
императивное тупое программирование?
И Тому Подобное. =)



Добавлено через 31 минуту
http://www.twanvl.nl/blog/agda/sorting
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
27.08.2015, 22:47
Цитата Сообщение от korvin_ Посмотреть сообщение
if в математике --- выражение (expression), а не оператор (statement).
Да хоть в к...бенематике. как его не назови а при определенных условиях перейти на страницу n манускрипта к выполнению операции по адресу n
И как его не обзывай смысл не меняется. кстати занесение в стек тоже присваивание.
Цитата Сообщение от korvin_ Посмотреть сообщение
И тут дело не столько в ФП/ООП/ИТП, а в выразительности языковых средств.
А языковые средства одни и те же. С++ например. Офигенно выразительная штука. Гибок и могуч С++ язык. как сказал классик.

Добавлено через 26 минут
Цитата Сообщение от korvin_ Посмотреть сообщение
Забавно. Так как компилятор плюсов реализует паттерн-матчинг или алгебраические типы? Или по-твоему std::cout тоже встроена в компилятор?
Вопрос ведь не в этом а как и кем собирается VMT для конкретно создаваемого экземпляра конкретного класса. В ООП языках компилятор автоматически генерит код создания VMT по списку если она внутренняя или проставляет указатель на внешнюю если установлена настройка внешней VMT. в случае ФП как понимаю доступно только динамическое агрегирование. т.е. на каждый новый тип объекта пиши функцию инициализации VMT
При этом динамическое аггрегирование либо упаковано в рамки наследования и полиморфизма, либо сто лет не нужно в подавляющем большинстве случаев, т.к. коду-обработчику экземпляров при выходе за эти рамки прийдется разбираться чаво там нагреггировано перед непосредственно обработкой, поэтому аггрегацию и сделали статической и вменили в обязанность компилятору, что никоим образом не блокирует возможность динамической агреггации в случае если таковая понадобится.

Добавлено через 51 секунду
Правда код все равно получится некошерным с точки зрения ФП-ников. т.к. если есть таблица значит есть и присваивания.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
28.08.2015, 16:10
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Да хоть в к...бенематике. как его не назови а при определенных условиях перейти на страницу n манускрипта к выполнению операции по адресу n
И как его не обзывай смысл не меняется. кстати занесение в стек тоже присваивание.
Т.е. математического определения оператора goto не будет? Так я и думал.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А языковые средства одни и те же.
Примитивы разные, средства их комбинирования разные, средства абстрагирования разные.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
С++ например. Офигенно выразительная штука
Ага-ага, выражает уныние и желание застрелиться.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Гибок и могуч С++ язык. как сказал классик.
Достоевский? Сомневаюсь.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вопрос ведь не в этом а как и кем собирается VMT для конкретно создаваемого экземпляра конкретного класса.
Зачем ты тогда об этом спрашиваешь?

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
в случае ФП как понимаю доступно только динамическое агрегирование. т.е. на каждый новый тип объекта пиши функцию инициализации VMT
Нет. Всё автоматически делает программа, которая не встроена в компилятор, а просто реализована на самом языке в виде библиотеки/модуля/пакета.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Правда код все равно получится некошерным с точки зрения ФП-ников. т.к. если есть таблица значит есть и присваивания.
Да ты чё?
http://docs.racket-lang.org/re... hash%29%29
http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
28.08.2015, 22:03
Цитата Сообщение от korvin_ Посмотреть сообщение
Ага-ага, выражает уныние и желание застрелиться.
У тех кто его неосилил.
Цитата Сообщение от korvin_ Посмотреть сообщение
Примитивы разные, средства их комбинирования разные, средства абстрагирования разные.
Это вопрос парадигмы а не языка. С++ пригоден как для ООП так и для ФП парадигмы.
Цитата Сообщение от korvin_ Посмотреть сообщение
Да ты чё?
Ну да подход ФП-ников - вместо вычисленного значения вернуть указатель на функции которая его вычисляет с забинденными в замыкании параметрами для вычисления именно этого значения. При этом они забывают что сам адрес функции тоже прийдется где то сохранять то бишь куда-то присваивать.
0
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
28.08.2015, 23:05
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
При этом они забывают что сам адрес функции тоже прийдется где то сохранять то бишь куда-то присваивать.
Если охота, обозначьте его буквой А, зачем присваивать-то?
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
28.08.2015, 23:37
Цитата Сообщение от helter Посмотреть сообщение
Если охота, обозначьте его буквой А, зачем присваивать-то?
Так. Учим матчасть. Переменная есть именованная ячейка памяти. присваивание - запись в переменную. т.е сохранили где либо этот адрес- уже операция присваивания. Как этот адрес не обзывай хоть буквой A хоть по номеру (адресу)
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
28.08.2015, 23:48
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
С++ пригоден как для ООП так и для ФП парадигмы.
Сильное заявление.
0
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
29.08.2015, 00:21
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Так. Учим матчасть. Переменная есть именованная ячейка памяти. присваивание - запись в переменную. т.е сохранили где либо этот адрес- уже операция присваивания. Как этот адрес не обзывай хоть буквой A хоть по номеру (адресу)
Неа, всё зависит. Обозначения даже в математике бывают. Иначе как квадратные уравнения решать? Дискриминант же не будешь два раза пересчитывать, его нужно обозначить буквой D. Использование обозначений никак не противоречит ни математике, ни функциональности, и использование машин с любыми памятями ни при чём.

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

Я могу даже пояснить на примере, как обозначения сводятся к функциям.

Пусть на входе есть коэффициенты a, b, c квадратного уравнения, а вернуть надо два корня (пусть комплексных). Математически задача решается так:

пусть D = b^2 - 4ac
((-b - sqrt D)/(2a), (-b + sqrt D)/(2a))

И эта конструкция близко к тексту выражается хоть на лиспе, хоть на хаскелле. На хаскелле ещё можно писать where, это прекрасно.

Как это превратить в функции? Очень просто: вычисляется композиция функций
https://www.cyberforum.ru/cgi-bin/latex.cgi?(a, b, c) \mapsto (a, b, c, b^2 - 4ac)<br />
(a, b, c, D) \mapsto \left(\frac{-b - \sqrt D}{2a}, \frac{-b + \sqrt D}{2a}\right)
Чистая функциональность. А используете ли вы в реализации ячейки памяти в машине или в своих нейронах, для математики неважно.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
29.08.2015, 00:27
Цитата Сообщение от helter Посмотреть сообщение
Чистая функциональность. А используете ли вы в реализации ячейки памяти в машине или в своих нейронах, для математики неважно.
Зато важны проверки на неотрецательность подкоренного выражения и отличность от нуля делителя.
0
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
29.08.2015, 00:44
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Зато важны проверки на неотрецательность подкоренного выражения и отличность от нуля делителя.
Я хотел заострить внимание на идее обозначений, а не проверок. Для простоты можно принять, что упомянутые функции действуют в https://www.cyberforum.ru/cgi-bin/latex.cgi?{{\mathbb R}} \setminus \{0\} \times {\mathbb R} \times {\mathbb R} \rightarrow {{\mathbb R}} \setminus \{0\} \times {\mathbb R} \times {\mathbb R} \times {\mathbb R} и https://www.cyberforum.ru/cgi-bin/latex.cgi?{{\mathbb R}} \setminus \{0\} \times {\mathbb R} \times {\mathbb R} \times {\mathbb R} \rightarrow {\mathbb C}^2, тогда эти вопросы снимаются.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
29.08.2015, 11:37
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
У тех кто его неосилил.
Скорее наоборот, как раз неофиты в большинстве своём испытывают детский восторг.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Это вопрос парадигмы, а не языка.
ООП в C++, SmallTalk, Io, CLOS сильно отличаются друг от друга, разные примитивы, разные способы их комбинирования и т.п. Так что нет, это вопрос не парадигмы.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну да подход ФП-ников - вместо вычисленного значения вернуть указатель на функции которая его вычисляет
Это вообще к чему было? По первой ссылке иммутабельные хэш-таблицы без всякой ленивости и возврата указателей на функции.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
29.08.2015, 13:06
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Переменная есть именованная ячейка памяти
Только в головах упоротых императивщиков. Variable не может рассматриваться в отрыве от symbolic name поэтому сам термин понимается двояко, либо как хранилище, либо как связанное имя. На самом деле это и хранилище и связанное имя. Только Вам почему-то не понять, что программисту вовсе не обязательно иметь доступ к "сейфу" с адресом и развитые люди переложили эту работу на компилятор. Так что в ФП как правило манипулируют вторым значением термина, в то время как в ИП -- первым.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
29.08.2015, 13:39
Цитата Сообщение от helter Посмотреть сообщение
Я хотел заострить внимание на идее обозначений,
-> вот именно так и выглядел значек пррисваивания в исходе. на заре высокоуровневых языков. в языке планкалкуль.
Цитата Сообщение от castorsky Посмотреть сообщение
Только Вам почему-то не понять, что программисту вовсе не обязательно иметь доступ к "сейфу" с адресом и развитые люди переложили эту работу на компилятор.
Скажем так С++ не запрещает обращение по адресу, хотя и связывает адреса с именами. Все ж таки веселее передать указатель чем n мозгобайт в стек пихать на каждом вызове

Добавлено через 1 минуту
Цитата Сообщение от korvin_ Посмотреть сообщение
Скорее наоборот, как раз неофиты в большинстве своём испытывают детский восторг.
Обычно видел у неофитов круглые глаза и кучу матов. а процентов 60-70 так вообще не осиливают С++.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
29.08.2015, 13:55
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Все ж таки веселее передать указатель чем n мозгобайт в стек пихать на каждом вызове
Я же сказал это работа лежит на компиляторе. Это никак не означает что всё передается по значению. Проблемы с логическим выводом?
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Обычно видел у неофитов круглые глаза и кучу матов. а процентов 60-70 так вообще не осиливают С++.
Ой лол, c++'су самого бы себя осилить.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
29.08.2015, 14:09
Цитата Сообщение от castorsky Посмотреть сообщение
Я же сказал это работа лежит на компиляторе. Это никак не означает что всё передается по значению. Проблемы с логическим выводом?
У кого? И что ж это за супер-дупер ИИ у компилятора который без указания программиста различает где эти мозгобайты нужно по указателю а где таки в стек запихнуть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.08.2015, 14:09

Гавнокоддинг или учить ООП?
Здравствуйте, дело такое, я пишу все свои скрипты в гавнокоддинге. Дело в том, что у меня все работает, что не работает спрашиваю на...

прога или игра ооп
Здравствуйте)Помогите пожалуйста)Нужно в ближайшее время сдать курсовую работу.Требуется сдать программу какую-нибудь либо игру(желательно...

Mysqli ООП или процедурный подход
Вот интересно, услышать мнение специалистов, что лучшие использовать при работе с mysqli ООП или процедурный подход, что больше используют...

Определить, программа с ооп или нет
Здравствуйте)Помогите пожалуйста разобраться с программой)Мне нужно сдать курсовую по объектно-ориентированному языку на С#.Мне здесь...

Изучаю ООП можно или нет так?
Это index: &lt;?php include('classes/database.class.php'); $object = new DB; $nick = &quot;Alex&quot;; $password = &quot;1&quot;; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
760
Ответ Создать тему
Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru