R i web aplikacje gdy znają Javęi .NET - wtf?

0

Na polskich forach tego jeszcze nie znalazłem, ale na takim quora na przykład jest masa, dosłownie setki wątków o tym jak zrobić pełną aplikację webową w R. To znaczy aplikację jakoś tam analityczną, a nie np. startup. Co ciekawe, ludzie piszący o tym znają np. świetnie .NET albo Javę czy Pythona. Zapytałem kilka razy "why the hell", odpisali, że jak mają do napisania mały serwis na kilkaset userów dla analityki, to nie opłaca im się wychodzić poza technologię i wprowadzać kolejnych warstw, tylko zostają w jęzku, w którym robią analitykę. What??? Dla mnie to chore, ale świat zachodu zawsze mnie zadziwiał. Na quora są też jednak ludzie z Europy, nawet z Polski, którzy powtarzają ten sam slogan. Albo Shiny albo jakieś OpenCpu i podobne erowe cuda. Ściągnąłem, zainstalowałem - no ok, do zrobienia jakiegoś świecidełkowego dashboarda to może i się nadaje, ale nie do poważniejszych aplikacji. Opencpu jest w ogóle dziwne, wystawia funkcje R jako restowe api i pozwala odpalić na tym stronę www, czyli tyle co potrafi PHP czy Python, ale jarają się tym jak dzieci. Nawet w małych firemkach LAMP króluje niepodzielnie. Czy to różnice kulturowe, fanbojstwo, głupota czy po prostu ograniczenie i ci ludzie nie potrafią napisać czegoś w innym języku niż ten co w nim klepią swoje analizy? Napisanie webserwisu w .NET czy Javie to pół godziny... W PHP mniej. I jak mówię piszą to programersi normalnych języków, widzę jak udzielają się na innych grupach i kumają normalne technologie. W Polsce nie znalazłem ani jednego takiego przypadku. Na szczęście.

2

Siedzę na Quora czasami i dostaję od nich mailing ale nie za dużo widzę tam R.

Jednak odpowiadając na pytanie. Uzasadnienie jest dokładnie takie samo jak to, dlaczego Ty byś napisał to w C# czy PHP, bo jest Ci łatwiej to ogarnąć. Shiny (OpenCPU nie znam) jest prymitywne, ale w 10 linijkach możesz uzyskać to na co musiałbyś w C# poświęcić to 30 min. A jeśli szefostwo stoi Ci nad głową bo potrzebują to "na wczoraj" to nie ma sensu się nad wymiar wysilać.

Podstawową cechą dobrego programisty jest umiejętność dobierania odpowiednich narzędzi do odpowiednich zadań, każda technologia powstała w jakimś celu i będzie miała swoją niszę. Więc mimo iż teoretycznie w każdym języku jesteś w stanie napisać wszystko, to nie zawsze ma to sens. Przykładowo, jesteś w stanie policzyć regresję liniową oraz zrobić wykres danych + wynik regresji w C#, ale zajmie Ci to zdecydowanie dłużej niż w R czy Julii.

Osobną sprawą jest, że trochę platform (nawet komercyjnych) ma natywne wsparcie dla R, więc zamiast mieszać dwa języki, lub wykonywać zbędną pracę lokalnie, możesz oddelegować cały kod do R włącznie z warstwą prezentacji (wiem, że SAP HANA ma wsparcie dla R oraz Oracle, gdzieś mi się kiedyś obiło o uszy, że MS też jakoś z tym współpracuje).

0

No, Microsot kupił jakąś firmę, co napisała swój engine do era, dużo wydajniejszy i lepszy do big data. Teraz połowa produktów analitycznych MS na tym stoi, SQL Server, Power BI i nawet Visual Studio dostosowali. MS słynie z dziwnych akcji, coś kupuje, coś przerabia, a potem w p...u to idzie. W sumie popatrzyłem po tym OpenCpu i to jest nawet niezłe, bliższe prawdziwemu programowaniu no i na Apachu. Ale Shiny? Może i masz rację, że tu chodzi o czas, takie szybkie prototypowanie jakby. Ale wygląda to dziwnie, znając masę dobrych narzędzi biorą takie które nie do tego powstało. I tak uważam że Python jest lepszy bo to dobry język a ma do tego analityke, a R ma tylko analitę i kompletnie skopany język. 5 operatorów przypisania na dzień dobry i nie są wymienne między sobą...

0

O https://www.microsoft.com/en-us/cloud-platform/r-server
ale ja bym na tym nie oparł najwazniejszych produktów firmy. MS już popłynął na eksperymentach z windowsami a teraz ta udawana miłość do open source.

0

@Świetny Jeleń

MS teraz zaczął udostępniać swoje produkty jako FLOSS bo CEO został człowiek, który wcześniej był szefem Azure, przez co doskonale zdaje sobie sprawę na czym trzepie się hajs. Z tego powodu była promocja na W10, .NET Core stało się FLOSS, VS Code powstało, etc.

Co do Python vs R to różni ludzie lubią różną składnię, ja na ten przykład nie lubię składni Pythona a do R jakoś potrafiłem się przyzwyczaić (zwłaszcza jak używam fontów z ligaturami dla programistów). Masz ładną infografikę, która porównuje R z Pythonem i tam jest wygłoszona ważna kwestia: wybór języka do statystyki będzie się wiązał ze środowiskiem, z którego przychodzisz, R dla statystyków, Python dla inżynierów (chociaż ja osobiście przyzwyczaiłem się do R).

Alternatywnie na horyzoncie jest jeszcze Julia, która ma być takim połączeniem obu światów.

Jednak wracając do meritum, to tak jak wcześniej wspomniałem, najważniejsze to umieć dobrać narzędzia do pracy i czasem będzie to Python a czasem będzie to R, wszystko zależy od wielu czynników.

1 użytkowników online, w tym zalogowanych: 0, gości: 1