Programování

Proč R? Klady a zápory jazyka R.

Programovací jazyk R je důležitým nástrojem pro vývoj v oblasti numerické analýzy a strojového učení. Se stále důležitějšími stroji jako generátory dat lze jen očekávat, že popularita jazyka poroste. Ale R má výhody i nevýhody, které by vývojáři měli vědět.

Se zájmem o rostoucí jazyk, jak se ukazuje na indexech jazykové popularity, jako jsou TIobe, PyPL a Redmonk, se R poprvé objevil v 90. letech a sloužil jako implementace statistického programovacího jazyka S. Poznámky Roger Peng, 18letý veterán programování v R, který vyučuje R jak na univerzitě, tak na online platformě Coursera, „R je nejoblíbenější jazyk používaný v oblasti statistiky.“

„Líbí se mi [R], protože je velmi snadné programovat z více počítačové vědy,“ říká Peng. A R se časem zrychlil a slouží jako spojovací jazyk pro sestavování různých datových sad, nástrojů nebo softwarových balíčků, říká Peng.

„R je nejlepší způsob, jak vytvořit reprodukovatelnou a vysoce kvalitní analýzu. Má veškerou flexibilitu a sílu, kterou hledám při práci s daty,“ říká Matt Adams, datový vědec z Code School, která nabízí výuku online programování. „Většina programů, které píšu v R, jsou ve skutečnosti jen sbírky skriptů, které jsou organizovány do projektů.“

R je silný balíček ekosystém a výhody mapování

Mezi výhody R patří jeho balíček ekosystém. „Rozsáhlost ekosystémů balíčků je rozhodně jednou z nejsilnějších vlastností R - pokud existuje statistická technika, je pravděpodobné, že již existuje balíček R,“ říká Adams.

„Je zabudována spousta funkcí, která je vytvořena pro statistiky,“ říká Peng. R je rozšiřitelný a nabízí vývojářům bohaté funkce pro vytváření vlastních nástrojů a metod pro analýzu dat, říká. „Postupem času k němu přilákalo mnohem více lidí z jiných oborů,“ včetně biologických věd a dokonce i humanitních věd.

„Lidé jej mohou prodloužit, aniž by museli žádat o povolení.“ Peng ve skutečnosti připomíná podmínky používání R jako velkou pomoc před mnoha lety. „V době, kdy vyšlo poprvé, bylo největší výhodou to, že se jednalo o svobodný software. Zdrojový kód a vše okolo bylo k nahlédnutí.“

Adams říká, že všechny grafické a grafické možnosti R jsou „bezkonkurenční“. Balíčky dplyr a ggplot2 pro manipulaci s daty a jejich vykreslování „doslova zlepšily moji kvalitu života,“ říká.

Pro strojové učení jsou výhody R spojeny většinou se silnými vazbami R na akademickou půdu, říká Adams. „Jakýkoli nový výzkum v této oblasti bude pravděpodobně mít doprovodný balíček R. „Balíček stříšky také nabízí docela šikovný způsob provádění strojového učení v R prostřednictvím relativně jednotného API.“ Peng také poznamenává, že v R je implementováno mnoho populárních algoritmů strojového učení.

Nedostatky R. v zabezpečení a správě paměti

Ve všech výhodách má R svůj podíl na nedostatcích. „Správa paměti, rychlost a efektivita jsou pravděpodobně největší výzvy, kterým R čelí,“ říká Adams. „Byly učiněny - a stále probíhají - pokroky na těchto frontách. Také lidé přicházející do R z jiných jazyků by mohli R považovat za nepředvídatelný.“

Základní princip R vychází z programovacích jazyků postavených v 60. letech, říká Peng. „V tomto smyslu je to taková stará technologie, jak byla původně navržena.“ Návrh jazyka může někdy způsobit problémy při práci s velmi velkými datovými sadami, říká. Data musí být uložena ve fyzické paměti. Ale protože počítače získaly více paměti, stalo se to méně problémem, poznamenává Peng.

Schopnosti, jako je bezpečnost, nebyly do jazyka R zabudovány, říká Peng. R také nelze vložit do webového prohlížeče, říká Peng. „Nelze jej použít pro webové nebo internetové aplikace.“ Bylo v zásadě nemožné použít R jako server typu back-end k provádění výpočtů kvůli jeho nedostatečnému zabezpečení na webu, říká. Problém zabezpečení se však zmenšil díky vývoji, jako je použití virtuálních kontejnerů na cloudové platformě Amazon Web Services, říká Peng.

Říká, že po dlouhou dobu nebylo v jazyce mnoho interaktivity. Jazyky jako JavaScript ještě musí přijít a zaplnit tuto mezeru, říká Peng. Ačkoli lze analýzu provést v jazyce R, prezentace výsledků může být provedena v jiném jazyce, jako je JavaScript, říká.

R není jen pro pokročilé programátory

Přesto Adams a Peng vidí R jako přístupný jazyk. „Nepocházím z informatiky a nikdy jsem neměl touhu stát se programátorem. Znalost základů programování určitě pomůže při přidání R do vaší sady nástrojů, ale neřekl bych, že je to nutné,“ říká Adams.

„Ani bych neřekl, že R je pro programátory. Je to nejvhodnější pro lidi, kteří mají problémy s daty, které se snaží vyřešit, bez ohledu na jejich programovací nadání,“ říká.