Английская Википедия:Comparison of functional programming languages
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Шаблон:Short description
The table shows a comparison of functional programming languages which compares various features and designs of different functional programming languages.
Name |
Pure |
Lazy evaluation |
Typing |
Abstract data types |
Algebraic data types |
Data is immutable |
Type classes |
Garbage collection |
First appeared
|
Common Lisp |
Шаблон:No[1] |
Шаблон:Partial, simulated with thunks[2] |
Dynamic[3] |
Шаблон:Yes[4] |
Шаблон:Partial, with extension[5] |
Шаблон:No[6] |
Шаблон:Dunno |
Шаблон:Yes |
1984
|
Scheme |
Шаблон:No[7] |
Шаблон:Yes[8] |
Dynamic[7] |
Шаблон:Yes[9] |
Шаблон:Partial, simulated with thunks[10] |
Шаблон:No[11] |
Шаблон:Dunno |
Шаблон:Yes |
1975
|
Racket |
Шаблон:No |
Шаблон:Yes, default in Lazy Racket[12] |
Dynamic by default, gradual with Typed Racket[13] |
Шаблон:Yes[14] |
Шаблон:Yes2Yes, with Algebraic Racket[15] |
Шаблон:Partial[16] |
Шаблон:No |
Шаблон:Yes |
1995
|
Clojure |
Шаблон:No[17] |
Шаблон:Yes[18] |
Dynamic[19] |
Шаблон:Yes[20] |
Шаблон:Yes[21] |
Шаблон:Yes[22] |
Шаблон:Dunno |
Шаблон:Yes |
2007
|
Standard ML |
Шаблон:No[23] |
Шаблон:No[24][25] |
Static[26] |
Шаблон:Yes |
Шаблон:Yes |
Шаблон:Yes[27] |
Шаблон:No |
Шаблон:Yes |
1983
|
OCaml |
Шаблон:No[28] |
Шаблон:Yes[28] |
Static[29] |
Шаблон:Yes[30] |
Шаблон:Yes[31] |
Шаблон:Yes[32] |
Шаблон:Partial, simulated with parametric modules[33] |
Шаблон:Yes |
1996
|
F# |
Шаблон:No[34] |
Шаблон:Yes[35] |
Static[36] |
Шаблон:Yes[37] |
Шаблон:Yes[38] |
Шаблон:Yes[39] |
Шаблон:No |
Шаблон:Yes |
2005
|
Haskell |
Шаблон:Yes[40] |
Шаблон:Yes2Default[41] |
Static[42] |
Шаблон:Yes[40] |
Шаблон:Yes[43] |
Шаблон:Yes[44] |
Шаблон:Yes[45] |
Шаблон:Yes |
1990
|
Scala |
Шаблон:No[46] |
Шаблон:Yes[47] |
Static[46] |
Шаблон:Yes[48] |
Шаблон:Yes[48] |
Шаблон:Yes[49] |
Шаблон:Yes[50] |
Шаблон:Yes |
2004
|
JavaScript |
Шаблон:No[51]Шаблон:Unreliable source? |
Шаблон:Partial, with extension[52] |
Dynamic[53] |
Шаблон:Partial, with extension[54] |
Шаблон:Partial, with extension[55] |
Шаблон:Partial[56][57] |
Шаблон:Dunno |
Шаблон:Yes |
1995
|
Clean |
Шаблон:Yes[58] |
Шаблон:Yes, with optional strictness annotations[59] |
Static with uniqueness/optionally dynamic[60] |
Шаблон:Yes[59] |
Шаблон:Yes[59] |
Шаблон:Yes, except for unique types[59] |
Шаблон:Yes[59] |
Шаблон:Yes |
1987
|
Miranda |
Шаблон:Yes[61] |
Шаблон:Yes2Default[62] |
Static[61] |
Шаблон:Yes[63] |
Шаблон:Yes[61] |
Шаблон:Yes |
Шаблон:No |
Шаблон:Yes |
1986
|
SASL |
Шаблон:Yes[64] |
Шаблон:Yes |
Dynamic[65] |
Шаблон:Yes |
Шаблон:Yes |
Шаблон:Yes |
Шаблон:No |
Шаблон:Yes |
1972
|
Elixir |
Шаблон:No |
Шаблон:Partial, with the Stream module[66] |
Dynamic |
Шаблон:Yes |
Шаблон:No |
Шаблон:Yes |
Шаблон:Dunno |
Шаблон:Yes |
2012
|
Erlang |
Шаблон:No |
Шаблон:No[67] |
Dynamic |
Шаблон:Yes[68] |
Шаблон:No |
Шаблон:Yes[69] |
Шаблон:Dunno |
Шаблон:Yes |
1986
|
Elm |
Шаблон:Yes |
Шаблон:No |
Static[70] |
Шаблон:Dunno |
Шаблон:Yes[71] |
Шаблон:Yes[70] |
Шаблон:No |
Шаблон:Yes |
2012
|
Futhark |
Шаблон:Yes |
Шаблон:No |
Static[72] |
Шаблон:Yes |
Шаблон:Yes |
Шаблон:Yes[70] |
Шаблон:No |
Шаблон:Yes |
2014
|
Python |
Шаблон:No[73] |
Шаблон:Partial, simulated with generators |
Dynamic[74] |
Шаблон:Yes[75] |
Шаблон:No |
Шаблон:Partial[76] |
Шаблон:Dunno |
Шаблон:Yes |
1991
|
Idris |
Шаблон:Yes[77] |
Шаблон:Yes[77] |
Static[77] |
Шаблон:Yes[77] |
Шаблон:Yes[77] |
Шаблон:Yes[77] |
Шаблон:Yes[77] |
Шаблон:Yes |
2007
|
Nix |
Шаблон:Yes |
Шаблон:No |
Static |
Шаблон:No |
Шаблон:Yes |
Шаблон:Yes |
Шаблон:No |
Шаблон:Yes |
2003
|
Wolfram Language
|
Шаблон:No
|
Шаблон:No
|
Static
|
Шаблон:Yes
|
Шаблон:Yes
|
Шаблон:Yes
|
Шаблон:No
|
Шаблон:Yes
|
1988
|
Kotlin
|
Шаблон:No
|
Шаблон:Partial, lazy delegation[78] and Sequence[79]
|
Static
|
Шаблон:Yes
|
Шаблон:No
|
Шаблон:Yes
|
Шаблон:No
|
Шаблон:Yes
|
2011
|
Swift
|
Шаблон:No
|
Шаблон:No
|
Static
|
Шаблон:Yes
|
Шаблон:Yes
|
Шаблон:Yes
|
Шаблон:No
|
Шаблон:Maybe
|
2014
|
Julia
|
Шаблон:No
|
Шаблон:No[80]
|
Dynamic[81]
|
Шаблон:Yes[81]
|
Шаблон:No
|
Шаблон:Partial[81]
|
Шаблон:Dunno
|
Шаблон:Yes
|
2012
|
PureScript
|
Шаблон:Yes
|
Шаблон:No
|
Static
|
Шаблон:Yes
|
Шаблон:Yes
|
Шаблон:Yes
|
Шаблон:Yes
|
Шаблон:Yes
|
2013
|
Rust
|
Шаблон:No
|
Шаблон:Partial, iterators are lazy,[82] external libraries exist[83]
|
Static[84]
|
Шаблон:Yes[85]
|
Шаблон:Yes[86]
|
Шаблон:Yes[87]
|
Шаблон:Yes, through traits[85]
|
Шаблон:No
|
2010
|
Bosque
|
Шаблон:No
|
Шаблон:No
|
Static
|
Шаблон:Yes
|
Шаблон:Yes
|
Шаблон:Yes
|
Шаблон:Unknown
|
Шаблон:Yes
|
2019
|
D
|
Шаблон:Yes, multiple levels of opt-in[88][89]
|
Шаблон:Yes, but not default[90]
|
Static[91]
|
Шаблон:Dunno
|
Шаблон:Yes
|
Шаблон:Yes[92]
|
Шаблон:No
|
Шаблон:Yes[93]
|
2001
|
References
Шаблон:Reflist
Партнерские ресурсы |
---|
Криптовалюты |
|
---|
Магазины |
|
---|
Хостинг |
|
---|
Разное |
- Викиум - Онлайн-тренажер для мозга
- Like Центр - Центр поддержки и развития предпринимательства.
- Gamersbay - лучший магазин по бустингу для World of Warcraft.
- Ноотропы OmniMind N°1 - Усиливает мозговую активность. Повышает мотивацию. Улучшает память.
- Санкт-Петербургская школа телевидения - это федеральная сеть образовательных центров, которая имеет филиалы в 37 городах России.
- Lingualeo.com — интерактивный онлайн-сервис для изучения и практики английского языка в увлекательной игровой форме.
- Junyschool (Джунискул) – международная школа программирования и дизайна для детей и подростков от 5 до 17 лет, где ученики осваивают компьютерную грамотность, развивают алгоритмическое и креативное мышление, изучают основы программирования и компьютерной графики, создают собственные проекты: игры, сайты, программы, приложения, анимации, 3D-модели, монтируют видео.
- Умназия - Интерактивные онлайн-курсы и тренажеры для развития мышления детей 6-13 лет
- SkillBox - это один из лидеров российского рынка онлайн-образования. Среди партнеров Skillbox ведущий разработчик сервисного дизайна AIC, медиа-компания Yoola, первое и самое крупное русскоязычное аналитическое агентство Tagline, онлайн-школа дизайна и иллюстрации Bang! Bang! Education, оператор PR-рынка PACO, студия рисования Draw&Go, агентство performance-маркетинга Ingate, scrum-студия Sibirix, имидж-лаборатория Персона.
- «Нетология» — это университет по подготовке и дополнительному обучению специалистов в области интернет-маркетинга, управления проектами и продуктами, дизайна, Data Science и разработки. В рамках Нетологии студенты получают ценные теоретические знания от лучших экспертов Рунета, выполняют практические задания на отработку полученных навыков, общаются с экспертами и единомышленниками. Познакомиться со всеми продуктами подробнее можно на сайте https://netology.ru, линейка курсов и профессий постоянно обновляется.
- StudyBay Brazil – это онлайн биржа для португалоговорящих студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
- Автор24 — самая большая в России площадка по написанию учебных работ: контрольные и курсовые работы, дипломы, рефераты, решение задач, отчеты по практике, а так же любой другой вид работы. Сервис сотрудничает с более 70 000 авторов. Более 1 000 000 работ уже выполнено.
- StudyBay – это онлайн биржа для англоязычных студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
|
---|
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 7,0 7,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Wikibooks:Standard ML Programming/Types
- ↑ Шаблон:Cite web
- ↑ 28,0 28,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 40,0 40,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 46,0 46,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 48,0 48,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ List of multi-paradigm programming languages#Language overview
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Immutable object#JavaScript
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 59,0 59,1 59,2 59,3 59,4 Шаблон:Cite book
- ↑ Шаблон:Cite web
- ↑ 61,0 61,1 61,2 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Turner, D.A. "An Implementation of SASL". University of St. Andrews, Department of Computer Science Technical Report. TR/75/4.
- ↑ Шаблон:Cite book
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 70,0 70,1 70,2 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Immutable object#Python
- ↑ 77,0 77,1 77,2 77,3 77,4 77,5 77,6 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 81,0 81,1 81,2 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 85,0 85,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web