• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dziedziny programowania

Object Storage Arubacloud
0 głosów
2,628 wizyt
pytanie zadane 30 października 2017 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)
edycja 30 października 2017 przez Jakub 0
Witam, nie tak dawno skończyłem kurs P.MZ odnośnie c++, stwierdziłem że za borę się za pisanie gierek w sfml. Biblioteka jest całkiem prosta jednak zniechęciło mnie to jak wygląda cudzy kod a jak mój, pisząc coś miałem świadomość że są to śmieciowe linie. Kiedy patrzyłem na jakieś bardziej złożone poradniki to dostrzegałem swoje braki w programowaniu obiektowym nie mówiąc już że bardziej złożone gry wymagają sporej wiedzy z fizyki i czasu. Wobec tego zacząłem poważnie studiować książkę c++ Szkoła programowania oraz rozwiązywać algorytmy ze spoj'a. Po za tym stwierdziłem że gry są na razie nie dla mnie (po prostu pisałem przez siłę). Zamiast tego wzięło mnie na programowanie niskopoziomowe i strony internetowe (strony by się oderwać od tej algorytmiki itd). Wcześnie uczyłem się tych rzeczy: sfml(jak by praktyka) / Książka / Algorytmy. Teraz dam sobie spokój z sfml a jeszcze bardziej skupię się na nauce algorytmów, no i też pasuje zacząć się uczyć technologi webowych. Nie którzy jednak mówią że najwięcej się nauczę prze pisanie własnych projektów a nie ciągłe klepanie algorytmów i teorii o programowaniu obiektowym. Wobec tego nie wiem sam czego mam się uczyć... Jak powiedziałem wcześniej zainteresowało mnie programowanie nisk.poz czyli ASM oraz pisanie jakiegoś oprogramowania pod mikro kontrolery... Zastanawiam się jednak ile maksymalnie można się na raz uczyć materiału no bo tak:
 

1. Książka (by dobrze poznać c++ i uzupęnić swoje braki)

2. Algorytmy ze spoj oraz jakieś własne np szyfrowanie itd...

3. Strony internetowe (dopiero bym zaczął bo jeszcze z nimi nie miałem do czynienia)

4. ASM oraz łączenie programowania z elektroniką

5. Pasowało by też coś w okienkach pisać bo głupio po 2 latach dalej w konsoli (mimo iż ją lubię)

6. Do tego wszystkiego jeszcze szkoła

Co według was jest najważniejsze? Co robić by stać się dobrym programistą? Po prostu nie wiem czy się bardziej skupić na dziedzinach "zarobkowych" czy na tym co lubię), no bo interesuje mnie pisanie czegoś w ASM ale w XXI wieku to nie jest praktyczne)  Dziękuje bardzo za wszelką pomoc :). przepraszam też jeśli tekst jest niespójny :/

2 odpowiedzi

+1 głos
odpowiedź 30 października 2017 przez marcin99b Szeryf (82,180 p.)
wybrane 30 października 2017 przez Jakub 0
 
Najlepsza
Wymyśl projekt, coś co zajmie ci z 2-3 miesiące

Dobierz do tego narzędzia

I go zrób

Programując z czasem będziesz dostrzegał że pewne elementy można skrócić, zapisać prościej albo lżej dla procesora

Polecam nauke na zasadzie robisz projekt - jak czegoś nie wiesz sprawdzasz w internecie jak już wiesz
Do tego polecam robienie wszystkiego obiektowo (nie tylko używanie klas, ale też np dziedziczenie, polimorfizm itd)

W razie czego możesz spokojnie pisać do mnie na pw, gdybyś miał jakiś problem, jak będe miał w danym momencie czas moge w czymś pomóc
Aktualnie grzebe przy C# (asp.net), ale robiłem też coś w np php i innych językach (wszystkie opierają się o te same zasady, znając język A, łatwo można przejść na język B)
komentarz 30 października 2017 przez Jakub 0 Pasjonat (23,120 p.)
Dużo osób właśnie poleca taki sposób, jednak teraz już w ogóle nie mam pomysłu ):, po prostu ostatnio zniechęciłem się od pisania własnych projektów i zacząłem klepać algorytmikę. Według ciebie jakie projekty najwięcej uczą: gry/strony/coś w okienkach/własne parsery i kompilatory np do brainfuck...
1
komentarz 30 października 2017 przez marcin99b Szeryf (82,180 p.)
Hmm
Trudno powiedzieć, bo każdy projekt da się zrobić byle jak i każdy da się zrobić dobrze

Najlepiej wybierz coś, gdzie sporo razy będziesz musiał zajrzeć do internetu, aby sprawdzić jak coś zrobić

Bo bez sensu jest robić projekt, do którego masz w pełni niezbędną wiedzę
Przykładowo kolejny kalkulator czegoś, gdzie nie poznasz nowych elementów jezyka, nowych technologii, nowych bibliotek, a jedynie wyklepiesz kolejny program w stylu wcześniejszych, podobnie z interpreterem do brainfucka, trzeba pomyśleć logicznie, ale nie będziesz musiał jakoś specjalnie szukać w internecie "jak to zrobić", bo wszystko da się zrobić w sposób Januszowy używając jakichś tablic, pętl i podstawowych operatorów
(Da sie zrobić lepiej, ale nie będziesz miał powodu aby szukać informacji, bo poco - przecież wszystko działa jak powinno)

Polecam popróbować troche wszystkiego, od backendu aplikacji internetowych, przez aplikacje mobilne, gry, aż po jakieś aplikacje desktopowe

Zawsze mozesz wszystko połączyć i zrobić web serwis udostępniający api, z którego będą korzystać aplikacja mobilna i desktopowa... albo jakaś gra (jeśli technologia to umożliwia)
przykładowo tworzysz aplikacje mobilną - gre multiplayer, gdzie logika jest zdefiniowana na serwerze, z którym się łączysz z tej aplikacji mobilnej
wysyłasz żądania zależne od tego co zrobił użytkownik i serwer na podstawie tego zwraca jakaś odpowiedź
komentarz 30 października 2017 przez Jakub 0 Pasjonat (23,120 p.)
Wielkie dzięki za pomoc, co sądzisz o projekcie prostego komunikatora. No bo sfml daje mi możliwości sieciowe a tą bibliotekę można połączyć np z winApi i tam dać interface programu. A może coś takiego zrobić w qt?
1
komentarz 30 października 2017 przez marcin99b Szeryf (82,180 p.)
w c++ za dużo nie grzebałem, szybko mnie do siebie zniechęcił

ale w sumie dobry pomysł, możesz zrobić jakiś prosty chat np p2p, przy okazji nauczysz się czegoś więcej
możesz go później ulepszyć o dodatkowe opcje albo spróbować przebudować go na coś w stylu clever bota i przy okazji spróbować zrobić coś w stylu sztucznej inteligencji

ogólnie polecam robienie programów użytkowych, które sam będziesz mógł użyć, czyli np jakieś odtwarzacze mp4/mp3, jakieś przeglądarki plików (w stylu total commander) itp

jeśli masz jakieś zainteresowania które mogą ci tu pomóc - twórz coś większego i fajnego
przykładowo jeśli interesujesz się treningami, możesz stworzyć program generujący  plan na podstawie jakiegoś formularza
jeśli interesujesz sie jakimś sportem zespołowym, możesz zrobić dla siebie i swoich znajomych jakąś aplikacje (najlepiej android) umożliwiającą np prowadzenie statystyk wszystkiego, kto kiedy wygrał z kim, w jakich składach, może jakaś opcja zawodów, jakaś opcja oceniania zawodników i na tej podstawie dobieranie optymalnych zepsołów

w sumie to by było fajne, oceniasz umiejętności każdego z zawodników (np bieganie, celność itp) i na tej podstawie dobiera ci 2 składy o podobnej sile
-jeśli program będzie dobrze zbalansowany może być całkiem fajną opcją
+1 głos
odpowiedź 30 października 2017 przez m4sk1n Pasjonat (16,750 p.)

Algorytmiką nie nauczysz się prawdziwego programowania.

Tworzenie stron (HTML i CSS) nijak ma się do programowania.

Naucz się C++ do tego stopnia, abyś mógł nauczyć się wzorców projektowych.

Wykonuj od najstarszego te zadania.

Gry są dobrym sposobem na naukę programowania, bo doskonale motywuje to, że widzisz wprost swoje efekty, zamiast „wywołano konstruktor” itp. Kwestia tego, aby w pełni zrozumieć kod, nie pomijać żadnego aspektu, którego nie rozumiesz.

Podstawy okienek to nic trudnego, tylko nie zawsze ma to sens, zawsze możesz być od backendu (Qt pozwala na rozdzielenie back-endu w C++ od front-endu w QML (podobny do CSS język znaczników z JS’em)).

komentarz 30 października 2017 przez Jakub 0 Pasjonat (23,120 p.)
Dzięki za odpowiedź, czy sądzisz że po opracowaniu książki o której wspomniałem: https://helion.pl/ksiazki/jezyk-c-szkola-programowania-wydanie-vi-stephen-prata,cppri6.htm#format/d , będę przygotowany do wzorców projektowych? Po prostu mam dość kiedy ciągle napotykam w czyimś kodzie instrukcje o których nigdy nie słyszałem...

O stronach to mówię też ogólnie czyli również mam na myśli PHP, JS itd...

Dlaczego poleciłeś mi właśnie te zadania?
1
komentarz 30 października 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Jak widzisz coś o czym nie słyszałeś, to się nie załamuj, tylko:

  1. Sprawdź co to jest i do czego to służy
  2. cppreference.com wink
1
komentarz 30 października 2017 przez m4sk1n Pasjonat (16,750 p.)
Te zadania, ponieważ spora część z nich jest dość praktyczna i daje pole do popisu, jest ich sporo, dużo osób prosi o code review, więc możesz porównać sobie z cudzymi rozwiązaniami, to od Ciebie zależy, jak do nich podejdziesz, czy GUI, czy konsola itp.

Podobne pytania

0 głosów
2 odpowiedzi 677 wizyt
pytanie zadane 16 września 2019 w Inne języki przez LubieNalesniki Użytkownik (610 p.)
0 głosów
4 odpowiedzi 1,383 wizyt
0 głosów
7 odpowiedzi 4,285 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...