Skocz do zawartości
speed3r

Java vs Python? A może inny obszar IT?

Rekomendowane odpowiedzi

Cześć,

 

Chciałbym się przebranżowić/dokształcić o zakres wiedzy z szeroko-rozumianego IT. Pracuję jako Analityk Danych i widzę ogromne możliwości we wprowadzaniu usprawnień poprzez przygotowanie narzędzi w Javie lub Pythonie. Czytałem różne statystyki i opracowania, gdzie to Python bardzo szybko zyskuje na popularności, ale na co dzień nie mam styczności z osobami władającymi językami programowania. Który z tych języków byłby bardziej przyszłościowy i łatwiejszy w modyfikacjach i nauce?

 

Zastanawiam się również, czy zamiast może pisania w Javie/Pythonie lepiej byłoby pójść w "Data Security" lub w "Chmurę" - jak to wygląda Waszym zdaniem z możliwościami rozwoju/potencjalnej łatwości w znalezieniu zatrudnienia itd.?

  • Downvote 1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Python jest popularny w data science i devops. Java to typowe duże systemy webowe jak bankowość i ecommerce. Łatwość nauki to python. Java ma duży próg wejścia, ale pracy jest multum. A rozwój to zależy od firmy.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz sobie robić narzędzia automatyzujące pracę to zdecydowanie Python.

 

Python jest prostszy, szybciej się uruchamia (to jest akurat ważne jak piszesz małe skrypty do niewielkich zadań), mentalność ludzi tworzących biblioteki w Pythonie również jest taka, że zwykle są dosyć łatwe w użyciu od razu. Wadą jest na pewno wydajność, ale da się ten problem obejść używając PyPy i/lub bibliotek, które mają krytyczne elementy zaimplementowane w C (głównie właśnie narzędzia do szeroko pojętego data science).

 

Java jest trudniejsza, jest generalnie dosyć ciężka, ale jeśli potrzebujesz naprawdę wysokiej wydajności to Java śmiga na poziomie porównywalnym z C/C++ (chyba że chodzi o web, w tym jest podobno szybsza z powodu dojrzałości narzędzi) będąc jednak łatwiejszym i bezpieczniejszym językiem.

 

Oba języki są mniej więcej tak samo przyszłościowe (chociaż to trochę wróżenie z fusów), dla obu języków nie brakuje ofert pracy. Oba są też wykorzystywane w wielu różnych zastosowaniach (chociaż każdy język ma swoje obszary, gdzie dominuje, co zostało wspomniane w poście powyżej).

 

Data security jest dosyć specyficzne, trzeba znaleźć odpowiednią firmę, w której jest możliwy rozwój w tym kierunku. Jeśli chodzi o chmurę to jest tak szerokie pojęcie, że musiałbyś o co Ci konkretnie chodzi. Jako programista Java/Python i tak byś musiał się otrzaskać z chmurami.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Python. Łatwy do nauki i można szybko osiągnąć efekty. Ja w nim nie siedzę, ale znalezienie biblioteki i napisanie prostego programu do odczytu danych z urządzenia po MODBUS zajął mi jeden dzień. Ma też sporą ilość darmowych bibliotek, więc nic dziwnego, że zyskuje na popularności.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Cześć,

 

Chciałbym się przebranżowić/dokształcić o zakres wiedzy z szeroko-rozumianego IT. Pracuję jako Analityk Danych i widzę ogromne możliwości we wprowadzaniu usprawnień poprzez przygotowanie narzędzi w Javie lub Pythonie. Czytałem różne statystyki i opracowania, gdzie to Python bardzo szybko zyskuje na popularności, ale na co dzień nie mam styczności z osobami władającymi językami programowania. Który z tych języków byłby bardziej przyszłościowy i łatwiejszy w modyfikacjach i nauce?

 

Zastanawiam się również, czy zamiast może pisania w Javie/Pythonie lepiej byłoby pójść w "Data Security" lub w "Chmurę" - jak to wygląda Waszym zdaniem z możliwościami rozwoju/potencjalnej łatwości w znalezieniu zatrudnienia itd.?

 

Programisci raczej tymi jezykami programowania operuja, chociaz przyznam, ze fajnie i pewnie troche epicko bylo by popatrzec na kogos kto ktoryms z nich wlada przy pracy :D

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zastanów się jeszcze może na .NETem/C#. Masz w nim możliwość pisania aplikacji desktopowych, webowych, mobilnych, chmurowych, VR, AR, gamedev (w Unity) także możliwości jest multum i łatwo przechodzić pomiędzy jednym a drugim.

Oczywiście jeśli interesuje Cię data science to Python będzie najlepszym rozwiązaniem.

 

A jakbyś chciał posłuchać o możliwościach C# to obejrzyj ten filmik:

 

I możesz spojrzeć na ścieżkę nauki programisty ASP.NET Core (webowego) od juniora po seniora: Ścieżka nauki

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)

Zastanów się jeszcze może na .NETem/C#. Masz w nim możliwość pisania aplikacji desktopowych, webowych, mobilnych, chmurowych, VR, AR, gamedev (w Unity) także możliwości jest multum i łatwo przechodzić pomiędzy jednym a drugim.

Oczywiście jeśli interesuje Cię data science to Python będzie najlepszym rozwiązaniem.

 

A jakbyś chciał posłuchać o możliwościach C# to obejrzyj ten filmik:

 

I możesz spojrzeć na ścieżkę nauki programisty ASP.NET Core (webowego) od juniora po seniora: Ścieżka nauki

 

C# jest dosc fajny "ten teges", i mozna cos w nim hobbistycznie napisac bo i narzedzia ladne i jezyk znosny. Ale chociaz nadal popularny w biznesie, milosc mikro-miekkiego do swojego hashowanego dziecka mocno ostatnio chlodnieje a wiemy jaki potrafi byc microsoft... Do tego jak ostatnio cos w C# grzebalem, to sie okazalo ze microsoft mocno sciska KoChoneZ swoich uzytkownikow, bardziej nawet niz legion prawnikow Oracla... Tego nie, tamtego nie - mur jest i to solidny. Programujac w C# trzeba sie liczyc, ze z developera zostajesz "developerem microsoftu", taka ich "suniom". Bo zeby k* o glupia biblioteke trzeba bylo walczyc jakby chodzilo o cnote Heleny trojanskiej ~ komus sie tam u nich chyba mozgi zlasowaly, ale jak tak patrze na to co sie dzieje z windows update to sie nie dziwie...

 

@speed3r

Bierz Pythona - moze nie jest piekny ale ma lepsze podejscie i "wiele obszarow" (java niby tez, ale specyficzne - na twoim miejscu nie uczylbym sie bez konkretnego pomyslu czy stanowiska. Kiedys z pewnych wzgledow musielismy sie w pracy ograniczyc do javy, i byla tak multiplatformowa ze efektywniej wyszlo mi nauczyc sie visual basica i przeportowac komponent dostosowywujac go pod windowsa, niz kozystac z originalnej, miedzyplatformowej wersji).

Edytowane przez TerakotowyKrolik

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)

ja zacząłem się uczyć Pythona (mając już jakąś wiedzę o C++) i muszę przyznać, iż języka się genialnie uczy - Napisałem zaawansowany generator haseł po raptem kilku dniach nauki języka.

 

co do wydajności - to różnie :) czasami mam wrażenie, iż program wykonuje kod bardzo mozolnie w porównaniu do C++ ale może mi się tylko wydaje

Edytowane przez nettmanek

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

ja zacząłem się uczyć Pythona (mając już jakąś wiedzę o C++) i muszę przyznać, iż języka się genialnie uczy - Napisałem zaawansowany generator haseł po raptem kilku dniach nauki języka.

 

co do wydajności - to różnie :) czasami mam wrażenie, iż program wykonuje kod bardzo mozolnie w porównaniu do C++ ale może mi się tylko wydaje

Nie wydaje Ci się. Python jest wolny. Oczywiście jest w jakiś tam sposób optymalizowany, ale w najbliższej przyszłości nie zamierzają rezygnować z interpretera i to go będzie ograniczać.

 

Możesz użyć PyPy i różnych modułów napisanych w C (np. NumPy), ale i tak C++ nigdy nie prześcigniesz.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Na studiach mieliśmy zrobić prosty program do kompresji/dekompresji pliku tekstowego według danego algorytmu. Wczytywanie bajt po bajcie, kompresja, zapisywanie bajt po bajcie. Większość wybrała Pythona, bo taki prosty i w ogóle. W Pythonie przemielenie jednego pliku 100MB zajmowało ze 20 sekund, w C++ - 2.

Przykład oczywiście skrajny, bo działania na plikach z zasady są sporo wolniejsze, ale chociaż trochę pokazuje różnicę w prędkości.

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Na studiach mieliśmy zrobić prosty program do kompresji/dekompresji pliku tekstowego według danego algorytmu. Wczytywanie bajt po bajcie, kompresja, zapisywanie bajt po bajcie. Większość wybrała Pythona, bo taki prosty i w ogóle. W Pythonie przemielenie jednego pliku 100MB zajmowało ze 20 sekund, w C++ - 2.

Przykład oczywiście skrajny, bo działania na plikach z zasady są sporo wolniejsze, ale chociaż trochę pokazuje różnicę w prędkości.

 

Dlatego tez ludzie zazwyczaj lacza Pythona z innym, szybkim jezykiem. Gdybysmy zyli tysiace lat jak "prawdziwe vampiry" polecilbym Assemblera, a tak z popularnych pozostaje (czyste) C, ewentualnie Pascal.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Uważam, że każdy programista powinien w którymś momencie napisać kilka prostych programów w asm tylko po to, żeby docenić wysokopoziomowe programowanie :E

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wystarczy mieć styczność z C by docenić ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

C# jest dosc fajny "ten teges", i mozna cos w nim hobbistycznie napisac bo i narzedzia ladne i jezyk znosny. Ale chociaz nadal popularny w biznesie, milosc mikro-miekkiego do swojego hashowanego dziecka mocno ostatnio chlodnieje a wiemy jaki potrafi byc microsoft...

Microsoft lubi porzucać swoje dzieci, to fakt, ale o los C# to bym się akurat nie martwił. Po prostu MS nie ma czym go zastąpić, a z drugiej strony potrzebuje, bo wiele swoich produktów i narzędzi rozwija po prostu w C#. Więc nawet jakby coś tam kiedyś ogłosili, to i tak będzie proces na wiele lat. Oczywiście wiadomo, że ograniczasz się głównie do windowsów i technologii ms, ale jak pisałeś, biznesy i tak zwykle mają windowsy, domenę, jakiś serwer i dla nich koszt licencji to i tak ne dużo w całym budżecie. Jasne, są np opcje linuksowe (z .NET Core), ale to raczej te funkcjonalności MS obetnie szybciej niż wsparcie na C# na windowsach.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Możecie podać jakieś przykłady tego Microsoftu porzucającego swoje dzieci?

 

SQL Server, MS Office, Windows, Xbox, firma raczej słynie z produktów, które istnieją od wieków. Rzeczony C# rozwijają od 20 lat.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Oj panie, tak z brzegu: Lumia i windows phone, Silverlight, przeglądarka Edge, Flight Simulator (ten chyba reanimują po latach), TechNet. Wiadomo, że z tych uśmierconych to akurat nie słynie już :D

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)

Czy był jakikolwiek powód dla dalszego rozwijania Silverlight?

 

Lumia i WP - dla mnie genialny zestaw, gdyby tylko było więcej softu. Na przykładzie używanych przeze mnie telefonów - Lumia 635 działała o niebo lepiej niż Huawei P8 Lite.

 

Z uśmierconych "dzieci" słynie Google ;)

Edytowane przez Kitu

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Czy był jakikolwiek powód dla dalszego rozwijania Silverlight?

A czy był powód, żeby w ogóle zaczynać go wdrażać? Świat używał flasha i był zadowolony. W momencie gdy zaczynała się walka między flashem a technologiami opartymi na JS i HTML5 wszedł Microsoft ze swoim Silverlightem jak trzecim kołem u roweru. I najpierw skusił część rynku, a potem ją porzucił.

 

Z uśmierconych "dzieci" słynie Google ;)

Oni najbardziej, ale MS depcze im po piętach.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Po prawdzie to żadna z tych rzeczy nie osiągnęła nigdy takiej pozycji jak C#. Szczególnie Silverlight...

 

W ogóle czy ja dobrze pamiętam, że w tamtym okresie to systemy rządowe bardzo lubiły tego używać?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

a słyszeliście o poprzedniku C#? J# https://docs.microsoft.com/en-us/previous-versions/msdn10/bb188593(v=msdn.10) został porzucony

C++/CLI również zostało uśmiercone ...

ciekawe jak skończy F# ...

 

co to za matka co porzuca swoje dzieci ;)

J# wyszedł po C# według wiki. MSVC++ wciąż żyje, ostatnia wersja została wydana w zeszłym roku.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)

Możecie podać jakieś przykłady tego Microsoftu porzucającego swoje dzieci?

 

SQL Server, MS Office, Windows, Xbox, firma raczej słynie z produktów, które istnieją od wieków. Rzeczony C# rozwijają od 20 lat.

 

Generalnie to jest bardzo rozlegly temat, ale po co siegac daleko: C#

Sprobuj napisac cos w wersji lub przy uzyciu komponentow nie zgodnych z obezna linia rozwoju...

 

@szatkus

Sugeruje przystopowac w demagogi i cwaniaczeniu. Zapytales o przyklady -> dostales przyklady -> przegrales dyskusje.

Jesli sie nie zgadzasz z tym ze microsoft porzuca swoje projekty (nie łżyj, ze tak nie jest) to przedstaw swoje argumenty.

Marnowanie czasu kontrdyskutantow na wyszukiwanie argumentow/informacji do ktorych zawsze mozesz sie przyczepic (co robisz) i ignorowanie tego, ze juz odpowiedzieli na twoje otwarte (pseudo) pytanie, to manipulacja zaklamanych #$%^& ktorych nie interesuje dyskusja tylko przepchniecie swoich gó* pogladow za wszelka cene...

 

Ps. "Dla wygody" utrwalilem twoje wczesniejsze wypowiedzi:

 

>> a słyszeliście o poprzedniku C#? J# https://docs.microso...8593(v=msdn.10) został porzucony

>> C++/CLI również zostało uśmiercone ...

>> ciekawe jak skończy F# ...

>>

>> co to za matka co porzuca swoje dzieci ;)

>

> J# wyszedł po C# według wiki. MSVC++ wciąż żyje, ostatnia wersja została wydana w zeszłym roku.

 

>> Oj panie, tak z brzegu: Lumia i windows phone, Silverlight, przeglądarka Edge, Flight Simulator (ten chyba reanimują po latach), TechNet.

>> Wiadomo, że z tych uśmierconych to akurat nie słynie już :D

>

> Po prawdzie to żadna z tych rzeczy nie osiągnęła nigdy takiej pozycji jak C#. Szczególnie Silverlight...

>

> W ogóle czy ja dobrze pamiętam, że w tamtym okresie to systemy rządowe bardzo lubiły tego używać?

 

 

PsPs. Jesli nie zrozumiales, to ja tez moge sie w to bawic:

Możesz mi podać jakieś przykłady na to ze nie jestes manipulujaco-cwaniaczacym #$%^%'em?

Edytowane przez TerakotowyKrolik

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)

co to za matka co porzuca swoje dzieci ;)

 

Ale przecież to jest normalne... Istnieje masa języków, bibliotek, frameworków i ogólnie pojętych technologii, które traciły wsparcie. Windows XP, Flash, Applety, itp, itd. Jest to szczególnie częste we frontendzie. Nie opłaca się utrzymywać trupów, które używa garstka ludzi lub nie są w stanie wyjść z długu technicznego.

Edytowane przez Karister
  • Downvote 1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...