Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Kommentteja R:stä

Small [13.06.2025 16:53:13]

#

Olen huomannut, että monet kunnialliset ohjelmoijat ovat nykyään kiinnostuneita R:stä ja olisivat kiinnostuneita opettelemaan sitä. Tekisi melkein mieli sanoa, että eipä maksa vaivaa. Kirjoitin vähän aikaa sitten seuraavat valitukset, joita kuvaavaa kyllä ei hyväksytty kummallekaan R-yhteisön isolle sähköpostilistalle:

"I have been using R for over 15 years. I want to raise an issue which has been haunting me for some time now: It feels as if R is falling apart. I try to justify this feeling by providing three discussion points:

1. Version compatibility issues seem to be on the rise. Very often, you get the message that package x was built on R version y (and thus, won't work in your version of R). When you update to the latest version of R, you realize that not all packages are available for that version. It seems that for each version, only a (non-predictable) subset of packages is available.

2. The overhead of installing new packages seems to be on the rise. It seems that the packages depend on more and more other packages. The more packages you have in the 'foundations' of package x, the more likely it is that one of these causes an error and the whole stack fails. Installing used to be easy back in the day: You got a 20 lines' output. Now you get endless prints. I may be mistaken but some packages seem to require admin rights on your computer which you don't often have on your work PC.

3. R seems to be developing into different dialects. You have dplyr and tidyr, some people prefer data frames, some prefer tibbles. Some people use pipes, some use traditional syntax. Some prefer object-oriented programs, some prefer procedural scripts. If you put in a job announcement that somebody has to know R, it doesn't mean the same thing for different people.

If you compare the use experience of R in 2025 to that of Matlab, the difference is striking: Matlab is concise and clear, R is more and more about endless prints. Of course, Matlab is a commerical product, but R used to be the same way. I don't know if many other people feel the same way, but I think I am shifting away from R."

Voi vielä sanoa, että ero Matlabiin on todella iso. Alkuperäinen syy lähteä käyttämään R:ää oli, että se oli kätevä korkean tason kieli. Onhan se vieläkin korkean tason kieli, mutta enpä tiedä kätevyydestä.

Englanninkielisiin valituksiin voi vielä lisätä sen, että kontribuoidut paketit voivat sisältää mitä tahansa. Olen löytänyt niistä ihan selviä laskuvirheitä. Sanoisin että base R:ään ja yleisimpiin paketteihin (stringr, readxl yms.) voi jollain tasolla luottaa, muuhun ei.

mavavilj [13.06.2025 17:16:29]

#

Minusta Octave on paljon parempi kuin R, mutta R on syntaksiltaan sulavampi, jos tekee vain tilastoanalyysejä. Yleiseen laskentaan, ei todellakaan. Nuo muut ongelmat ovat osiltaan myös Python:issa. Octave:ssa suurin ongelma on Matlab-vastaavuus.

R ei ole yleinen korkean tason kieli, vaan se on erikoiskieli tilastollisiin skripteihin. Matlab on korkean taso kieli matriiseilla tehtäviin laskelmiin. Python on yleinen korkean tason kieli.

mavavilj [14.06.2025 15:44:05]

#

Oikeastaan näissä kaikissa häiritsee se, että ne ovat liian lähellä toisiaan, joten sitten usean manageroimisesta tulee vain turhaa työtä.

Olisi parempi, jos ne kaikki olisi toteutettu tulkkeina Pythoniin.

Antti Laaksonen [14.06.2025 17:43:21]

#

Small kirjoitti:

If you put in a job announcement that somebody has to know R, it doesn't mean the same thing for different people.

Onko tämä erityisesti R:ään liittyvä ongelma vai yleisempi ongelma? Ajattelisin itse, että sama ongelma voisi olla myös haettaessa esim. C++- tai PHP-ohjelmoijaa.

Small kirjoitti:

If you compare the use experience of R in 2025 to that of Matlab, the difference is striking: Matlab is concise and clear, R is more and more about endless prints.

Mitä "endless prints" tarkoittaa? Olen tutustumassa lähiaikoina R-kieleen työhöni liittyen ja aihe kiinnostaa tämän takia.

mavavilj [14.06.2025 18:48:53]

#

Vielä semmoinen, että R pitää muistaa S:n seuraajaksi, joten sen oikea vertailukohta on SAS eikä esim. Octave, Matlab tai Python. On toki totta, että näissä vaihtoehdoissa on jossain määrin vastaava toiminnallisuus, mutta ei todellakaan SAS:n kirjastoja. Avoimessa lähdekoodissa on kuitenkin niin paljon muitakin ongelmia, että sanoisin, että eri syntaksien ja runtime:jen tekeminen ei ole prioriteettilistan kärjessä.

mavavilj [14.06.2025 18:58:14]

#

Jos katsot tuota "open source" -menua tuolla ylhäällä täällä: https://developer.sas.com/open-source/python

niin huomaat, että SAS antaa kyllä työkaluja neljään kieleen:

Python, R, Lua, Java

joten SAS:n kontekstissa luulisi, että nämä ovat kaikki hyviä vaihtoehtoja. Valtava ero on kuitenkin, että näistä muita on hyvä käyttää muuhunkin, mutta en tiedä, miksi kukaan tekisi R:llä mitään muuta kuin SAS-tyylisiä ohjelmia. Näistä myös Python on selvästi yleisin muuten ja Java-SAS kuulostaa vaan todella työläältä, joten siksikin Python on vaan paras.

Toisaalta riippuen kontekstista, R voi olla hyödyllinen joihinkin proto-tason juttuihin. Jos halusin tehdä tekoälyn prototyyppejä, niin saattaisin harkita R:n käyttämistä jonkin LISP:in sijaan.

Vastaus

Muista lukea kirjoitusohjeet.
Tietoa sivustosta