Стили программирования
Теги: programming
Процедурное_программирование - процедурное ПО использует процедурные вызовы или функции. Функции не инкапсулирвоаны в классы и опираются толькор на свои входные данные и иногда на глобальные состояния.
Функциональное программирование - ПО представляет из себя композицию функций. Функции иногда принимаются в качестве аттрибутов функций и возвращаются в результате операций.
Пример в python
# procedure
numbers = [1, 2, 3, 4, 5]
for i in numbers:
print(i * i)
# functional
print(map((i) => i * i, [1, 2, 3, 4, 5]))
Декларативное программирование сосредоточено на объявлении параметров задачи без указания способа ее выполнения. Детали решения абстрагируются от разработчика.
Примером реализации являются DSL (domain specific languages), к примеру #sql или #html или [gherkin]
Примером в python является plotly
. В данном случае объявляется намерение построить шрафик (инстанс класса) и в нем объявляются параметры.
import plotly.graph_objects as plotly.graph_objects
tracer1 = go.Scatter(
x=[1, 2, 3],
y=[4, 5, 6],
marker={'color': 'red', 'symbol': 104},
mode='markers+lines',
text=['one', 'two', 'three'],
name='1st Trace',
)
Для сравнения, процедурный подход:
trace1 = go.Scatter()
trace1.set_x_data([1, 2, 3])
trace1.set_y_data([4, 5, 6])
...