Samodzielna nauka.

Samodzielna nauka.
MR
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 2 lata
  • Postów:5
0

Witam, aktualnie jestem po technikum(energetycznym) bez matury.Chciałbym zmienić swój zawód i pójść w kierunku programowania.Szperając po internecie i po forum można spotkać się z tysiącem opinii o tym jaki język wybrać itd. Mój wybór padł na Java + spring. Wiadomo, że początki będą ciężkie i raczej nie ma co liczyć na prace bez znajomości żadnego języka programowania, dlatego podjąłem decyzję aby uczyć się sam w domu. W oko wpadło mi parę książek, i chciałbym się was zapytać czy będą to dobre tytuły na początek mojej przygody.
1.Java Dla Zupełnie Początkujących - Tony Gaddis
2.Java. Podstawy. Wydanie XI - Cay S. Horstmann
3.Spring w akcji. Wydanie IV Craig Walls
Są to 3 propozycje od których chciałbym zacząć cokolwiek związanego z tymi językami.Wiadomo,że matury całkowicie nie wykluczam,ponieważ był to błąd zbuntowanego nastolatka który myślał,że po co podchodzić jak i tak nie zdam. Miło by było poznać waszą opinie na temat wyboru tych języków oraz czy matura jest potrzebna w programowaniu :)

Pozdrawiam

Zobacz pozostałe 11 komentarzy
grski
@mr_jaro Wydaje mi się, że firma weźmie tego, kto będzie lepszy, niezależnie od tego czy jest studentem czy nie. W twoim przykładzie lepszy będzie raczej student, zatem on dostanie pracę, ale... Jeśli autor tematu się ogarnie, nauczy, zrobi w domu jakieś ciekawe projekty do portfolio, to czemu by miał nie dostać pracy? A co do tych wszystkich tematów to ja już wiem, jak zazwyczaj wyglądają umiejętności i zapał tych wszystkich internów po tym, jak ostatnio zorganizowałem na forum mały projekt, także na to bym nie patrzył.
mr_jaro
@grski: firma weźmie tego, który potencjalnie przyniesie większe zyski, a tu już wygrywa bezwzględnie student chyba, że zażąda zbyt dużo kasy. Samouk może się tu przebić tylko pokazując że zrobił już kilka projektów komercyjnych i wykaże że ma większą wiedzę niż studenci.
grski
@mr_jaro dokładnie a większe zyski (zakładająć podobne wymagania finansowe) przyniesie osoba z większą wiedzą/lepiej nadajaca się do zespołu pewnie chodzi ci o zwolnienie z zusu dla studentów i oszczędności z tym związane, ale to akurat nie jest problem - bez matury można dostać się do sporej ilości szkół wieczorowych dla dorosłych, dosłownie kilka złotych na miesiąc zatem myślę, że kilka projektów + zapisanie isę do takiej szkółki i cóż, jakąś prace można by znaleźć :D
mr_jaro
@grski: potencjalnie większe zyski to osoba która potencjalnie ma większa wiedzę i doświadczenie a potencjalnie taka osobą jest student bo w domyśle robi to co dzień na zajęciach które są różnorodne a w firmie go już nakierują na to co ma rozwijać. Kiedyś też myślałem tak jak ty, ale obecnie widze że się to wszystko zmieniło i dziś samouki mają bardzo bardzo bardzo ciężko wejść na rynek.
grski
Jasne, może masz inne doświadczenia. Ja po prostu bazuję na swoich i moich znajomych, którzy gdzieś tam po pewnym czasie samodzielnej nauki z moją lekką pomocą wchodzą na rynek. Nie ma ich za dużo bo w sumie 2 przypadki gdzieś tam dopiero, ale wciąż. Może akurat mamy szczęście? Trudno powiedzieć.
ccwrc
  • Rejestracja:prawie 9 lat
  • Ostatnio:minuta
  • Postów:371
0

To twój temat:
Początki z programowaniem
Wynika z niego, że masz maturę. Ustal jedną, spójna wersję.

Skoro od lipca nie zdołałeś skonfigurować sobie środowiska i napisać pierwszego "Hello Świat" to odpuść bo jest to tylko i wyłącznie strata czasu.

MR
no to musiałem się pomylić bo do owej matury nie podchodziłem. A co do tego że nie zdołałem "skonfigurować sobie środowiska" to wybacz ale nie przyszedłem tu po lekcje życia tylko z zapytaniem co do programowania. Ale jeżeli aż tak trudnym zadaniem jest odpisać na parę pytań nie doszukując się jakiś zaczepek lub podobnych rzeczy to proszę o usunięcie tego tematu.
ccwrc
To nie lekcja życia tylko najlepsza rada jaką dziś przeczytałeś.
MR
Ok, dziękuje.
HE
HE
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 3 lata
  • Postów:88
1

Jeżeli jesteś zupełnie zielony, to jakiekolwiek materiały będą dobre.

BraVolt
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Warszawa
  • Postów:2918
2

Jak chcesz iść na studia a wcześniej zdać dobrze maturę (progi na studia), to najważniejsza będzie matematyka.


"Kiedy wiedzieć czy zacząć nauke Springa? bo w czystej Javie to nic ciekawego nie zrobie chyba"
Ein Volk, ein Reich, ein Kwa-Kwa ***** ***
somedev
A nawet jak bez dobrego zaplecza matematycznego jakoś się dostanie na dobry kierunek to anal go zniszczy. Potem dowali anal2. A na końcu zostanie dyskretnie dobity. #pdk ;)
somedev
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 5 lat
  • Postów:666
1

Tak jak przedmówca - ucz się matmy. Na pierwszych zajęciach z matematyki na studiach zobaczysz, że rozszerzona matura z matmy to fraszka, spacer z mamą na lody. U mnie część osób wyleciało po pierwszym semestrze własnie przez matmę a nie programowanie. Co do języków - nie wiem czy będzie Ci na studiach potrzebny Spring. Raczej dobrze poznanie języka który akurat używa wydział czyli pewnie C, C++, C#, Java, Python - raczej w tych stosach obracają się uczelnie a potem jego używanie do poznawania struktur, algorytmów i dużo będzie klepania bez używania libów np. do kolejek, etc. Ofc. na późniejszych semestrach gdzie liczy się bardziej architektura to już używa się libów, ale poznawania jakiś mega frameworków jak Spring to raczej nie będzie. Pytanie czy chcesz najpierw uczyć się do pracy czy na studiach. Pamiętajmy, że studia to też nie jest stricte kurs zawodowy, więc ich zakres zazwyczaj wykracza po za obszar 99% posad, bo żadna posada nie obejmuje wszystkiego co jest poruszane na studiach a specyficzny ich wycinek.

MJ
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 5 lat
  • Postów:42
0

Nie napisałeś z jakiego przedmiotu nie zdałbyś matury. Matematyka podstawowa jest teraz kilka razy łatwiejsza niż była 20 lat temu, jak na poziomie szkoły podstawowej. Język obcy zależy od tego czy lubisz podróżować i mieć wiedzę z publikacji w języku obcym. Jeśli tak, to będziesz się uczył z dużym zapałem. Język polski można zdać nie przeczytawszy żadnej książki. Wystarczy przez kilkadziesiąt godzin lub więcej uczyć się analiz dostępnych na stronie https://klp.pl/.
Możesz też pójść na kurs maturalny.

grski
  • Rejestracja:ponad 9 lat
  • Ostatnio:8 miesięcy
  • Postów:245
0

Może to tylko moje wrażenie, ale wydaje mi się, że niektórzy tutaj za bardzo kolegę naciskają wręcz szufladkują w konkretnej kategorii, bo nie ma papierka. Po cóż tak?

Co do Twojego postu.
Czy matura jest niezbędna? Nie. Czy jest/może być pomocna? Tak.
Matura pozwala ci iść na studia.

Czy studia są niezbędne żeby pracować jako programista? Nie. Często są jednak pomocne. Dasz radę bez nich, ale nie da się ukryć tego, że mają pewne zalety czasami. Także nie są one bezwartościowe ale nie są też niezbędne. Proste. Dla kogo i kiedy? Zależy od ciebie i tego, jak umiesz wykorzystać okazje. Bez studiów/matury możesz spokojnie znaleźć pracę, ale trzeba się jednak liczyć z tym, że niektóre firmy po prostu cię nie przyjmą. Głównie firmy naukowe/agencje rządowe/jakieś konkretne korpo. Jest to jednak raczej rzadka sytuacja. I tutaj sprawa jest prosta - chcesz iść na studia to ciśniesz matematykę. Informatykę zaczyna się od helloworlda na studiach, natomiast matma... Cóż, inna para kaloszy ;)

Co do nauki javy/programowania na początku, zawsze polecam ten post: https://gynvael.coldwind.pl/?id=238 Naprawdę świetny. Po jego przeczytaniu zaczął bym też kurs CS50 - od Harvardu. Ś W I E T N Y. Co prawda nie w Javie a troszkę C i potem Python, ale jak dla mnie nie ma znaczenia. Podstawy, których się tma nauczysz posłużą ci w każdym języku. No i za darmo!

A co do nauki ogółem. Cóż, nie żebym cię zniechęcał, ale skończysz pewnie jak ponad 90% wszystkich wielce zapalonych. Z dnia na dzień postanawiają zmienić życie, programować, biorą się za naukę, projekt, już od jutra. I faktycznie, czasem niektórzy nawet zaczynają z zapałem. Tylko po to, by zapał skończył się po trzech dniach, nawet kiedy wszystko mają podane na tacy. Takich postów jest tu średnio kilka w tygodniu a może i dziennie? Większość kończy podobnie jak opisałem tutaj.

Wybierz cokolwiek i po prostu ciśnij temat. To naprawdę nie ma większego znaczenia - czy książka X, czy Y a może Z? Instalować Linuxa/Windowsa może kupić maca? Nieważne. Bierz to co masz, albo to co znają jacyś twoi znajomi, którzy by mogli ci pomóc i jedź z tematem. Dyscyplina, regularność i ciągła nauka są ważne, a nie wybór technologii, książki czy języka. One są tylko narzędziami do tego, co w gruncie rzeczy jest naszym zajęciem - do przetwarzania informacji i rozwiązywania problemów przy ich użyciu. Pewna wiedza typu podstawy informatyki, algorytmy czy wzorce i architektura są niemalże uniwersalne. To na nich się warto skupiać a nie na konkretych technologiach/frameworkach. Wtedy masz szansę stać się prawdziwym engineerem a nie senior formatka klepaczem.

Pewnie nie do końca przyjemny czy cukierkowy ten mój post, bo nie mówię o wszystkim, że jest super, będzie łatwo i w ogóle, ale to taki trochę reality check. Da się, ale łatwo nie będzie.

A żeby dać ci trochę kontekstu - sam nie mam matury. Pracuję od dwóch lat. Pierwszy etat już w liceum. Do matury mnie dopuszczono, ale ze względu mojej ideologii nie podszedłem. No cóż, wydaje mi się, że radzę sobie dość nieźle nawet bez matury. Nie pisz kolejnego tematu o tym, jak zacząć i X czy Y, tylko jak coś zaplanowałeś, zacznij. Just do it. xD

Jakbyś chciał sobie poczytać jak to u mnie wszystko wyglądało, to jak zdobyłem pracę, pierwsze dni mojej pracy, a tutaj co konkretnie umiałem

Chyba tyle ode mnie.


Napisałem książkę - Programowanie z Górskim: Junior Python Developer
Pora na następny krok na drodze po pierwszą pracę w it i WCALE-NIE-MITYCZNE #programista40k? Zapraszam.
edytowany 1x, ostatnio: grski
WS
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 5 lat
  • Postów:3
0

Nie rób tego, już za dużo klepaczy wśród juniorów... Nie idź za modą.

edytowany 1x, ostatnio: wolmo_szypko
N0
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Gdańsk
  • Postów:647
0
somedev napisał(a):

Tak jak przedmówca - ucz się matmy. Na pierwszych zajęciach z matematyki na studiach zobaczysz, że rozszerzona matura z matmy to fraszka, spacer z mamą na lody. U mnie część osób wyleciało po pierwszym semestrze własnie przez matmę a nie programowanie.

@somedev Bez przesady. Tu masz zadania z egzaminu z Analizy 1 na PWr, czyli na jednej z najlepszych uczelni w Polsce: http://prac.im.pwr.wroc.pl/~gewert/WYNIKI/lz-am1.pdf Poziom tych zadań jest taki sobie. Podobnie jak na maturze z matmy rozszerzonej, wystarczy nauczyć się kilku schematów.

edytowany 2x, ostatnio: nobody01
somedev
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 5 lat
  • Postów:666
0
nobody01 napisał(a):
somedev napisał(a):

Tak jak przedmówca - ucz się matmy. Na pierwszych zajęciach z matematyki na studiach zobaczysz, że rozszerzona matura z matmy to fraszka, spacer z mamą na lody. U mnie część osób wyleciało po pierwszym semestrze własnie przez matmę a nie programowanie.

@somedev Bez przesady. Tu masz zadania z egzaminu z Analizy 1 na PWr, czyli na jednej z najlepszych uczelni w Polsce: http://prac.im.pwr.wroc.pl/~gewert/WYNIKI/lz-am1.pdf Poziom tych zadań jest taki sobie. Podobnie jak na maturze z matmy rozszerzonej, wystarczy nauczyć się kilku schematów.

No ja właśnie skończyłem tą uczelnie i właśnie z Gewertem m.in. miałem zajęcia. Troszkę dziwi mnie lista bo my na pierwszych zajęciach mieliśmy materiał tutaj z listy piątej.

Niemniej właśnie ma pochodnych i całkach cześć osób wyleciało ze studiów (w zasadzie sami zrezygnowali bo ja wychodzę z założenia ze jak się chce to jest tyle możliwości, że nie trzeba być skreślonym z listy)

Niemniej z kiepskim aparatem matematycznym z LO to właśnie taka lista to killer.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)