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

Матеріал з Вікіпедії — вільної енциклопедії.
Версія від 13:02, 12 травня 2020, створена BunykBot (обговорення | внесок) (заміна застарілого тегу source)
Перейти до навігації Перейти до пошуку
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 набагато легше писати на клавіатурах з поширеними розкладками. Звісно, про читання мова не йде[en].

Примітки

  1. J901 release 15 December 2019.
  2. http://www.jsoftware.com/papers/APLPersonalView.htm
  3. Wes McKinney at 2012 meeting Python for Data Analysis
  4. SuperCollider documentation, Adverbs for Binary Operators
  5. https://copy.sh/jlife/
  6. https://dfns.dyalog.com/c_life.htm

Посилання

  • Офіційний сайт (англ.)