Data Science i Java

0

Czy ktoś lepiej ode mnie zaznajomiony z badaniem danych jest w stanie określić jak wygląda rynek jeśli chodzi o wykorzystanie Javy? Próbowałem się bawić w innych językach, ale przyznam szczerze, że Java podchodzi mi najbardziej ze wszystkich (chociaż wykorzystywałem ją tylko przy stworzeniu apki webowej, więc ciężko mi powiedzieć jak wyglądałoby to np. w przypadku tworzenia modelu machine learningowego). Czy Java jest faktycznie wykorzystywana w naszym kraju (jeśli to ma znaczenie - mieszkam we Wrocławiu), czy jednak skupienie się na innym języku jest bardziej odpowiednie? U mnie w korpo wszyscy bawią się w R lub Pythongu, może ktoś tam coś wie ze Scali, ale raczej jej nie stosuje w pracy zawodowej. Czy zabawa w Javie to skazanie się na wyobcowanie?

1

masz cztery typy problemów:

a)proste np. skrypciki serwerowe czy manipulacja danymi
b)średnie np. aplikacja webowa
c)trudne np. HFT
d)bardzo trudne np. trenowanie głębokich sieci neuronowych

python nadaję się do a) oraz b) oraz jest wykorzystywany jako "API" do d) (np. tensorflow). Java nadaję się przede wszystkim do b) oraz c), ale nie za bardzo do d).

Java jest więc za bardzo pracochłonna do a) i za mało wydajna do d). Stąd jest mało popularna w data science i nie zanosi się na zmianę tego stanu rzeczy.

0

Jak na razie jest boom na Jave. Wszędzie masz multum ofert na Jave, bootcampów na Jave. Więc na pewno wyobcowanie nie grozi. Jak zależy Ci na wyobcowaniu to baw się w naukę programowania ENIACa

0

@Cogito:

autor tematu pyta się o data science a nie web development/backend.

0
Czarny Kowal napisał(a):

d)bardzo trudne np. trenowanie głębokich sieci neuronowych

Trenowanie sieci neuronowych jest numerycznie proste (w porównaniu do innych problemów naukowych), nie wiem czemu sądzisz że jest trudniejsze niż pisanie softu pod HFT.

0

tak dlatego googlowi zajmuję to parę tygodni na paruset gpu i hardo zopptymalizowanym kodzie w c++

0

u nas java była tylko do implementacji modeli.

W ogłoszeniach o pracę dominuje python, czasem też jako dodatkowy język: C++, Scala lub Julia

0

Po co chcesz się kopać z koniem?
Rynek raczej nie wskazuje na jakąś ogromną popularność Javy w tej dziedzinie.
Oczywiście, możesz chcieć zostać "rodzynkiem", ale wtedy będziesz miał trochę pod górkę.

Przykładowo dla "TensorFlow for Java":
The TensorFlow Java API is not covered by the TensorFlow API stability guarantees.
https://www.tensorflow.org/install/lang_java

Z drugiej strony oczywiście jakieś tam materiały dla Javy się znajdą, ale nie wiem czy nie na podobnej zasadzie co dla PHP (popularny język - wielu ludzi na to wpadło):

Deep Learning:
https://towardsdatascience.com/deploying-keras-deep-learning-models-with-java-62d80464f34a

Data Science:
https://jaxenter.com/data-scientists-need-to-learn-java-139449.html

0

Dzięki bardzo za odpowiedzi! :)

@Julian_
Z ciekawości, do czego u Was używano C++?

@vpiotr
Kopać z koniem się nie chcę. Język sam w sobie po prostu lubię, jest dla mnie wygodny. Nie mam obeznania z rynkiem, a te kilka ofert na krzyż dla Data Scientistów z różnych portali średnio oddaje to jak w praktyce sprawa z tym językiem w danym zakresie wygląda. Liczyłem na opinie osób lepiej ode mnie obeznanych i bardzo się cieszę, bo je otrzymałem. Jestem generalnie zainteresowany rozwojem w kierunku badania danych i właśnie w swoim korpo przenoszony będę do budowania modeli, z drugiej strony inna firma proponuje mi w tym momencie płacę netto wyższą niż moja obecna brutto, tyle że w web devie. Zdecydowanie wolałbym zająć się badaniem danych, ale ciężko nie połasić się na taką zmianę zarobków. Liczyłem na to, że potencjalne przeniesienie się do stricte programistycznej pracy i działanie w Javie w przyszłości nie będzie dla mnie jakąś kulą u nogi, ale poważnie się zastanawiam, czy jednak nie zostać w korpo i bawić się z danymi za póki co niższe pieniądze. Dla mnie to dość trudna decyzja.

0

zostań z danymi, z czasem w polaczkowie zrobi się więcej ofert pracy, jesteśmy zapóźnieni około 5 lat za zachodem, więc w 2020 powinien nastąpić w polsce boom xD

0

Za pięć lat to ja w Javie będę mógł w rok na mieszkanie w rodzinnym małym mieście odkładać xd, ale fakt, bardzo liczę na tę przemianę danową, ale mimo wszystko nie jestem takim optymistą żeby spodziewać się jakiejś kosmicznej poprawy.
Przy danych pewnie zostanę, bo może dostanę teraz trochę po kieszeni, ale na dłuższą metę ciężko żebym zarabiał w webdevie więcej jeśli sam webdev nie będzie mnie interesował.

0
Czarny Kowal napisał(a):

tak dlatego googlowi zajmuję to parę tygodni na paruset gpu i hardo zopptymalizowanym kodzie w c++

Rozwiązywanie generalnego TSP też zajmuje dużo czasu ale to nie jest kwestia narzędzi czy technik, tylko złożoności obliczeniowej. Porównanie tego do HFT to jak porównywanie pomarańczy do okresu rozrodowego jaskółki afrykańskiej.

0
Biały Knur napisał(a):

Za pięć lat to ja w Javie będę mógł w rok na mieszkanie w rodzinnym małym mieście odkładać xd, ale fakt, bardzo liczę na tę przemianę danową, ale mimo wszystko nie jestem takim optymistą żeby spodziewać się jakiejś kosmicznej poprawy.
Przy danych pewnie zostanę, bo może dostanę teraz trochę po kieszeni, ale na dłuższą metę ciężko żebym zarabiał w webdevie więcej jeśli sam webdev nie będzie mnie interesował.

to ile Ty zarabiasz? na danych też można trzepać 15 k tylko trzeba do Wielkiej WARSZAAAWY wyjechać.

0

dobra panie mądralo to był tylko przykład xDD chodzi o to, że java się nie nadaję do data science, bo jest za wolna jako język do implementacji np. sieci neuronowych, a równocześnie za upierdliwa do codziennej pracy data scientisty (do czego idealny jest pythong).

2

Temat chyba wyczerpany, tylko dodam, że, "Industry Standart", to takie frameworki:

  • pytorch;
  • tensorflow;
  • keras;
    Wszystkie w Pythonie.
    keras jest "wrapperem" do tensorflow, które samo jest "wrapperem" do CUDA. Zaś pytorch to przepisany do Pythona torch. Operuja one na "tensorach" - w tym znaczeniu obiektach, które są "równoleglizowane" (uff wymyślilem nowe słowo?:-D) na GPU.
    Również, chyba wszystkie "State of the art" wyniki są w nich uzyskiwane (ostatnio zwłaszcza pytorch)
0

*Junior Big Data Developer – Warszawa Mokotów – 10 800 PLN netto

Dla naszego Klienta - światowego lidera wśród dostawców usług IT - poszukuję Junior Big Data Developera

Lokalizacja: Warszawa Mokotów
Start: nawet od zaraz

Wymagamy:
**- min. 0,5 roku doświadczenia w roli technicznej w obszarze Big Data lub BI
**- ogólne umiejętności programowania w co najmniej jednym z następujących języków: Python / Java / Scala

  • dobra znajomość SQL oraz skryptów Linux / shell
  • praktyczna znajomość Hadoop
    **- wykształcenie wyższe – IT lub pokrewne
  • bardzo dobra znajomość języka angielskiego**

Wynagrodzenie – w zależności od doświadczenia – do 540 PLN/dzień/B2B – możliwa także UoP lub inne formy zatrudnienia

W porównaniu z Javą proste wymagania, dobra kasa, jawnie od razu podane: wykluczone wszelakie bootcampy.

0

Niekoniecznie. Ja nie mam wykształcenia ścisłego (może trochę powiązana jest magisterka, w której połowie jestem, ale na uczelni ekonomicznej), a firmy ogłaszające się na zasadzie, że szukają wykształcenia związanego z IT i pokrewnym do mnie uderzają.

0

Zwyczajnie w Pythonie masz numpy, scipy, w R wbudowane ileś tam pakietów o podobnych funkcjach i w dodatku sam język przystosowany do przewalania danych. Do implementacji na niskim poziomie ciężko znaleźć cos wygodniejszego niż matlab. Jak się zastanowić, to Data Science dość daleko ma do jakiegokolwiek programowania.

0

Ja się chce to i w Javie się da robić Data Science, literatura skromna ale jest 1, 2, 3.

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