J (мова програмування)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
J
Парадигма об'єктно-орієнтоване програмування, функційне програмування, мультипарадигмальне програмуванняd, Масивове програмування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 набагато легше писати на клавіатурах з поширеними розкладками.

Примітки[ред. | ред. код]

  1. J901 release 15 December 2019. Архів оригіналу за 31 травня 2020. Процитовано 3 березня 2020.
  2. http://www.jsoftware.com/papers/APLPersonalView.htm
  3. Wes McKinney at 2012 meeting Python for Data Analysis. Архів оригіналу за 30 травня 2020. Процитовано 3 березня 2020.
  4. SuperCollider documentation, Adverbs for Binary Operators. Архів оригіналу за 11 грудня 2020. Процитовано 3 березня 2020.
  5. Архівована копія. Архів оригіналу за 11 березня 2020. Процитовано 4 березня 2020.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  6. Архівована копія. Архів оригіналу за 28 квітня 2020. Процитовано 4 березня 2020.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)

Посилання[ред. | ред. код]