Forum > Tematy dowolne > ... toxim postanowił się naumieć Javy ;)

Strona 1 z 2 12>>>
skocz

toxim

  • toxim
  • wiadomość Użytkownik
  • Znawca sprzętu komputerowegoMiły gość

  • 7924 wypowiedzi

Wysłane 2012-10-15 15:34 , Edytowane 2012-10-15 15:43

Witajcie,

Jako, że póki co moje zdolności programistyczne sa mizerne (na poziomie napisania przeglądarki graficznej z jakimiś tam alogrytmami filtrowania obrazu w C#, czy innej prostej aplikacji okienkowej), a swoją przyszłość jakby nie patrzeć chcę związać z IT (aktualnie studiuję IIst na PWR), przyszła pora na wzięcie się za siebie i decyzję.

Doszedłem do wniosku, że Java jest bardziej przyszłościowym i poszukiwanym przez pracodawców językiem niż C#, postanowiłem więc w wolnym czasie (którego mam aktualnie bardzo dużo) zaznajomić się w końcu z tym językiem i nauczyć go na poziomie umożliwiającym podjęcie stażu, potem pracy - oczywiście mam świadomość, ze nie od razu Kraków zbudowano i trochę to potrwa ;) Od czegoś jednak trzeba zacząć, a lepiej zając się w końcu sobą niż trwonić czas ;)

Prosiłbym Was więc o pomoc - wskazanie środowiska programistycznego (NetBeans?) i jakiegoś dobrego, obszernego kursu z przykładami i dużą ilością praktyki. Chętnie kupiłbym jakąś dobrą książkę - zawsze to z papieru łatwiej się czegoś nauczyć ;)Generalnie prosiłbym Was o poprowadzenie mnie właściwą drogą, by poznać Javę. Chęci i czas z mojej strony są. Chodzi o kurs "od zera" - styczność z tym językiem miałem jedynie na laborkach na PolŚl, ze których nie pamiętam już praktycznie nic poza ciągle wieszającym się NetBeansem.

.. chyba, że jednak ciągnąc C#, którego troszkę już poznałem (MS Visual Studio uwielbiam wręcz)? Może warto coś jeszcze innego? Rozeznanie wśród pracodawców mam średnie, szczerze mówiąc.

Pozdr.

A64 x2 3800+ | Asus M2NPV-VM | 3GB DDR2 | GF6150 int. | HDD 500GB Seagate | Szef HPC-360 | DVD-RW, DVD-ROM i reszta pierdółek... + Dell D531

szmalik

Wysłane 2012-10-15 16:01

Porywasz się na technologię (a raczej cały wachlarz technologii), która ma ogromny potencjał ale też jest chyba najbardziej "błędogenna" i niedopracowana. Jak coś jest za darmo to ... wiadomo. Problem polega na tym, że cały świat zajmuje się jednym rozwiązaniem a nie jedna korporacja - jak Microsoft w przypadku .NET'a. Nie ma jednej organizacji, która zebrała by to wszystko do kupy i usystematyzowała. W javie zawsze coś nie działa. Programuję w C#,C++, JEE, PHP Symfony2. Jak mam coś zrobić w javie to szlak mnie trafia ale robię. Uwielbiam rozwiązania M$ i VisualStudio. Jeśli muszę coś zrobić w javie to używam Eclipsa ale jest to narzędzie ciężkie i tak samo dziadowskie jak Java. Sto razy więcej frajdy daje mi programowanie w PHP z frameworkiem Symfony2 i Doctrinem. Jako środowisko używam NetBeans'a. Ty musisz opanować Hibernate'a jeśli chcesz tworzyć aplikacje bazodanowe. Jest on niemal identyczny jak Doctrine.

Nie lubię JAVY (żadnej) i nie będę lubił bo trza się dużo narobić , żeby zrobić cokolwiek a i tak nie będzie działać.

Koniecznie ucz się Javascriptu a raczej JQuery - to jest przyszłość i raczej większość nowoczesnych serwisów korzysta z JQuery (JQuery UI wymiata !). Możliwości są w zasadzie nieograniczone.

Jako źródło polecam
w3schools: [LINK]
4programmers: [LINK]
nieśmiertelny stackoverflow: [LINK]

Thinking in Java : [LINK]

Powodzenia \"\spoko\"

Asus M2N32-SLI Deluxe, Athlon 64 x2 5600,GEIL 4 x 1GB 800MHz, Sparkle 8800GT coolpipe3, HDD Caviar 320GB + 500GB +1,5TB Sata II,NEC DVD+/-R,Chieftec MEDIUM-Tower,LCD HP w2207, Scythe MUGEN

nickey

  • nickey
  • wiadomość Użytkownik

  • 8466 wypowiedzi

Wysłane 2012-10-15 16:04

@Toxim
Powiem ci tak: znajdzie się tyle samo zwolenników C#, jak i javy. Także jest popyt na to i na tamto (obserwując oferty pracy).

Netbeansa sobie odpuść, fakt lubił sie wieszać. Ja pracowałem w domu w Eclipse.Co do książki ja korzystałem z "Java - praktyczny kurs, Marcin Lis". Trochę teorii, trochę przykładów także fajnie się czytało i egzamin zaliczyłem bez problemów.

Java ma ten plus, że po nauczeniu się jej możesz programować mobilne aplikacje w Androidzie (nie od razu, ale znacznie łatwiejszy jest start z znajomością Javy).



AMD Ryzen 5800X |MSI MAG X570 TOMAHAWK WIFI | Samsung 970 Evo M.2 500GB + Crucial P1 1 TB M.2 2280 PCI-E x4 Gen3 NVMe| be quiet! Pure Loop 360mm (BW008) | Gigabyte GeForce RTX 3070 EAGLE OC 8GB GDDR6| HyperX 16GB (2x8GB) 3600MHz CL17 Fury RGB|be quiet! Power Zone 750W (BN211)| SilentiumPC Signum SG7V Evo TG ARGB

szmalik

Wysłane 2012-10-15 16:14

@nickey NetBeans w wersji >7.1 jest dużo bardziej stabilny niż Eclipse a już na pewno mniej pamięciożerny. Eclipse to kombajn - ciężki i zamulający CPU. Natomiast w przypadku Androida polecam studiować OpenGL'a \"\lol\"

Asus M2N32-SLI Deluxe, Athlon 64 x2 5600,GEIL 4 x 1GB 800MHz, Sparkle 8800GT coolpipe3, HDD Caviar 320GB + 500GB +1,5TB Sata II,NEC DVD+/-R,Chieftec MEDIUM-Tower,LCD HP w2207, Scythe MUGEN

kowgli

  • kowgli
  • wiadomość Użytkownik

  • 4367 wypowiedzi

Wysłane 2012-10-15 16:41 , Edytowane 2012-10-15 17:04

Osobiście nie przestawiałbym się na Javę. Jest to technologia używana głównie przez bezwładne technologicznie korporacje. Wielkie, kobylaste projekty - wyglądające pięknie na papierze, a z punkty widzenia programisty nudne jak flaki z olejem. Nie mówię tu oczywiście o wersji Androidowej, ale ta prócz składni nie ma z normalną Javą wiele wspólnego (nieelementarna nauka języka to nauka bibliotek i wspomagającyh technologii - frameworka, a te na Androida są zupełnie inne).

Pracując w technologiach MS ani ja, ani wielu moich znajomym nie miało nigdy problemów ze znalezieniem pracy. W Warszawie możesz przebierać w ofertach pracy "od jutra".

Moim zdaniem pozostań przy .NET. Doucz się bardziej zaawansowanych rzeczy (typu ASP.NET + MVC, WCF, Entity Framework) , "HTML5" oraz baz danych na przyzwoitym poziomie i na pewno ze znalezieniem dobrze płatnej pracy nie będziesz miał problemów. Po paru latach przekwalifikować się na "konsulanta" jakiegoś systemu ERP lub podobnego i masz robotę "do emerytury".

Lincoln

Wysłane 2012-10-15 17:30

@szmalik zgodzę się z tobą że Java Script to lepsze od Javy, ale żeby opanować JQuary niestety musi znać JavaScript. Sam się jej uczę ale niestety ciężko mi to wchodzi do głowy \"\cfaniak\". Generalnie uważam że kolega powienien właśnie uderzyć w JS.

kowgli

  • kowgli
  • wiadomość Użytkownik

  • 4367 wypowiedzi

Wysłane 2012-10-15 17:38 , Edytowane 2012-10-15 17:39

@Lincoln
Nic chyba nie wspomniałem o tym, że JavaScript jest lepsze od Javy. Te dwie technologie w ogóle ciężko porównywać. Prócz nazwy i tego, że obie mają składnię C-pochodną nie mają one ze sobą nic wspólnego.

W obecnych czasach JavaScript trzeba znać, ale nie może to być jedyna technologia. Trzeba znać jeszcze coś "server side" - Java, .NET, PHP, Ruby, Perl, itd + jakiś język programowania baz dancyh T-SQL, PL-SQL, itp. JavaScript z konieczności staje się językiem wyboru do robienia UI, jednak poważne rzeczy (choćby przetwarzanie danych) robi się w poważniejszych technologiach.

W praktyce pracując przy oprogramowaniu mającym UI webowe posługujemy się przecież wieloma technologiami (językami) jednocześnie - w podstawowej wersji np. .NET + C#, T-SQL, JavaScript, HTML, CSS. Do tego takimi czy innymi bibliotekami, które również trzeba znać, np. ASP.NET MVC, Entity Framework, JQuery, JTemplates, NUnit, Knockout JS itp.

Lincoln

Wysłane 2012-10-15 17:42

@kowgli Html5 Css3 i JS i dobra praca gwarantowana. Mi do szczęścia brakuje ogarnięcie JS tylko że strasznie mnie w oczy kole \"\jezor\", no ale może dlatego że głównie sam się uczę.

kowgli

  • kowgli
  • wiadomość Użytkownik

  • 4367 wypowiedzi

Wysłane 2012-10-15 17:51 , Edytowane 2012-10-15 17:55

@Lincoln
W Polsce, w 2012 roku? Gdzie i jako kto?

Nie ma co odróżniać HTML5 i JavaScriptu. Większość usprawnień w HTML5 (nie licząc paru nowych tagów) dotyczy warwsty skryptowej.

----
Do JS polecam tą książkę - [LINK] W programowaniu 99% rzeczy człowiek uczy się sam :) Na studiach, czy szkoleniach to może jakieś elementarne podstawy ewentualnie.

toxim

  • toxim
  • wiadomość Użytkownik
  • Znawca sprzętu komputerowegoMiły gość

  • 7924 wypowiedzi

Wysłane 2012-10-15 17:53 , Edytowane 2012-10-15 17:58

Core Java 2 Podstawy już się ściąga w celach poglądowych. Istnieje jakaś książka, która dobrze uczy C# od podstaw (poprowadzi "za rączkę" - chciałbym zacząć od spraw podstawowych - żeby uporządkować, usystematyzować to co już wiem), aczkolwiek z uwzględnieniem nowszysch technologii - jak np. WPF? Najchętniej po polsku - angielskiego nie znam na tyle, by wyłapać jakieś techniczne niuanse.

Chwilę temu odpaliłem po dłuuuugim czasie przerwy MS Visual Studio - i od razu poczułem się "w domu". Na najbliższy czas zaplanowałem sobie poznać podstawy Javy, środowisko NetBeans, stworzyć przy użyciu tych technologii to, co lekko i przyjemnie stworzyłem w C# jako projekt inżynierski. Po czym porównać to, jak mi się korzysta z obu tych języków i wybrać ten docelowy, który posłuży mi do właściwej nauki programowania (bo przede wszystkim o to chodzi - żeby nauczyć się programować "na porządnie", ładnie, czytelnie, a nie tak jak potrafię do tej pory, czyli "byle zaliczyć na uczelni"). Gdy już się nauczę porządnie jednego języka, przejście na inny nie będzie takim problemem - póki co mam ogromne braki w podstawach i pisanie programów polega na kombinowaniu, aż wszystko zadziała - a wiadomo, że nie tędy droga.

Pozdr.

A64 x2 3800+ | Asus M2NPV-VM | 3GB DDR2 | GF6150 int. | HDD 500GB Seagate | Szef HPC-360 | DVD-RW, DVD-ROM i reszta pierdółek... + Dell D531

endriu_l

Wysłane 2012-10-15 17:58 , Edytowane 2012-10-15 18:01

@Lincoln@szmalik

Java do JavaScript ma się jak kot do kotary. Nie mylcie tych dwóch - zupełnie różnych - technologii / języków.

@kowgli
Wiesz, nastawiając się na C# i .NET, łączysz się na dobre i na złe z M$. A większość poważnych graczy w branży jednak stara się trzymać bliżej serwerów opartych o system Linux, w związku z czym Java daje więcej możliwości. Nie chcę wdawać się w dyskusję o wyższości jednego języka nad innym, bo to tak, jakby rozmawiać o Androidzie i iOS.

@toxim
Pamiętaj, że składnia języka to mniej istotna część programowania. Najważniejsze jest odpowiednie przygotowanie merytoryczne związane z abstrakcyjnymi elementami, które w programowaniu występują. Jest cała gama pojęć, wzorców projektowych, niezmienników, z którymi spotkasz się - nie ważne w jakim języku programujesz. Mówię o takich rzeczach jak kolekcje( Set vs Lista, kontenery asocjacyjne - Map), wątki i synchronizacja, operacje na strumieniach (InputStream / OutputStream), pojęcia związane z obiektowością, obsługa błędów - wyjątki.

Wybór IDE to kwestia indywidualna - najlepiej sam zobacz oba, zapoznaj się z ułatwieniami, skrótami klawiaturowymi i sam zdecyduj który jest dla Ciebie wygodniejszy.

Piszesz że jesteś w trakcie studiów - może pociągnij jakiś projekt w Javie. Może masz jakieś zajęcia np. z współbieżności - zawsze możesz połączyć zaliczenie z implementacjami w Java.


Jeżeli chodzi o edukację - to zależy co Cię interesuje. Najlepiej chyba byłoby zapoznać się z ogólnymi zasadami w języku. Poznać pojęcia związane z obiektowością (interfejsy, klasy abstrakcyjne, modyfikatory widoczności), kontrole sterowania (if, pętle, switch itp) i obsługę wyjątków (checked vs unchecked, blok try catch finally). W międzyczasie ponawania API (np. klasy związane z modyfikacją Stringów - StringBuilder/StringBuffer i inne), IO (strumienie danych), wątki.

Jak będziesz się w miarę swobodnie czuł - można przejść do etapu Webówki - jakiś tutorial Java EE i jedziesz :D

kowgli

  • kowgli
  • wiadomość Użytkownik

  • 4367 wypowiedzi

Wysłane 2012-10-15 17:59

@toxim
To jest dosyć dobra książka [LINK]. Po jej przeczytaniu ma się przynajmniej podstawowe pojęcie o najważniejszych elementach frameworka. Książki po polsku sobie daruj. Polskie tłumaczenia po pierwsze są opóźnione (zazwyczaj wydanie do tyłu), po drugie często bardzo kiepskiej jakości. W tym zawodzie czyta się po angielsku, kiedy masz się tego nauczyć jak nie na studiach?

Lincoln

Wysłane 2012-10-15 18:01

@kowglimało to na necie ofert dla webmasterów?

kowgli

  • kowgli
  • wiadomość Użytkownik

  • 4367 wypowiedzi

Wysłane 2012-10-15 18:05 , Edytowane 2012-10-15 18:14

@endriu_l
Na tej samej zasadzie nastawiając się na Javę łączysz się na dobre i złe z Oraclem. Nie widzę różnicy.

Co masz na myśli pod pojęciem "poważnych graczy"? Pracuję przy projektach za dziesiątki milionów euro w technologiach MS, w skali polskiej ciężko znaleźć poważniejsze.

kowgli

  • kowgli
  • wiadomość Użytkownik

  • 4367 wypowiedzi

Wysłane 2012-10-15 18:10

@Lincoln
Ale toxim chce zostać programistą, nie webmasterem. Zresztą nie za bardzo rozumiem, co to znaczy webmaster? Chcesz robić strony-wizytówki dla pizerii i warsztatów samochodowych?
W projektach webowych większych od skali mikro takie pojęcie nie występuje. 10% pracy jest dla grafików (w projektach gdzie ma to znaczenie), 90% dla web developerów. Żeby być web developerem musisz znać również technologie server-side.

endriu_l

Wysłane 2012-10-15 18:32 , Edytowane 2012-10-15 18:35

@kowgli No właśnie nie. Masz różne implementacje maszyny virtualnej [LINK] , możesz wziąć udział w ustanawianiu standardów [LINK] , Java jako platforma jest open source - projekt OpenJDK [LINK] .

Poważni gracze, na przykład Google, Twitter [LINK] , Facebook, wiele banków i organizacji rządowych.

Nie mówię że nie korzysta się z .NET, po prostu przy Javie nie jesteś związany z M$.

Lincoln

Wysłane 2012-10-15 18:34

@kowgli no tak zboczyłem z tematu, zresztą sam zasugerowałeś ze w JS jest lepsza przyszłość, a może to nie ty \"\hmmm\", nie ważne \"\przytul\" Jego sprawa czego chce się uczyć mi nic do tego. A na robieniu stron można nieźle zarobić, tak na marginesie.

szarlih

Wysłane 2012-10-15 18:59

@toxim

ja osobiście jako środowisko wolę NetBeansa. stabilniejszy (nie wiesza mi się \"\cfaniak\" wcale), mniej mułowaty i jakoś bardziej user friendly. jednakże we wszystkich firmach, poza jedną, gdzie pracowałem używało się Eclipse, choć ilość rozszerzeń i dodatków jakie można tam wgrać sprawia, że 2 środowiska na Eclipse mogą być bardzo różne. jednak lepiej właśnie to IDE poznawać i ćwiczyć pod kątem przyszłego zatrudnienia.

i kowgli dobrze pisze. doucz się o framworkach i ulepszaczach do .NETa i jedziesz. np DevExpress ostatnio robi karierę, sporo ogłoszeń z tym jest. poza tym cały WPF i jego rozszerzenia.

to wyżej to nie prawdy objawione tylko moje prywatne opinie « R7 3700X ⇔ Aorus X570 Elite ⇔ RTX 3070 ⇔ 32GB DDR4 ⇔ 2x EV2450BK ⇔ Imperator Pro + G903 HERO »

kowgli

  • kowgli
  • wiadomość Użytkownik

  • 4367 wypowiedzi

Wysłane 2012-10-15 19:31

@endriu_l
Akurat .NET w dużej części też jest otwarty (np. CLR i C# są standardami ECMA i ISO) \"\cfaniak\"
Również istnieją alternatywne maszyny wirtualne, choćby rozwijane od lat MONO.
Wiele wewnętrznych bibliotek (choćby ASP.NET MVC) jest Open Source. Polecam spojrzeć na CodePlex [LINK], czyli całą platformę Open Source'ową stworzoną przez MS.

kowgli

  • kowgli
  • wiadomość Użytkownik

  • 4367 wypowiedzi

Wysłane 2012-10-15 19:33 , Edytowane 2012-10-15 19:35

@szarlih
Osobiście WPF'a bym sobie darował. To jest praktycznie martwa technologia. Na szybko można wszystko zrobić w Windows Forms. Bardziej nowoczesne rzeczy, to już tylko HTML5. Nie twierdzę, że jest to lepsza technologia od WPF (HTML mimo, że jest rozwijany od lat, przez politykę i ogromne grono zainterewanych, jest ciągle hamowany w rozwoju i nowe roziązania są wdrażane niezywkle wolno), ale ma ogromną zaletą multi platformowośći i jest o wiele bardziej popularna.

Strona 1 z 2 12>>>
skocz

Kto jest online: 0 użytkowników, 287 gości