Jump to content
Sign in to follow this  
RagnarPL

Zawód programisty [Nauka]

Recommended Posts

Wstęp


 


Witam wszystkich :)


 


Nazywam się Paweł i mam 20 lat. W tym roku zamierzam studiować informatykę, a dokładniej programowanie. Zdałem sobie jednak sprawę z tego, że tak naprawdę nie nauczyłem się do tej pory niczego, co by mnie zbliżyło do bycia programistą. Może trochę późno, ale zamierzam wziąć się do roboty (najwyższy czas :D).


 


Wasza myśl - „Hmm no fajnie, ale po co napisałeś ten temat?”


 


Napisałem ten temat, ponieważ chciałbym się dzielić z innymi „świeżakami” tym co sam już wiem :)


 


Zamierzam się skupić nad trzema głównymi przedmiotami:


 



  1. Programowanie w języku C++ (moja wiedza pochodzić będzie z książki Jerzego Grębosza pt. „Symfonia C++” - najnowsze wydanie)




  2. Matematyka – zamierzam przerobić ponownie poprzednie działy i poznać trochę więcej teorii. (głównie internet).




  3. Język angielski – głównie słówka i wymowa.



 


Codziennie będę wystawiał materiały w tym temacie z każdego działu, więc jak ktoś będzie chciał skorzystać to zachęcam.


 


Moderatorów proszę o nieusuwanie tego tematu (nawet kiedy nie będzie zainteresowania) choćby ze względu na mnie (dzieląc się wiedzą mam dużą motywację).


 


Dziękuję za uwagę :P


 


P.S. Jeśli ktoś się już zdecydował to proszę o komentarz pod spodem, tak żebym wiedział czy jest jakiś chętny. :)


Edited by RagnarPL

Share this post


Link to post
Share on other sites

Grebosza ksiazka jest dobra do C++03, ale teraz jest juz C++11/14 wprowadzajace sporo nowosci. Tak na krotko watki i zwiazane z tym mechanizmy, inteligentne wskazniki czy auto. W C++17 ma wejsc biblioteka od filesystemu zamiast korzystania z dedykowanych pod wybrany system bibliotek. W sumie bedzie brakowac tylko wbudowanej w jezyk obslugi okien (ale sa qt i wx) i java nie bedzie miala nic ciekawego do zaoferowania :D

Share this post


Link to post
Share on other sites

Czytałem coś o tym i dowiedziałem się, że C++ 11/14 jest rozwinięciem do C++ 03. Jetem początkującym więc podstawy zaczerpnę z książki Grębosza, a resztę będę uzupełniał.

Share this post


Link to post
Share on other sites

Programowałeś już w czymś że od razu rzucasz się na C++ ?

 

Symfonia to dobra książka na początek , potem to inne książki np. Thinking in C++ .

 

Do tego wiedza z netu - portale , FAQ , Howto itp.

 

Potem jak chcesz to możesz się zająć innymi językami - C# , Java , PHP etc.

 

Co do matmy przy programowaniu - wszystko zależy co będziesz robił , może się okazać że matematyka jest zupełnie zbędna a może się okazać że będzie ci potrzebna matma na wysokim poziomie .

Share this post


Link to post
Share on other sites

Akurat ksiazka Grebosza dla poczatkujacych jest bdb., wiec bez roznicy czy juz programowal czy tez nie ;) Sam od tego zaczynalem.

Share this post


Link to post
Share on other sites

Jestem po technikum inf. więc nie dało się ominąć programowania :)

Chcę jednak zacząć od początku, żeby nic nie pominąć. W szkole przerobiliśmy wszystko do tematu wskaźników. Na tym się skończyło.

Edited by RagnarPL

Share this post


Link to post
Share on other sites

No to w sumie... podstawy podstaw nawet nie zrobiliscie ;) Powodzenia w nauce a robienie kursu jednak bym darowal sobie i zamiast tego to pytal ile to mozliwe aby wszystko dobrze ogarnac - polecany stackoverflow :P

Share this post


Link to post
Share on other sites

jak dla mnie to przerób kilka tutoriali i zobacz czy ci w ogóle podejdzie C++  popróbuj też np. pythona, lub ogólnie frontu czy backendu, być może podejdzie ci zupełnie coś innego i tylko stracisz kasę na książki ;)

 

mnie C++ znudził i wolałem frond end (html, css, js) potem rozszerzyłem o jQuery, Angular (teraz 2), oraz php

Share this post


Link to post
Share on other sites

Wszystko fajnie tylko że u mnie z C++ jest inaczej :) Próbowałem już swoich sił w front i back endzie ale czuję że to nie dla mnie. Bawiłem się javą i ruby ale też nie wyszło. Ba xD Testowałem też modelowanie 3D, tworzenie gier na silniku UE4, grafika rastrowa, obróbka wideo. Wracając do tematu. Dla mnie C++ jest dziwnie zrozumiałe w przeciwieństwie do pozostałych języków programowania i chciałbym zostać przy nim trochę dłużej :)

Share this post


Link to post
Share on other sites

jak dla mnie to przerób kilka tutoriali i zobacz czy ci w ogóle podejdzie C++  popróbuj też np. pythona, lub ogólnie frontu czy backendu, być może podejdzie ci zupełnie coś innego i tylko stracisz kasę na książki ;)

 

mnie C++ znudził i wolałem frond end (html, css, js) potem rozszerzyłem o jQuery, Angular (teraz 2), oraz php

Jesli lubisz siedziec i rozkminiac dlaczego css robi co innego niz chcesz albo wkuwac/szukac co chwila polecen pod kazda przegladarke, aby tak samo to dzialalo... Ogolnie to porazka jest z css. Js tez rewelacyjny nie jest i co chwila szukaj haxow na to aby cos osiagnac :/ Angular to te cos od google, ktore wpadlo na genialny sposob parsowania strony www w przegladarce uzytkownika? wow, js taki wydajny, wow serwery takie odciazone... a php, jak php - posiada mase frameworkow, ale jak patrze na wyniki to ilosc + jest mocno zacmiewana przez zajezdzanie wydajnosci :/ Nie ma jak statyczna strona w laravel wczytujaca sie 300ms :D Ogolnie patrzac na programowanie dochodze do wniosku, ze wiekszosc tworcow po rozwinieciu swojego pomyslu i 'wymuskaniu' go na glanc, zaczynaja wrzucac mase syfu tylko aby moc dalej sie chwalic "ciaglym rozwojem". Padl tak juz winamp, gg, teraz padaja frameworki php :/

Share this post


Link to post
Share on other sites

Padl tak juz winamp, gg, teraz padaja frameworki php :/

Chociaż ogólnie jestem przeciwnikiem syfu znanego pod ogólną nazwą: "technologie web-owe", to jednak pierdzielisz waść bzdury o php: z dniem wprowadzenia wsparcia dla shared memory, PHP kopie tyłki wszystkim innym "technologiom" - czy raczej - porażkom technologicznym zaliczanym do "web-technology"

W praktyce, wsparcie dla shared memory oznacza że nie trzeba tworzyć żadnych specjalizowanych modułów dla PHP - można gadać z jakimkolwiek programem, który jest w stanie wypluć "coś" do stdout - wszystko co działa w shell/bash.

Mało tego, jak chcesz przesłać dane ze swojego "Hello world" do serwera na którym lata PHP, wystarczy stworzyć bufor tekstowy w shm.

 

Rewelacja - niestety większość głąbów nadal uważa, że shared memory to sposób na "kaszowanie" pewnych danych...

 

...brak podstaw, again...

Edited by <account_deleted>

Share this post


Link to post
Share on other sites

Aha... a teraz porownaj to z frameworkiem c++ do pisania stron www - obsluguje kilka(nascie) razy wiecej polaczen w tym samym czasie, mniejsze opoznienia, mniejsze zuzycie zasobow. Wady? Wymagana znajomosc c++, a co za tym idzie kompilacja kodu - mozna tez kompilowac jako bibloteke i tylko ja podmieniac, ale z tym jak czytalem jest wiecej zabawy.

Szczerze to za php przemawia jedynie szybkosc sprawdzenia wprowadzonych zmian. Frameworki typu Laravel (fajni sie w nim tworzy) sa potworkiem, w 80% zawierajace niepotrzebny syf. Aby to jakos sie bujalo to trzeba miec juz jakis sensowny serwer a i tak prosta strona hello world laduje sie tragicznie dlugo na lokalnym sprzecie po zacacheowaniu wszystkiego co sie da.

Combinowalem z Apache i nginx, niewielka roznica...

 

A co gg, czy winamp nie stracil popularnosci przez pakowanie do nich coraz wiekszej ilosci niepotrzebnego syfu? Frameworki php - tu pomylka, jest duzo losi co nawet najprostsze strony musi walic na wordpresie, bo niepotrafi napisac kilkudziesieciu linijek kodu pod proste zarzadzanie podstronami. Szczytem debilizmu wlasnie sa strony firmowe ze statyczna trescia i kilkoma stronami na krzyz xD Po za tym jestem zwolennikiem tworzenia wszystkiego pod konkretne zastosowanie.

 

Co do web technoogii... tak, jest niezly syf. Css i js dzialajacy roznie w zaleznosci od przegladarki o,O WebSocket zaimplementowany w glupi sposob - brak prostego zwrocenia bledu polaczenia, tylko trzeba na okretke pozniej kombinowac jak to zrobic probe ponownego polaczenia... Ogolnie im dluzej mam z tym stycznosc tym bardziej mam tego dosc.

Edited by Małpożer

Share this post


Link to post
Share on other sites

Aha... a teraz porownaj to z frameworkiem c++ do pisania stron www - obsluguje kilka(nascie) razy wiecej polaczen w tym samym czasie, mniejsze opoznienia, mniejsze zuzycie zasobow.

niekoniecznie o to chodziło...

 

C kładzie na łopatki każdy program napisany w języku "wyższego" poziomu - powyższy link zawiera testy porównujące jak bardzo powolne są inne języki w odniesieniu do C ... szybszy jest tylko assembler ;)

 

Dlaczego?

Wszystkie języki wyższego poziomu powstały głównie w celu przeniesienia kosztów testowania/optymalizacji na klienta - który zazwyczaj jest głupi - jak mu winblows wolno działa to kupuje kolejnego/nowszego laptopa...

 

...

 

Edit:

hmm.. zero odpowiedzi? - spodziewałem się raczej ataku niedokształconych kretynów, twierdzących że przecież C nie jest językiem obiektowym...

 

cóż... zatem niech ta kwestia pozostanie "nierozwiązana"...

/Edit.

 

Edit2:

...to może chociaż wytłumaczenie co to jest "vtable" - aka: po co C++ tworzy tablice wskaźników funkcji? - i jaka jest alternatywa?

Nie spodziewam się żadnych wyjaśnień odnośnie SEH <Structured Exception Handling> - to by była "jazda" - ;)

 

...

Edited by <account_deleted>

Share this post


Link to post
Share on other sites

Najważniejsze tutaj są praktyki. Wiele osób wybiera się na studia i wydaje im się, ze studia nauczą ich jak zostać programistą z prawdziwego zdarzenia. Nie jest wcale tak łatwo jak się wydaje :) Na studiach informatycznych mozna nauczyć sie w zasadzie jedynie podstaw programowania. Najważniejszych rzeczy trzeba nauczyć się samodzielnie, z sieci, z kursow internetowych, z forów, czy na praktykach .... 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

Aktualności

Artykuły



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.