Что есть функциональное программирование?

12
maks_m
На сайте с 02.07.2013
Offline
101
1163

Процедурное и функциональное - одно и то же?

Как сильно влияет на скорость работы движка сайта тот факт, что он основан на объектно-ориентированном программировании?

Если движок функциональный, то все действия выполняется посредством функций и передачи им соответствующих параметров? Если ооп, то всё делается через классы?

F3
На сайте с 09.08.2010
Offline
99
#1

если про PHP, то вы правы, там есть функциональный стиль программирования и объектно-ориентированный

на скорость работы движка не влияет тип программирования, влияют способы реализации того или иного функционала, алгоритма. ООП просто гораздо удобнее и универсально при разработке крупных проектов.

А движков, реализованных без использования ООП вы уже не найдете, наверное.

Mik Foxi
На сайте с 02.03.2011
Offline
1177
#2

Первый раз слышу чтоб процедурное называли функциональное )

ООП на практике часто получается более тормозное и более ресурсоемкое.Потому что большинство пишущих на ООП считают что ОПП создано чтоб не думать когда делаешь.

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ Форум на замену серчу: https://foxi.biz/
TF-Studio
На сайте с 17.08.2010
Offline
334
#3
foxi:
Первый раз слышу чтоб процедурное называли функциональное )
ООП на практике часто получается более тормозное и более ресурсоемкое.Потому что большинство пишущих на ООП считают что ОПП создано чтоб не думать когда делаешь.

Это из другой области классификация, на сколько я помню. где-то из 80-90 годов. уровня бейсик

ООП на практике часто получается более тормозное

Сервера не дорогие, часто это оправданно. Работа программиста по разбору функционального кода может стоить дороже сервера. Потому ООП часто удобнее и выгоднее, с точки зрения бизнеса

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
R
На сайте с 20.02.2015
Offline
59
#4
favorit345:
А движков, реализованных без использования ООП вы уже не найдете, наверное.

А как же один из самых популярных WordPress? Почти весь код ядра процедурный.

Тут дело вкуса, кому как нравиться так и пишут.

На больших проектах при процедурном программировании можно глаз сломать :) когда смотриш чужой код. И в итоге не понять, что и как.

По мне так ООП выгоднее - организация кода гораздо луче, читаемость, переносимость кода(создал один файл класса и можно легко переносить на другие свои проекты). При определенных стандартов кода в проекте, для правок не надо открывать точку входа и стопятьсот файлов, а просто открыть файл с классом и внести нужные правки.

foxi, откуда такие выводы?

foxi:
ООП на практике часто получается более тормозное и более ресурсоемкое.

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

M
На сайте с 04.12.2013
Offline
223
#5

Функциональное программирование и процедурное – это разные вещи. Тут скорее всего имеется в виду процедурный стиль программирования (например, в противоположность ООП).

---------- Добавлено 03.02.2016 в 14:25 ----------

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

В ООП процедурный стиль, естественно, тоже присутствует.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
Mik Foxi
На сайте с 02.03.2011
Offline
1177
#6
TF-Studio:

Сервера не дорогие, часто это оправданно. Работа программиста по разбору функционального кода может стоить дороже сервера. Потому ООП часто удобнее и выгоднее, с точки зрения бизнеса

Программисты - это такой же расходный материал как и оперативка с hdd. Если это небольшой скрипт, то его 5 раз в день можно полностью переписывать. Если высокопроизводительная система типа вконтакте, то там никакого ооп, только процедурный стиль.

FV
На сайте с 11.09.2015
Offline
3
#7

По сабжу то никто ТС не ответил.

maks_m, процедурное и функциональное - разные в принципе.

В 2х словах это так:

Процедурное - любые операторы вызываются непосредственно, "по ходу кода", так сказать.

Функциональное - объявляются функции, которые могут использоваться в любом месте кода и с разными входными данными. Функции вызываются по мере необходимости.

ОПП - класс представляет собой описание поведения для объекта. Внутри класса те же функции и процедурный код.

На скорость работы движка влияет так (от быстро к медленному): П->Ф->ОПП

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

3й ваш вопрос, ответ - да, да. Но ничто не мешает использовать все три стиля в одном проекте, в зависимости от необходимости.

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

edogs software
На сайте с 15.12.2005
Offline
775
#8
Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
maks_m
На сайте с 02.07.2013
Offline
101
#9

feanorr-V, спасибо, коротко и ясно разложили.

VHS
На сайте с 28.09.2007
Offline
142
VHS
#10
TF-Studio:
Работа программиста по разбору функционального кода может стоить дороже сервера.

Все зависит от задачи. Работа программиста по разбору ОО кода воспроизводящего "Hello, world!", с заложенной масштабируемостью до генератора "войны и мира" может стоить куда дороже работы пионера, написавшего print "Hello, world!";

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий