Programavimas

Kodėl R? R kalbos privalumai ir trūkumai

R programavimo kalba yra svarbi tobulinimo priemonė skaitinės analizės ir mašininio mokymosi erdvėse. Kai mašinos tampa vis svarbesnės kaip duomenų generatoriai, galima tikėtis, kad kalbos populiarumas tik augs. Tačiau R turi tiek pliusų, tiek minusų, kuriuos kūrėjai turėtų žinoti.

Didėjant susidomėjimui kalba, kaip rodo kalbos populiarumo indeksai, tokie kaip TIobe, PyPL ir Redmonk, R pirmą kartą pasirodė 1990-aisiais ir buvo S statistinės programavimo kalbos įgyvendinimas. Pažymi 18 metų R programavimo veteranas Rogeris Pengas, dėstantis R tiek universitete, tiek internetinėje „Coursera“ platformoje: „R yra populiariausia kalba, naudojama statistikos srityje“.

„Man patinka [R], nes jį labai lengva užprogramuoti iš labiau informatikos ir y lygio“, - sako Pengas. R laikui bėgant tapo greitesnis ir tarnauja kaip klijų kalba, sudedant skirtingus duomenų rinkinius, įrankius ar programinės įrangos paketus, sako Pengas.

"R yra geriausias būdas sukurti atkuriamą ir aukštos kokybės analizę. Jis turi visą lankstumą ir galią, kurio ieškau tvarkydamas duomenis", - sako internetinės programavimo švietimą siūlančios Code School duomenų mokslininkas Mattas Adamsas. "Dauguma programų, kurias rašau R, iš tikrųjų yra tik scenarijų rinkiniai, kurie yra suskirstyti į projektus."

R stipri paketo ekosistema ir naudos diagramos

„R“ privalumai apima paketo ekosistemą. „Pakuotės ekosistemos platumas neabejotinai yra viena iš stipriausių R savybių - jei egzistuoja statistinė technika, yra tikimybė, kad už ją jau yra„ R “paketas“, - sako Adamsas.

„Yra daug funkcionalumo, kuris yra sukurtas statistikams“, - sako Pengas. „R“ yra išplėstas ir siūlo daugybę funkcijų kūrėjams kurti savo įrankius ir metodus duomenims analizuoti, sako jis. „Laikui bėgant, tai pritraukė daug daugiau žmonių iš kitų sričių, įskaitant biologijos ir net humanitarinius mokslus.

- Žmonės gali jį pratęsti nereikalaudami leidimo. Iš tiesų, Pengas primena, kad R naudojimo sąlygos yra didelė pagalba prieš daugelį metų. "Tuo metu, kai jis pirmą kartą pasirodė, didžiausias pranašumas buvo tai, kad tai buvo nemokama programinė įranga. Buvo galima peržiūrėti šaltinio kodą ir viską apie jį."

Visos R grafikos ir diagramų galimybės, pasak Adamso, yra „neprilygstamos“. „Dplyr“ ir „ggplot2“ paketai, skirti atitinkamai manipuliuoti duomenimis ir braižyti, „pažodžiui pagerino mano gyvenimo kokybę“, sako jis.

Mašininiam mokymuisi R privalumai daugiausia siejami su tvirtais R ryšiais su akademine visuomene, sako Adamsas. "Bet kokie nauji šios srities tyrimai tikriausiai turi pridedamą R paketą, kurį reikia atlikti nuo pat pradžios. Taigi šiuo požiūriu R lieka pažangiausiame krašte", - sako jis. "Caret paketas taip pat siūlo gana puikų būdą atlikti mašininį mokymąsi R naudojant gana vieningą API." Pengas taip pat pažymi, kad R yra įdiegta daug populiarių mašininio mokymosi algoritmų.

R saugumo ir atminties valdymo trūkumai

Nepaisant visų savo privalumų, R turi savo dalį trūkumų. „Atminties valdymas, greitis ir efektyvumas yra bene didžiausi iššūkiai, su kuriais susiduria R“, - sako Adamsas. "Buvo padaryta ir tebevykdoma pažanga šiuose frontuose. Be to, žmonės, atvykę į R iš kitų kalbų, taip pat gali laikyti R keistu."

Pagrindinis R principas kyla iš 1960-aisiais sukurtų programavimo kalbų, sako Pengas. "Šia prasme tai yra sena technologija, kaip ji buvo sukurta iš pradžių". Kalbos dizainas kartais gali sukelti problemų dirbant su labai dideliais duomenų rinkiniais, sako jis. Duomenys turi būti saugomi fizinėje atmintyje. Tačiau kai kompiuteriai gavo daugiau atminties, tai tapo nebe tokia problema, pažymi Pengas.

Tokios galimybės kaip saugumas nebuvo įtrauktos į R kalbą, sako Pengas. Be to, R negalima įdėti į interneto naršyklę, sako Pengas. "Negalite jo naudoti panašių į internetą ar panašių į internetą programoms." Iš esmės buvo neįmanoma naudoti „R“ kaip išorinio serverio skaičiavimams atlikti, nes jis neturi saugumo internete. Tačiau saugumo problemą sušvelnino tokie pokyčiai kaip virtualių konteinerių naudojimas „Amazon Web Services“ debesų platformoje, sako Pengas.

Ilgą laiką kalboje nebuvo daug interaktyvumo, sako jis. Kalbos, tokios kaip „JavaScript“, vis dar turi pasirodyti ir užpildyti šią spragą, sako Pengas. Nors analizė gali būti atliekama R, rezultatai gali būti pateikiami kita kalba, pvz., „JavaScript“, sako jis.

„R“ nėra skirtas tik pažengusiems programuotojams

Vis dėlto Adamsas ir Pengas abu mato R kaip prieinamą kalbą. "Aš nesu iš informatikos srities ir niekada neturėjau siekių tapti programuotoju. Programavimo pagrindų žinojimas tikrai padeda įtraukiant R į savo įrankių rinkinį, tačiau nepasakyčiau, kad to reikia norint pradėti", - sako Adamsas.

"Net nesakyčiau, kad R yra skirtas programuotojams. Tai geriausiai tinka žmonėms, turintiems į duomenis orientuotas problemas, kurias jie bando išspręsti, neatsižvelgiant į jų programavimo gabumus", - sako jis.

$config[zx-auto] not found$config[zx-overlay] not found