A J egy magas szintű általános célú funkcionális alapú programnyelv.
A J nyelvet Ken Iverson és Roger Hui fejlesztette ki a 90-es évek elején, Windows, Unix (Linux), Mac és PocketPC platformokra implementálták, s már megjelentek a 64 bit-es változatai is.
A nyelv gyakorlatilag az APL valamint az FP és FL nyelvek szintézise, ám az APL-el ellentétben csak az ASCII karakterkészletet használja.
A J tulajdonképpen egy funkcionális, tömbfeldolgozó, tacit programozási nyelv, melyet erős típusosság jellemez, s támogatja az objektum orientált programozási szemlétet.
Nem Neumann típusú nyelv, ám használhatunk benne Neumann típusú programozási stílust is.
Remekül használható matematikai, statisztikai, logikai programozáshoz. Használják "Extreme Programming" fejlesztési modellű projekteknél, és hálózatok teljesítményfigyelő alkalmazásaihoz is.
A J Systems tartalmaz: integrált fejlesztőkörnyezetet, különböző csomagokat, grafikus felhasználói felületet, interfészeket más programozási nyelvekhez, valamint integrált 2d és 3d grafikát is.
A nyelvet jelenleg is fejlesztik, a J systems letölthető innen.
Más programozási nyelvekkel ellentétben a J nyelv dokumentációja egy szótárként van felépítve, s a nyelv szavait főnévként, igeként, melléknévként, stb. azonosítja. A hivatalos dokumentáció innen elérhető.