> 1 <

Автор Сообщение

nat123

Members


Статус

1 сообщений

Где: Ukraine
Род занятий:
Возраст:

#5854   2012-03-07 18:59 GMT+3 часа(ов)      
В вики написано , что :
Цитата
Существуют различия в понимании функции в математике и функции в программировании, вследствие чего нельзя отнести Си-подобные языки к функциональным, использующим менее строгое понятие.

PHP - похож на упрощенный Си++ - переменные, операторы, функции и объекты. Типизация нестрогая.
Но кто то утверждает что пхп можно считать языком функционального программирования. Вики типа лжет.
Сам я этими языками давно не занимался поэтому спрошу у вас, занимающихся как раз функц. языком, можно ли такой язык как пхп считать и как функциональный? Или есть принципиальные отличия? Операторы цикла и ветвления например применяются в ф. языках или все - только функции?

antares0

Members


Статус

185 сообщений

Где: Russia
Род занятий:
Возраст:

#5855   2012-03-07 23:52 GMT+3 часа(ов)      
Цитата
можно ли такой язык как пхп считать и как функциональный?

Если в нем есть полноценные (first-class) функции и как следствие замыкания и ФВП, то да. Но вобще это передергивание.
Цитата
Или есть принципиальные отличия?

От строгих функциональных типв haskell-я и прочих ml-производных - принципиальные. От нестрогих типа лиспа - стилистические. Что бы использовать PHP как лисп его надо до этого лиспа доделать, что повличет кучу последствий. После от PHP не так уж много останется.
Цитата
Операторы цикла и ветвления например применяются в ф. языках или все - только функции?
Они и есть функции, с "функциональной" точки зрения. Опять же с функциональной точки зрения это частные случаи более общих концепций. Из-за этой частности именно в таком "императивно-операторном" виде их не используют, но если ставить цель "писать на фортране" то это вполне возможно.
Цитата
поэтому спрошу у вас, занимающихся как раз функц. языком
Лисп все-таки специфичный случай, поэтому таких здесь искать не совсем то. Лучше Функциональные и логические языки — IT Talk

Aoloa

Members


Статус

37 сообщений

Где: Ukraine
Род занятий:
Возраст:

#6407   2012-08-05 04:05 GMT+3 часа(ов)      
Цитата

Если в нем есть полноценные (first-class) функции и как следствие замыкания и ФВП, то да.


Есть, но они добавлены позже, как afterthought. Анонимные функции в PHP появились только в 5.3 (если не ошибаюсь), например. При написании кода до сих пор нельзя быть уверенным, что их можно использовать.

Вообще, PHP ужасно эклектичен из-за того, что он находится превращается из языка для узкой предметной области в языка общего назначений. Что проявляется в куче рудиментов (те же «волшебные кавычки») и банальном недостатке некоторых вещей (отсутствие вменяемой модульности — классы не предлагать).
With iTeX* your entire life can be encapsulated into a dynamic hyperdocument, downloadable by anybody you designate (Donald E. Knuth, An Earthshaking Announcement)
> 1 <


Онлайн :

0 пользователь(ей), 29 гость(ей) :




Реклама на сайте: