Pare pytań od nowicjusza

0

Dzień dobry.
Zacznijmy od tego, że jestem już w 3 liceum w klasie o profilu mat-inf-fiz. Jako ostatnią deskę ratunku (tzn coś co w miarę lubię i do czego w miarę mam "możliwości" żeby się zająć po takim liceum) wybrałem programowanie. W przyszłości chciałbym iść raczej w programowanie gier/aplikacji mobilnych. Tylko przez to, że dopiero pod koniec 2 klasy się na to zdecydowałem, widzę swoje braki, w 1-2 klasie byle być na informatyce, byle mieć 2/3. Mój pan od informatyki polecił mi żebym się javy nauczył. Na internecie znalazłem kurs javy (od CoraxTheTuror), doszedłem tam do akcesora i mutatora, potem po rozmowie z nauczycielem, doszliśmy do wniosku żeby skupić się na c++ który wybrałem na maturę. No i od tego czasu już praktycznie nic się nie uczę. Uważam, że ostatnie parę(naście) lat nic nie zrobiłem w życiu. Uważam, że mój poziom w c++ czy javie jest żałosny.
I tutaj parę moich pytań:

  1. Czytając ostatnio temat spotkałem się np z O(n), albo O(n logn) i inne niezrozumiałe dla mnie zagadnienia. Co mógłbym przeczytać, żeby nauczyć się czysto-teoretycznej sfery programowania i informatyki?
  2. Uczyc się teraz javy, czy dopiero po maturze? Jedyne czego się obawiam to tego, że maturę która pisze w c++ napiszę gorzej.
  3. Słyszałem że w dzisiejszych czasach programista powinien znać nie tylko sam język programowania, tylko jeszcze bazy danych i język skryptowy. Po maturze i po javie, Wypadałoby się wziąć za coś z w/w języków. Baza danych to SQL a jaki język skryptowy?
  4. Slyszalem że Thinking in Java to dobra książka, opłaca się ją kupić?
  5. Takie inne pytanie: Czy wy umiecie wszystko np z c++, każdą bibliotekę czy po prostu wiecie że takie coś, co potrzebujecie jest i jak będzie coś potrzebne to na internecie sprawdzacie to?
    Z góry dzięki za odpowiedź.
    Ps: wiem, że zamiast pisać tego wszystkiego, mógłbym napisać jakieś 50-70 linijek kodu, ale chciałem zasięgnąć porady osób mądrzejszych ode mnie.
1
  1. https://pl.wikipedia.org/wiki/Z%C5%82o%C5%BCono%C5%9B%C4%87_obliczeniowa drąż w temacie
  2. Jeżeli zależy Ci na maturze z informatyki i kiepsko znasz jeden język, to drugi namiesza Ci w głowie.
  3. Programista powinien znać to, z czym pracuje. Btw, języki skryptowe nie są językami programowania? ;)
  4. Najważniejsze to umieć szukać informacji. w 99% przypadków wystarczy dobrze sformułować swój problem po angielsku i wklepać w wyszukiwarkę; To, co powinieneś znać, to zagadnienia samego języka. O reszcie czytasz w miarę potrzeby.

Moja rada: nie próbuj porywać się na wszystko w tym samym momencie. Rób projekty i ucz się tego, co do nich potrzeba.

PS. W przyszłości chciałbym iść raczej w programowanie gier/aplikacji mobilnych Zainteresuj się unity - na ten moment nie istnieje nic wygodniejszego.

5

Jako ostatnią deskę ratunku

No tak, bo masz 19 lat, będziesz pracował jeszcze przynajmniej 45, a żył pewnie jeszcze z 60. Ale jak sie teraz nie zdecydujesz to koniec. Tylko sie obkładać błotem żeby sie przyzwyczaić do ziemi...

No i od tego czasu już praktycznie nic się nie uczę

o_O i co my niby mamy na to poradzić? wyrwać chwasta?

Uważam, że mój poziom w c++ czy javie jest żałosny

Przynajmniej masz trzeźwe spojrzenie na rzeczywistość, to juz coś.

  1. Czytając ostatnio temat spotkałem się np z O(n), albo O(n logn) i inne niezrozumiałe dla mnie zagadnienia. Co mógłbym przeczytać, żeby nauczyć się czysto-teoretycznej sfery programowania i informatyki?

"Wprowadzenie do Algorytmów" T. Cormen

  1. Uczyc się teraz javy, czy dopiero po maturze? Jedyne czego się obawiam to tego, że maturę która pisze w c++ napiszę gorzej.

To bez znaczenia trochę, te podstawy które są na maturze to sie aż tak nie będą różnic. Ważne jest żebyś myślał w odpowiedni sposób, a nie czy gdzieś ma być średnik albo nie.

  1. Słyszałem że w dzisiejszych czasach programista powinien znać nie tylko sam język programowania, tylko jeszcze bazy danych i język skryptowy. Po maturze i po javie, Wypadałoby się wziąć za coś z w/w języków. Baza danych to SQL a jaki język skryptowy?

Nie złapiesz wszystkich srok za jeden ogon. Do "programisty" to ci brakuje jeszcze kilku lat. Wszystko w swoim czasie.

  1. Slyszalem że Thinking in Java to dobra książka, opłaca się ją kupić?

Na mnie zrobiła słabe wrażenie no i poza tym jest pisana z myślą o osobach które przesiadają się na javę z C++

4
  1. Takie inne pytanie: Czy wy umiecie wszystko np z c++, każdą bibliotekę czy po prostu wiecie że takie coś, co potrzebujecie jest i jak będzie coś potrzebne to na internecie sprawdzacie to?

Nie uczę się "na zapas" - kiedyś próbowałam, ale równie dobrze mogłabym w tym czasie rozwiązywać krzyżówki. Tylko praktyka pozwala wiedzy się osiąść na stałe.
Google to podstawowe narzędzie pracy programisty.

0

@shalom mówiąc o ostatniej desce ratunku, chodziło mi bardziej o to, że tylko z matmy/informatyki mi jako tako idzie. Reszty przedmiotów kompletnie nie ogarniam, a będąc w klasie o takim profilu - nie mam szans napisać z czego innego matury, tak żeby mnie przyjęli. Głównie też nie chodzi mi o to żeby "wyrwać chwasta" tylko, żeby jakoś nakierowac.

1

A stanie się coś jak cię nie przyjmą w tym roku na studia? Świat się zawali? Jak nie w tym to w kolejnym, poprawisz maturę, może zamiast tego popracujesz, zrobisz sobie tzw. gap year i będzie dobrze. Na studiach informatycznych pojawiają się ludzie ok. 30, a nawet po i się nie przejmują, że "późno zaczęli".

1

Taki rok o którym pisze @ziomek1 to bardzo dobry pomysł. Ja miałem taki po skończeniu liceum, powiedziałem rodzicom że jestem zestresowany i przemęczony i zgodzili się na rok przerwy. Podczas tego roku gromadziłem energię i odpoczywałem, ucząc się czasami tylko tego co mi pasowało. Taki rok przerwy powinien przysługiwać co kilka lat.

0

@Wolny Orzeł a kto ci broni robic sobie taki rok przerwy? Albo dwa lata. Albo w ogóle całe życie. Nie słyszałem zeby były jakies zakazy w tym względzie.

2
Wolny Orzeł napisał(a):

Podczas tego roku gromadziłem energię

user image

A tak na serio - ja robię sobie rok (albo chociaż kilka miesięcy) przerwy od pracy co parę lat pracy, i źle na tym nie wychodzę. Zazwyczaj znajduję później pracę lepszą niż poprzednia.

0

Jedyne czego się obawiam to tego, że maturę która pisze w c++ napiszę gorzej.

matura z informatyki to w dużej mierze zadania z Excela a nie programowanie. Ale powodzenia.

  1. Takie inne pytanie: Czy wy umiecie wszystko (...) każdą bibliotekę czy po prostu wiecie że takie coś, co potrzebujecie jest i jak będzie coś potrzebne to na internecie sprawdzacie to?

Jakbym umiał wszystko z języka z JavaScriptu (języku w którym programuję), to byłbym Brendanem Eichem.
Przypuszczam, że ktoś kto programuje w C++, gdyby umiał wszystko byłby Bjarne Stroustrupem.

I to bardzo optymistyczna wizja. Realistyczna jest taka, że nawet twórcy języków nie wiedzą wszystkiego.
Na npm np. jest 232 tysiące bibliotek JavaScript. No sorry, ale nie sądzę, żeby ktokolwiek je znał na pamięć.

0

Ogólnie fajnie jakbyś znał chociaż trochę c++, bo ucząc się javy masz totalnie wy**bane na pamięć (samodzielna obsługa GC zdarza się chyba takim @Shalom - om czy innym senior seniorom :D) Także na spokojnie wypożycz sobie Symfonię c++ pana Grębosza, poznawaj algorytmy i struktury danych, i rozwiązuj łamigłówki algorytmiczne, naucz się też matmy (niby nieprzydatne są całki i pochodne, ale matematyka uczy abstrakcyjnego myślenia).

0

@Pinek całki i pochodne to w miarę ogarniam. Tak mi się przynajmniej wydaje ;d.

Się tak teraz zastanawiam, czy nie załatwić

Wprowadzenie do Algorytmów" T. Cormen
tak jak mówił Shalom i zacząć właśnie od tego. Jedyne co mnie przeraża to 1200 stron, ale myślę, że w wakacje od maja bym się uporał z tym do października.

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