6 jazyků pro programování umělé inteligence

3. 2. 2019

Sdílet

 Autor: Fotolia @Tatiana Shepeleva
Konkrétní jazyk specificky určený pro umělou inteligence, strojové učení, neuronové sítě a tak dále zatím neexistuje, avšak jasné preference tu jsou.

Pro programování umělé inteligence je klíčová robustnost jazyka, ale také přehlednost a množství přídavných knihoven. Jaké jazyky jsou tedy v současnosti nejpopulárnější?

Žebříček je kromě prvního místa řazen náhodně – možností je vícero a různé jazyky se hodí pro různé aplikace.

 

1. Python

Zcela suverénním vítězem je Python: jednoduchá syntaxe, velmi snadné programování neuronových sítí, objektově orientovaný a procedurální jazyk, výhodné testování, to vše jsou výhody Pythonu.

V porovnání s jinými jazyky, kupříkladu C++ nebo Javou, také programování zabere kratší dobu a k dispozici je velké množství knihoven včetně specializovaných. NumPy, Pandas, NTLK, SpaCy, Scikit-learn, kupříkladu. Ale i TensorFlow, PyTorch, Chainer, Apache MXNET, Theano a další softwarové knihovny jsou primárně určeny pro Python.

Mezi nevýhody patří potřeba interpretu.

 

2. R

Statistiky milovaný jazyk R je velmi efektivní pro analýzy dat a manipulaci s nimi; datová analýza je významnou součástí umělé inteligence, a i proto zůstává R důležité v této oblasti. Disponuje množstvím balíčků, které lze využít pro snazší programování strojového učení a implementace algoritmů je díky tomu jednodušší.

R má však poměrně omezené spektrum případů, na které se hodí jej využít: na statistiku však jen těžko najdete srovnatelného hráče. Stále častěji jej však efektivně dokáže nahradit Python.

 

3. LISP

Legendární LISP. Velmi starý jazyk (základ byl položen už v roce 1958), jde o druhý nejstarší dosud široce používaný programovací jazyk. Starší je už jen Fortran, a to o jediný rok. V jazyce se velmi často používají závorky, stává se proto občas terčem vtipů; jeho název je občas vykládán třeba jako „Lost In Stupid Parentheses“ (Ztracen v hloupých závorkách) nebo „Lots of Irritating Superfluous Parentheses“ (Spousta otravných, zbytečných závorek).

Ale upusťme od vtipů, v moderní době LISP stále nachází užití, neboť byl pro vývoj umělé inteligence zamýšlen. Ne tedy zcela, ale vymyslel jej John McCarthy, jeden z otců celého oboru. LISP nabízí vývojářům velkou svobodu; je notně flexibilní a lze s ním snadno experimentovat, což je pro AI vhodné. Hodí se také pro strojové učení.

Nevýhodou je, že jej důkladněji zná jen docela málo programátorů.

 

4. Java

Java málokdy chybí v jakémkoliv žebříčku populárních jazyků, a nechybí ani v tomto případě. Umělá inteligence souvisí s vyhledávacími algoritmy nebo umělými neuronovými sítěmi, a Java zde má své výhody: je jednoduchá, rozšířená, debugging poměrně snadný a nechybí řada knihoven.

Nabízí také snadný přístup k big data platformám typu Apache Spark nebo Hadoop. Jde navíc o jazyk známý ve většině podniků, jde tedy mnohdy využít již existující infrastrukturu.

 

5. C++

Jen těžko něčí první volba, C nebo C++ přesto nabízí své výhody, hlavně v případě, kdy je velký tlak na výkon. Množství API a importování modelů skrze Python pomáhá se vyrovnat s relativní složitostí jazyka. Přesto je vysoce komplexní a málokdy vhodný pro nováčky teprve pronikající do psaní AI programů.

 

bitcoin_skoleni

6. Prolog

Další dědeček mezi jazyky, i Prolog je až překvapivě vhodný pro programování umělé inteligence; stejně jako LISP však byl pro tento účel původně zamýšlen. Deklarativní jazyk je ve své práci efektivní, není však až tak rozšířen. Výjimkou je oblast medicíny, která je ovšem klíčová i pro umělou inteligenci a kde Prolog nalézá patřičné využití.