Search
Write a publication
Pull to refresh

Comments 17

Мне кажется, или «комбинация парадигм (или их частей)» — не есть «отказ от парадигм»?

Java как пример чистого ООП так себе - целые числа там всё таки не посылкой сообщений складываются.

Пожалуйста, напишите нам в форму обратной связи https://habr.com/ru/feedback/. В частности, нам понадобится название вашего устройства, версия Андроид, а также версия браузера.

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

Я один раз столкнулся с программированием вне парадигм. Взяли на доработку сайт на Битриксе, там был какой-то импорт, функционал которого содержался в одном файле на 5000 строк без единого комментария, без функций, без классов, вообще без каких-либо структурирующих элементов. Просто поток сознания на 5000 строк. Вернее не сознания, а какой-то коричневой субстанции, т.к. ни одно существо, наделённое сознанием, не написало бы такое.

Да, работало, если задержать дыхание когда нажимаешь кнопку "Импорт", и не шевелиться.

Ого, а без функций и классов это как? Да и какие-то знания это "существо" всё же имело получается, иначе невозможно написать 5000 строк, чтобы оно при этом даже работало, вот с десяток строк там да, может повезти.

Я сам не сразу поверил. Даже через Ctrl+F пытался найти слово function - безрезультатно.

Да уж... Но это не только разраб виноват, но и язык что он позволяет писать так, в PHP уже давно есть ООП, но можно писать процедурно, а можно и не процедурно, а вообще как хочешь, поэтому его и не любят :D Парадигмы нужны хотя-бы поэтому.

В данном случае виноват не php, а Битрикс. Потому что в какой-нибудь ларе или симфе используется ООП, и всё устроено так, что ты не можешь его не использовать. А в Битриксе ужасно буквально всё, буквально каждая строчка кода там это набор наихудших практик, начиная с именования переменных, заканчивая отсутствием автозагрузки классов и пакетного менеджера.

Собственно то был первый и последний раз, когда я работал с битриксом.

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

Все же автор не понял разницу в классификации парадигм и запихнул все под одну гребёнку. Так, например:

Си — императивный язык

И далее он говорит, что Java - ООП, а Haskell - функциональщина. И это две разные классификации:

Есть классификация по императивности-декларативности.

А есть другая, которая определяет то, как именно будет происходить работа с данными, и отношение к иммутабельности и тд. И вот тут уже мы видим ФП и ООП в качестве ярких представителей. И Си по такой классификации - это процедурный ЯП.

Что-то статья целиком из неверного понимания парадигм растет. Противопоставлять императивность ООП - ну, такое себе. Императивность/декларативность парадигмам ортогональна.

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

То, что в Java завезли лямбды или то, что в Go есть замыкания, не делает языки функциональными. Наличие примитивных типов в C++ или С# не делает их процедурными. Важно то, как организовывается программа.

Объединяющим аспектом новых языков, таких как RustNim и Gleam, является то, что они с самого начала разрабатывались вне парадигм.

Маркетинговый булщит, если честно. Вполне себе процедурные языки.

Sign up to leave a comment.