J (мова програмування)
Не плутати з J++ або J#.
J | |
---|---|
Парадигма | об'єктно-орієнтоване програмування, функційне програмування, мультипарадигмальне програмуванняd, масивове програмування, Комбінаторне програмування і tacit programmingd |
Дата появи | 1990; 34 років тому (1990) |
Творці | Кеннет Айверсон |
Розробник | JSoftware |
Останній реліз | J901 (15 грудня, 2019; 4 роки тому (2019-12-15)[1]) |
Система типізації | динамічна |
Під впливом від | FLd і APL[2] |
Вплинула на | NumPy[3] SuperCollider[4] |
Операційна система | Багатоплатформність: Microsoft Windows, Linux, macOS |
Ліцензія | GPLv3 |
Звичайні розширення файлів | .ijs |
Вебсайт | www.jsoftware.com |
J — функціональна мова програмування. Діалект APL. На відміну від APL не потребує спеціальної розкладки клавіатури для введення математичних символів, оскільки використовує символи ASCII.
Приклади
Отако виглядає код гри «Життя» на J[5]:
step =: ((]+.&(3&=)+)(+/@(((4&{.,(_4&{.))(>,{,~<i:1))&|.)))~
Для порівняння, так виглядає аналогічний код на APL[6]:
life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}
Можна зауважити що код на J набагато легше писати на клавіатурах з поширеними розкладками.
Примітки
- ↑ J901 release 15 December 2019. Архів оригіналу за 31 травня 2020. Процитовано 3 березня 2020.
- ↑ http://www.jsoftware.com/papers/APLPersonalView.htm
- ↑ Wes McKinney at 2012 meeting Python for Data Analysis. Архів оригіналу за 30 травня 2020. Процитовано 3 березня 2020.
- ↑ SuperCollider documentation, Adverbs for Binary Operators. Архів оригіналу за 11 грудня 2020. Процитовано 3 березня 2020.
- ↑ Архівована копія. Архів оригіналу за 11 березня 2020. Процитовано 4 березня 2020.
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ Архівована копія. Архів оригіналу за 28 квітня 2020. Процитовано 4 березня 2020.
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
Посилання
- Офіційний сайт (англ.)
![]() | Це незавершена стаття про мови програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |