|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.07.2018, 21:21 | #1 | |||
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,597
|
Что же такое функциональное программирование, какие языки фунционального программирования, или почему википедия на русском врёт и дезинформирует программистов
Цитата:
что-то типа Википедия всё время даёт кривой перевод дающий вам не верные знания, русской википедией пользоваться вредно Читайте тут https://en.wikipedia.org/wiki/Functional_programming For subroutine-oriented programming, see Procedural programming. In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data. It is a declarative programming paradigm, which means programming is done with expressions or declarations[1] instead of statements. In functional code, the output value of a function depends only on the arguments that are passed to the function, so calling a function f twice with the same value for an argument x produces the same result f(x) each time; this is in contrast to procedures depending on a local or global state, which may produce different results at different times when called with the same arguments but a different program state. Eliminating side effects, i.e., changes in state that do not depend on the function inputs, can make it much easier to understand and predict the behavior of a program, which is one of the key motivations for the development of functional programming. Functional programming has its origins in lambda calculus, a formal system developed in the 1930s to investigate computability, the Entscheidungsproblem, function definition, function application, and recursion. Many functional programming languages can be viewed as elaborations on the lambda calculus. Another well-known declarative programming paradigm, logic programming, is based on relations.[2] In contrast, imperative programming changes state with commands in the source code, the simplest example being assignment. Imperative programming does have subroutine functions, but these are not functions in the mathematical sense. They can have side effects that may change the value of program state. Functions without return values therefore make sense. Because of this, they lack referential transparency, i.e., the same language expression can result in different values at different times depending on the state of the executing program А в российкой википедии функциональным программированием, походу назвали логическое, типа прологов. Не читайте российских газет и российскую википедию тоже не читайте. Там даже пример есть фунционального программирования, например, PHP, Python PHP Код:
Python Код:
https://ru.wikipedia.org/wiki/%D0%A4...BD%D0%B8%D0%B5 Цитата:
Цитата:
|
|||
25.07.2018, 23:08 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 27.11.2012
Сообщений: 5,678
|
Где они там? В русской просто более древние языки и отсутствие обновлений. Ещё отвратительная лексика, а многое и есть гугл-перевод + вандализм.
Благими намерениями устлана дорога на programmersforum.ru
Последний раз редактировалось MihalNik; 25.07.2018 в 23:27. |
26.07.2018, 00:27 | #3 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
В функциональном стиле можно писать на разных языках, не только чисто функциональных типа Хаскеля.
Это в первую очередь неизменяемость состояния и т.п. как в математике.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
26.07.2018, 00:58 | #4 | ||||||||||
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,597
|
Да я хаскель знать не знаю, если меня попросят привести пример, то самым известным для всех, не только для меня будет - PHP
Цитата:
далее Википедия на русском распространяет ошибочную информацию буквально везде. Очевидно, что функциональное программирование происходит от слов функция и программирование, допустим мы хотим узнать что такое функция. открывает русскую вики и получаем следующую не корректную информацию https://ru.wikipedia.org/wiki/%D0%A4...86%D0%B8%D1%8F Цитата:
https://ru.wikipedia.org/wiki/%D0%A4...D0%B8%D0%B5%29 Цитата:
Цитата:
Цитата:
Дальше читать не стал, чтобы поберечь свои и ваши нервы. Открываю английскую википедию, что вам советую делать всегда не оглядываясь на русскую. https://en.wikipedia.org/wiki/Function Цитата:
https://en.wikipedia.org/wiki/Function_object Цитата:
Цитата:
Ну и дальше пример, который информативен и понятен даже при гугл переводе. Цитата:
не читайте гугл перевод на прямую, используйте как опору для чтения английского текста, где не понятны некоторые слова вам. Цитата:
Код:
|
||||||||||
26.07.2018, 01:16 | #5 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Только одно наличие функций не принуждает к ФП.
В этом примере надо тогда хотя бы так: Код:
Цитата:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
26.07.2018, 01:21 | #6 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,597
|
тема не об этом, а о том что википедия врёт, и вводит в вас заблуждение.
функциональное программирование и процедурное это не одно и тоже подпрограмма - это процедура. функция - это функция. подпрограмма - это не функция. функция - это не подпрограмма. В российской википедии вообще пытаются писать про матан и чёрте что, хотя в голове всплывает в качестве примера сортировка пузырьком на паскале )) вот вам на дагдаггоуил. Код:
сортируется массив A размером N чисел. Код:
|
26.07.2018, 02:24 | #7 |
МегаМодератор
СуперМодератор
Регистрация: 27.11.2012
Сообщений: 5,678
|
В российском матане написано чёрте как.
В каждом отдельно взятом ЯП - своё собственное понятие функции. Речь про частоту разных определений в разных ЯП.
Благими намерениями устлана дорога на programmersforum.ru
|
26.07.2018, 02:41 | #8 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,597
|
Это как такое может быть? функции везде функции.
Передал параметры, получил результ. всё, дальше делай с ним что хочешь. Я не планирую ничего додумывать за тем кто изначально пишет бред. И вам не советую. |
26.07.2018, 08:24 | #9 |
Форумчанин
Регистрация: 30.04.2018
Сообщений: 171
|
Haskell в моде.
Последний раз редактировалось Vladimir.1982; 26.07.2018 в 08:28. |
26.07.2018, 08:55 | #10 |
Форумчанин
Регистрация: 30.04.2018
Сообщений: 171
|
Текст русскоязычной Википедии иногда не совпадает с английской.
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Что такое бизнес процессы и зачем они нужны, технологический процесс как более общее понятие. или перевод википедии на русском врёт. | Alar | Свободное общение | 22 | 24.09.2017 00:02 |
Какие языки программирование нужны чтоб создать такой сайт nasha-shkola2.ru | ja-va | Свободное общение | 3 | 19.09.2009 14:36 |
какие языки программирования и базы использовать? | кто выпил мое пиво | Помощь студентам | 1 | 24.01.2009 13:45 |
Какие языки программирования вы изучали? | LAN | Свободное общение | 3 | 10.11.2007 11:18 |