Programmering

Hvorfor R? Fordeler og ulemper med R-språket

R-programmeringsspråket er et viktig verktøy for utvikling i numeriske analyser og maskinlæringsrom. Med maskiner som blir viktigere som datageneratorer, kan språkets popularitet bare forventes å vokse. Men R har både fordeler og ulemper som utviklere bør vite.

Med interesse for at språket vokser, som vist på språkindekser for språk som TIobe, PyPL og Redmonk, dukket R først opp på 1990-tallet og har tjent som en implementering av S statistiske programmeringsspråk. Roger Roger, en 18-årig R-programmeringsveteran som lærer R både på universitetet og på Coursera online plattform, "R er det mest populære språket som brukes innen statistikk."

"Jeg liker [R] fordi det er veldig enkelt å programmere fra et mer informatisk nivå," sier Peng. Og R har blitt raskere over tid og fungerer som et limspråk for å samle forskjellige datasett, verktøy eller programvarepakker, sier Peng.

"R er den beste måten å lage reproduserbar analyse av høy kvalitet. Den har all den fleksibiliteten og kraften jeg ser etter når jeg arbeider med data," sier Matt Adams, datavitenskapsmann ved Code School, som tilbyr online programmeringsutdanning. "De fleste programmene jeg skriver i R er egentlig bare samlinger av manus som er organisert i prosjekter."

Rs sterke pakkeøkosystem og kartfordeler

Rs fordeler inkluderer pakkeøkosystemet. "Omfanget av pakkeøkosystemet er definitivt en av Rs sterkeste egenskaper. Hvis det finnes en statistisk teknikk, er det sannsynlig at det allerede er en R-pakke der ute for det," sier Adams.

"Det er mye funksjonalitet som er innebygd som er bygget for statistikere," sier Peng. R er utvidbart og tilbyr rik funksjonalitet for utviklere å bygge sine egne verktøy og metoder for å analysere data, sier han. "Etter hvert som tiden har gått har mange flere blitt tiltrukket av det fra andre felt," inkludert biovitenskap og til og med humaniora.

"Folk kan utvide det uten å måtte be om tillatelse." Peng husker faktisk Rs bruksbetingelser som en stor hjelp for mange år siden. "Da den første gangen kom ut, var den største fordelen at det var gratis programvare. Kildekoden og alt om den var tilgjengelig å se på."

All Rs grafikk- og kartfunksjoner, sier Adams, er "uovertruffen." Dplyr- og ggplot2-pakkene for henholdsvis datamanipulering og plotting "har bokstavelig talt forbedret livskvaliteten min," sier han.

For maskinlæring er Rs fordeler mest knyttet til Rs sterke bånd til akademia, sier Adams. "Enhver ny forskning i feltet har sannsynligvis en tilhørende R-pakke å gå med fra start. Så i denne forbindelse holder R seg i forkant," sier han. "Innkjøpspakken tilbyr også en ganske fin måte å gjøre maskinlæring på i R gjennom et relativt enhetlig API." Peng bemerker også at mange populære maskinlæringsalgoritmer er implementert i R.

Rs mangler innen sikkerhet og minneadministrasjon

Til tross for alle fordelene har R sin andel av mangler. "Minnehåndtering, hastighet og effektivitet er sannsynligvis de største utfordringene R møter," sier Adams. "Fremskritt er blitt - og blir fremdeles - gjort for å gjøre fremskritt på disse frontene. Også folk som kommer til R fra andre språk, kan også vurdere R quirky."

Det grunnleggende prinsippet til R stammer fra programmeringsspråk bygget på 1960-tallet, sier Peng. "Sånn sett er det en slags gammel teknologi slik den opprinnelig ble designet." Utformingen av språket kan noen ganger utgjøre problemer i arbeidet med veldig store datasett, sier han. Data må lagres i fysisk minne. Men ettersom datamaskiner har fått mer minne, har dette blitt et mindre problem, bemerker Peng.

Evner som sikkerhet var ikke innebygd i R-språket, sier Peng. Dessuten kan R ikke være innebygd i en nettleser, sier Peng. "Du kan ikke bruke den til nettlignende eller Internett-lignende apper." Det var i utgangspunktet umulig å bruke R som back-end-server for å gjøre beregninger på grunn av manglende sikkerhet over nettet, sier han. Sikkerhetsproblemet har imidlertid blitt redusert av utviklingen som bruk av virtuelle containere på Amazon Web Services skyplattform, sier Peng.

I lang tid var det ikke mye interaktivitet i språket, sier han. Språk som JavaScript må fremdeles komme inn og fylle dette hullet, sier Peng. Selv om en analyse kan gjøres i R, kan presentasjonen av resultatene gjøres på forskjellige språk som JavaScript, sier han.

R er ikke bare for avanserte programmerere

Likevel ser Adams og Peng begge på R som et tilgjengelig språk. "Jeg kommer ikke fra informatikkbakgrunn og hadde aldri ambisjoner om å bli programmerer. Kunnskap om programmeringsgrunnlag hjelper absolutt når du legger til R i verktøykassen din, men jeg vil ikke si at det er nødvendig å komme i gang," sier Adams.

"Jeg vil ikke engang si at R er for programmerere. Det passer best for folk som har dataorienterte problemer de prøver å løse, uavhengig av deres programmeringsevne," sier han.

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