Aktywne Wpisy
BezDobry +408
Dzień bez promocji patologii to dzień stracony ¯_(ツ)_/¯
#kultura #telewizja #tvn #stanowski #heheszki #bekazlibka #bekazlewactwa
#kultura #telewizja #tvn #stanowski #heheszki #bekazlibka #bekazlewactwa
R2D2_z_Sosnowca +298
Słyszałem, że nie powinienem wrzucać tu zdjęć dzieci bo „to nie forum dla matek” dlatego wrzucam. Sorka ale słaby jestem w dominujących pato-trędach z mirko a jedyne co potrafię to chodzić z tym gościem po parkach. Dlatego dziś Hop Lake Park, Middlebury #connecticut #r2d2zwiedza #natura
bot miał by dodawać do każdego pytania "OD CZEGO ZACZĄĆ?!".
Wiem że ten wpis będzie pełen błędów więc zachęcam do zgłaszania ich i dyskusji w komentarzach.
Po pierwsze trzeba odpowiedzieć sobie na pytanie dlaczego chce uczyć się programowania.
1. Bo zarabia się 15k
-- nie myślałeś o kursie spawacza czy czegoś takiego?
2. Bo mnie to interesuje / chce być hakerem.
-- Tu polecam rzucić okiem na dużą listę konceptów, napisać coś w dużej ilości różnych języków i technologi
poczytanie o psychologi też nie jest złym pomysłem.
Skoro już wiesz dlaczego teraz czas na odpowiedź na pytanie:
CO CHCESZ PROGRAMOWAĆ? które to zadaje każdemu kto pyta od czego zacząć.
Niezalanie od Twojej odpowiedzi będziesz potrzebować kilku rzeczy:
1. Edytor tekstu, tu pewnie skorzystasz z tego co jest w IDE, albo vima XD
2. interpretera/kompilatora, tu jest tego masa od NASM i gcc przez /bin/bash i python aż do przeglądarki
3. Odpluskwiacza (debugera), czyli aplikacji pomagającej Ci szukać błędów w kodzie.
4. Środowiska uruchomieniowego, komputer z określonym systemem, smartfon, przeglądarka,arduino....
5. Gita by trzymać kod jak biali ludzie i móc się nim chwalić
ok to skoro odpowiedziałeś to jedziemy:
-Strony WWW
tu pytam się czy chcesz pisać to co widzimy (frontend) czy to co mieli (backend)
-Strony WWW.frontend
HTML do opisania struktury dokumentu.
CSS do opasania wyglądu dokumentu.
JavaScript do opisania zachowania strony.
na pierwsze 5-10 minut polecam zobaczyć jak to zachowuje się "nago" by znać trochę co się tam u
licha dzieje. A potem jak najszybciej przejść do frameworków (takie opakowania na język trochę)
-Strony WWW.backend
PHP stare to, brzydkie to, ale proste to i ma masę frameworków które powodują że można temu wybaczyć
Python (Diango) Nowoczesny, ładny,dość prosty
JavaScript (NodeJS) Nigdy w tym nie pisałem ale to jakaś asynchroniczna zupa
Java IMO ciężkie na początek ale korpo to lubi.
SQL potrzebne jeśli stosujemy bazę tego typu.
-Chce rozumieć jak działa komputer i hakować
C brzydkie to, stare to, upierdliwe to. Ale pisze się strasznie nisko (niżej tylko assemlber)
i jest używany do pisania systemów operacyjnych. Znaczy teraz pewno się z niego wycofujemy nie mniej
masa kodu linuxa nadal jest w C. Dzięki pisaniu strasznie nisko i dobremu kompilatorowi można produkować
naprawdę wydajny kod.
Assembler Gdzie diabeł nie może tam babę poślę. Ale IMO jedyny sens znajomości assemlbera pod procesor
na który powstał kompilator C jest czytanie kodu już skompilowanego.
C++ Młodszy brat C który robi taką rewolucje że warto uczyć się go nie od "początku" czyli jako C z klasami
a od razu rzucić się w wir C++11 i nowszych standardów.
-Chce przetwarzać dane
-Chce ruszyć materię (jakieś mikrokontrolery)
C w dialekcie dla danego procesora.
ale warto rzucić okiem na to co PLC daje nam
-Chce zautomatyzować sobie pracę
Linux:
Python,C# (nie mylić z C i C++), Bash,Perl,PowerShell, VisualBasic
Windows:
Python,C# (nie mylić z C i C++), Bash,Perl,PowerShell, VisualBasic
NIE #!$%@? NIE MAM WENY ALE CHĘCI MIAŁEM DOBRE MOŻECIE TO DOKOŃCZYĆ?
Tylko nie perl! ( ͡° ͜ʖ ͡°)
eh i powinienim przy każdym podpunkcie dać parę ksiażek do poczytania
@wytrzzeszcz:
No i JSa nie doceniłeś ( ͡° ʖ̯ ͡°)
Pomijając jego cyrki i fakt że dziennie powstaje po kilka frameworków, to js jako język (albo platforma) jest zarąbisty.
Do IoT niedługo Java wejdzie, więc pewnie C pójdzie w odstawkę i zostanie tylko w niektórych miejscach.
No i okazuje się,
Debugger wstrzymuje Ci wątek i czeka aż go puścisz dalej.
Przy loggerach puszczasz appkę, robisz wywołanie i patrzysz na output konsoli. Czytasz stacktrace cały i wiesz co, gdzie i dlaczego tam się dzieje.
Czasami może się zdarzyć sytuacja że masz gdzieś race condition i stopując jeden wątek debuggerem "naprawiasz" buga przez co jest ciężki do wyłapania. Ale concurrency to ogólnie ciężki temat, a do debuggowania zwłaszcza.
Do tego przy