Zakres materiału

0

Cześć. Jak jeden z wielu szukam szczęści w programowaniu. Postanowiłem, że pierwszym językiem będzie Java. Nauka idzie chyba ok. Same funkcje w javie i jej możliwości są dla mnie zrozumiałe. Obecnie stanąłem w kropce. Uczę się tej Javy z kursu na udemy przerabiam temat po temacie tylko co z tego jak nawet nie wiem czy dany temat będzie mi potrzebny ? Jaki zakres powinienem przerobić, żeby zacząć cokolwiek pisać? Przerobiłem obiektowe programowanie, polimorfizm, tablice teraz uczę się kolekcji no ale to ciągle klepie teorie robię zadania w których implementuje np ArrayListe i to tyle. Koniec końców wpadam na pomysł napisać jakąś aplikacje z tą arrayList ale nie umiem w ogole zacząć pisać. Nie potrafię swoich myśli przelać na kod. W ogóle jest gdzieś może jakaś książka czy strona internetowa z programami które można napisać i są do tego odpowiedzi aby sprawdzić czy to o to chodzi ? Nie wiem no stanałem w miejscu i zniechęciłem się do wszystkiego. Pomyślałem, że zaczne frontend ogarniać przezcież sam HTML CSS I JS to nie musi byc jakis problem. No i spoko przerobiłem kilka odcinków jest fajnie ale szkoda mi czasu który poświęciłem na Jave i mam wrażenie że szukam czegoś innego bo nie potrafie sobie poradzić w problemem jaki napotkalem w backend i nie umiem znależć na to odpowiedzi.

Czy jest ktoś na tym forum kto łopatologicznie mógłby mi w tym pomóc? Ja obrałem sobie kierunek tworzenia aplikacji na telefon w Javie przynajmniej to chciałbym robić. Jakiś nie wiem spis zagadnien javy jakie musze umieć. Wytyczyć mi szlak droge ktorej bede sie trzymał aż w końcu pojmę to wszystko zatrybi to w mojej głowie i na nowo powróci radość z programowania.

3
mkuk0074 napisał(a):

Cześć. Jak jeden z wielu szukam szczęści w programowaniu. Postanowiłem, że pierwszym językiem będzie Java.

Pierwszy problem. Pchasz się jak prawie wszyscy szukający szczęścia w Javę - a tam zamiast szczęścia możesz znaleźć najwyżej ogonek kolejki oczekujących na pasjonującą pracę Java deva utrzymującego jakiś crap z pierwszej dekady XXI wieku.

Nauka idzie chyba ok. Same funkcje w javie i jej możliwości są dla mnie zrozumiałe. Obecnie stanąłem w kropce. Uczę się tej Javy z kursu na udemy przerabiam temat po temacie tylko co z tego jak nawet nie wiem czy dany temat będzie mi potrzebny ? Jaki zakres powinienem przerobić, żeby zacząć cokolwiek pisać? Przerobiłem obiektowe programowanie, polimorfizm, tablice teraz uczę się kolekcji no ale to ciągle klepie teorie robię zadania w których implementuje np ArrayListe i to tyle.

Błąd polega właśnie na tym, że przerabiasz sobie po kolei temat po temacie i próbujesz to wkuć, ale nie wiesz, jak tego użyć. Ale na szczęście to nie z Tobą coś jest nie w porządku, tylko z Twoim sposobem nauki :P Tak przerobić po kolei od deski do deski to niby można na początku, ale raczej przeglądowo - nie, żeby się nauczyć raz na zawsze, tylko żeby kojarzyć co to jest i po co. Na lepsze poznanie przyjdzie czas, ale o tym za chwilę.

Koniec końców wpadam na pomysł napisać jakąś aplikacje z tą arrayList ale nie umiem w ogole zacząć pisać. Nie potrafię swoich myśli przelać na kod.

Bo źle zaczynasz. Nie wymyślaj, co by tu napisać z hurr durr ArrayList koniecznie, tylko wymyśl sobie jakiś problem, który chcesz rozwiązać. Prosty. Rzecz, którą chciałbyś zrobić - prostą. Może to być np. gra w wisielca, albo lista zakupów.

Możesz sobie napisać np. generator "paragonów fiskalnych". Dostajesz na wejściu zawartość koszyka - produkty, ilość i ceny - na wyjściu chcesz dostać wydruk z wylistowanymi zakupami, ilością, ceną jednostkową, całkowitą, kwotą podatku, całkowitą kwotą, w tym kwotą PTU etc. I już masz zadanie, w którym będziesz musiał ogarnąć jak działają listy, pewnie jakieś formatowanie stringów, string buildery, jak będziesz chciał będziesz mógł się pobawić I/O (być może nie będziesz chciał akurat przekazywać outputu na ekran konsoli, tylko np. na jakiś ekran z logami, albo przesyłać na serwer który będzie to zbierać?), jak pokombinujesz to i znajdzie się miejsce na polimorfizm (choćby po to, by rozróżnić produkty "na wagę" i "na sztuki" itd. - już tutaj logika obliczania cen może być troszeczkę inna). Sam widzisz - z prostego pomysłu "wyprintuję sobie paragon" można sobie ułożyć całkiem niezłe ćwiczenie ;)

W ogóle jest gdzieś może jakaś książka czy strona internetowa z programami które można napisać i są do tego odpowiedzi aby sprawdzić czy to o to chodzi ?

Nie znam takich, ale są strony będące zbiorem luźnych pomysłów na to, co można napisać. Na szybko wyguglałem takie coś, jest też wątek na 4p, zapewne niejedyny: Strona z zadaniami programistycznymi :)

Od biedy (bardzo, bardzo biedy, uprzedzam) możesz wbić na jakiś HackerRank lub podobną mu stronę z zadaniami programistycznymi, w zakładce Discussion czy jakoś tak zawsze jest pełno komentarzy błagalnych howl do I do this please proveede me the solition (błędy zamierzone) i niewiele mniej lepszych lub gorszych rozwiązań, które ktoś tam powrzucał

Nie wiem no stanałem w miejscu i zniechęciłem się do wszystkiego. Pomyślałem, że zaczne frontend ogarniać przezcież sam HTML CSS I JS to nie musi byc jakis problem.

Ehe, żebyś się nie zdziwił :D

No i spoko przerobiłem kilka odcinków jest fajnie ale szkoda mi czasu który poświęciłem na Jave i mam wrażenie że szukam czegoś innego bo nie potrafie sobie poradzić w problemem jaki napotkalem w backend i nie umiem znależć na to odpowiedzi.

To szukaj, jest 99.999999% szans że ktoś już z tym walczył i odpowiedź znajduje się albo w tutorialach, albo na StackOverflow.

Czy jest ktoś na tym forum kto łopatologicznie mógłby mi w tym pomóc? Ja obrałem sobie kierunek tworzenia aplikacji na telefon w Javie przynajmniej to chciałbym robić. Jakiś nie wiem spis zagadnien javy jakie musze umieć. Wytyczyć mi szlak droge ktorej bede sie trzymał aż w końcu pojmę to wszystko zatrybi to w mojej głowie i na nowo powróci radość z programowania.

Największy problem jest chyba taki, że sam nie wiesz, czego chcesz. Chcesz wgryźć się w programowanie, ale nie wiesz z której strony, nadgryziesz jeden koniuszek, ciumkasz sobie aż trafisz na twardy kawałek, po czym próbujesz w innym miejscu licząc, że będzie się lepiej żuło. Nie będzie. Albo masz twarde zęby i wgryziesz się w temat, albo nie - nieważne, z której strony byś próbował ;)

Poza tym większość zagadnień z Javy które będziesz musiał poznać jako początkujący, to tak naprawdę nie są zagadnienia z Javy per se, tylko z języków programowania, a szczególnie obiektowych ogólnie. One różnią się składnią, niektóre mają fajne ficzery ułatwiające pracę podczas gdy inne przyprawiają o wrzody żołądka. Coś się inaczej nazywa, trochę inaczej się tego używa, ale idee zwykle są podobne w ramach jednego paradygmatu (w tym przypadku obiektowego).

Mogę Ci rzucić buzzwordami w stylu

  • polimorfizm
  • enkapsulacja
  • dziedziczenie
  • kompozycja
  • typy danych
  • basic I/O
  • kolekcje
  • struktury danych
  • pętle
  • wielowątkowość
  • wzorce projektowe
  • itd...

Ale to po prostu nazwy rozdziałów z właściwie dowolnego tutoriala, w przypadkowej kolejności.

Jedyne co Ci mogę poradzić od siebie, to

  • opanuj podstawy, żebyś nie blokował siebie problemami w stylu tu w sumie bym chciał żeby A był podrodzajem B, ale nie wiem co to dziedziczenie więc nie dam rady tak zrobić albo będę kombinował dookoła
  • rób rzeczy i robiąc je douczaj się tego, w czym brakuje Ci wiedzy. Jeśli czujesz, że robisz coś strasznie topornie i na okrętkę, rób research, bo prawdopodobnie istnieje rozwiązanie eleganckie, zwięzłe i być może nawet znajduje się już w standardzie języka
  • Google i SO to Twoi przyjaciele i prawie na pewno kryją odpowiedź na wszystkie Twoje pytania, trzeba tylko odpowiednio je zadać
  • co oznacza, że jeśli jednak nie możesz znaleźć odpowiedzi, trzeba spróbować przeformułować pytanie
  • odpowiedzi prawie na 100% rozwiązują Twój problem, ale również prawie na 100% nie są rozwiązaniem dokładnie Twojego problemu - musisz się nauczyć dostrzegać podobieństwa
  • stack trace to Twój przyjaciel
  • jak najszybciej naucz się uczyć z dokumentacji i ją czytać, jest dużo bardziej szczegółowa niż tutoriale, które jedynie muskają powierzchnię problemu, ale nie wchodzą głębiej w temat - nie na tym polegają.
  • debugger to kolejny dobry przyjaciel, o wiele lepszy od "printowania" wszystkiego i niczego
  • jak już wszystkie inne metody zawiodą i jesteś w kropce, możesz spytać tutaj na forum o konkretny problem, ALE nie licz na to, że napiszesz "nie wiem jak to zrobić" i ktoś Ci wrzuci gotowe rozwiązanie. Opisz, czego już próbowałeś, co konkretnie sprawia Ci problem, czego nie rozumiesz, która linijka się wysypuje, pokaż stack trace. Staraj się jak najbardziej zawęzić potencjalne źródło problemu - jak człowiek widzi bloba na 4 klasy i 500 linii z opisem "nie działa co mam zrobić", to od razu się odechciewa.
0

na nowo powróci radość z programowania

Nie daj sobie wmówić, że robiąc coś, do czego nie masz przekonania i co robisz słabo, w przyszłości będziesz zarabiać jakieś kokosy, albo w ogóle zarabiać cokolwiek robiąc to.

I powiem Ci tak kolego, czarno to widzę. Podobno w dydaktyce języka angielskiego coś takiego nazywa się walking skeleton -- niby znasz słówka, niby znasz gramatykę, ale nic nie potrafisz i tak powiedzieć. A jak masz opisać np. swoje zainteresowania, to nagle zdajesz sobie sprawę, że w ogóle nie wiesz, czy jakieś masz. Ty co prawda nie umiesz nic, ale z Twojego postu niestety wynika coś gorszego, tzn. że nie masz ani umiejętności wyszukiwania informacji, ani jakiejś podstawowej kreatywności i chęci rozwoju. A pytasz o zagadnienia totalnie podstawowe. Nagadali wam że jest jakiś frontend developer, jest jakiś java developer i tłuczecie te kursy frontendu i javy nie wiedząc nawet po co.

0

Ja tak tylko powiem, że fajnie jest przelecieć podstawy języka od deski do deski. Kiedy robiłem teraz projekt z uczenia maszynowego w Pythonie to mniej więcej wiedziałem co googlować, ale bez wcześniejszych doświadczeń z Javą mógłbym mieć problem żeby wiedzieć co wpisać w szukajkę. Czytanie czyjegoś kodu to też jest dla mnie dramat, bo zwyczajnie nie znam składni języka i uczę się go tylko w drodze bieżącego zapotrzebowania. Jakbym wiązał swoją przyszłość z Pytongiem i miał czas na to, by się uczyć, to zdecydowanie wolałbym przysiąść do solidnego wkucia podstaw, bo bez tego się po prostu nie wie czego się nie wie i ciężko rozczytać coś, co ktoś inny podał jako rozwiązanie problemu (no chyba że mówimy o kopiuj-wklej ze stacka, ale chyba nie o to chodzi)

Edit. Sorki, nie doczytałem posta i już odpisałem. Zaznaczono w dalszej części to, co ja napisałem, więc mój błąd :)

0
superdurszlak napisał(a):
mkuk0074 napisał(a):

Cześć. Jak jeden z wielu szukam szczęści w programowaniu. Postanowiłem, że pierwszym językiem będzie Java.

Pierwszy problem. Pchasz się jak prawie wszyscy szukający szczęścia w Javę - a tam zamiast szczęścia możesz znaleźć najwyżej ogonek kolejki oczekujących na pasjonującą pracę Java deva utrzymującego jakiś crap z pierwszej dekady XXI wieku.

czy powinienem zmienić język nauki czy pozostać przy Javie ?

1
mkuk0074 napisał(a):

czy powinienem zmienić język nauki czy pozostać przy Javie ?

Powinieneś nauczyć się zacisnąć zęby i iść do przodu, nawet jeśli jest pod górkę, zamiast poddawać się i zniechęcać przy pierwszej napotkanej przeszkodzie. Obojętnie, jakiego języka będziesz się uczyć. Po prostu bądź świadom, że jeśli uczysz się pod kątem szukania pracy, to w Javie może być ciężej.

Jak będziesz się poddawał za każdym razem, gdy coś nie będzie działać albo nie będziesz mógł czegoś rozgryźć, to nie uda Ci się nawet, gdybyś wybrał Scratch lub Logo.

0

Dzięki tego mi trzeba było ! :) pozdrawiam i wracam do kodowania

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