K | |
---|---|
Nyelvóra | programozási nyelv és vektoros programozási nyelv [d] |
Megjelent | 1993 |
Szerző | Arthur Whitney |
Befolyásolt | APL , J |
Weboldal | kx.com |
A K egy programozási nyelv , amelyet tömbökkel , műveletmódosítókkal való munkára optimalizáltak . A jellemzők között szerepel a ciklusok hiánya, a függő változók, a K-fa (K-fa) szerkezete.
Windows , Solaris , Linux rendszerekre implementálva .
Eredetileg Arthur Whitney tervezte. Whitney már a kezdet kezdetén otthagyta a J nyelvfejlesztő csoportot , és továbbfejlesztette saját nyelvét. Az egyik nézeteltérés Whitney és Iverson között J túlzott (Whitney véleménye szerint) bonyolítása volt a rang fogalmaival, amelynek ötletét annak idején 1982-ben a heidelbergi APL konferencián előadta. A K-ben azonban felhagyott a rangokkal, és az operátorok egyszerűen elemről elemre hatnak. Ezenkívül Whitney a J nyelv számos jellemzőjét redundánsnak tartotta (komplex számok, háromdimenziós grafika). A K nyelv egyszerűbbnek, kompaktabbnak bizonyult, és jól illeszkedik az adatbázisok területére.
A nyelv kereskedelmi forgalomba hozatala érdekében Whitney megalapította a Kx Systems céget . Egy K-nyelvű vállalat kifejlesztett egy oszlopos tárolóval rendelkező relációs adatbázist , kdb [1] néven , amely a pénzügyi szektorban vált némi hasznot. A kdb teljes disztribúciója (a K interpreterrel, példákkal együtt) mindössze 200 kilobájtot foglal el, ami több nagyságrenddel kisebb, mint a fő kereskedelmi DBMS eloszlásai.
A Kx megvalósításai saját tulajdonúak és fizetősek. Egy ideje ingyenes a Kdb+/q 32 bites verziója, és ezzel együtt a K nyelv is Windowsra , Linuxra vagy MacOS X -re , nem kereskedelmi használatra vagy kereskedelmi rendszerek prototípus -készítésére.
A Kona egy alternatív ingyenes megvalósítás, amely nem kapcsolódik a Kx Systemshez. 2011. április 8-án a Kona tolmács licencet védettről ingyenes ISC licencre változtatták (amely lehetővé teszi, hogy a tolmács olyan projektekbe kerüljön, amelyek nem engedélyezik a nem ingyenes licenceket, például az OpenBSD portokat ).