Co dalej - C++?

0

Witajcie!

Mam pytanie do bardziej doświadczonych kolegów.

Zdecydowałem, że będę się uczył C++, podstawy ogarniałem z liceum, obiektowe podejście do programowania poznałem na studiach i tak cały ten semestr programuję w C++. Sesja się skończyła, a zapał dalej jest. Podoba mi się C++.

Czy moglibyście mi pomóc w tym co dalej robić? Co trzeba umieć z C++ koniecznie? Bibliotekę STL w miarę ogarniam, na pamięć całej nie znam ale od czego jest google i dokumentacja. W Qt kilka mniejszych projektów też mam za sobą, ale jest to bardzo obszerny framework więc uczę się go na zasadzie - coś mi jest potrzebne to wtedy tego szukam. Bibliotekę standardową języka też mniej więcej kojarzę. Z Boost'em miałem mało do czynienia, pobrany jest, ale na razie nie miałem potrzeby go używać.

Czego się uczyć? Jakie rodzaje programów pisać? Z czego się uczyć? Książki, kursy, internet, własne błędy?

Proszę o cenne rady, każda na wagę złota.

2

nie ucz sie jezyka poki co samego w sobie, ucz sie wielowatkowosci, ucz sie template programming (w tym metatemplate programming), ucz sie wzorcow projektowych. Wtedy poczytaj nowosci o jezyku C++11 i zrozum je (co nie jest dla wszystkiego takie trywialne). Poczytaj czysty kod (autor martin)

edit. Napisz np logger. Zeby ten logger mogl wypisywac do jakiegos outa (czy to konsola czy to plik czy jakis bufor... nie wazne, powinno to byc w miare dynamiczne). Napisz ten logger tak by byl wygodny do uzywania.

0
fasadin napisał(a):

nie ucz sie jezyka poki co samego w sobie, ucz sie wielowatkowosci, ucz sie template programming (w tym metatemplate programming), ucz sie wzorcow projektowych. Wtedy poczytaj nowosci o jezyku C++11 i zrozum je (co nie jest dla wszystkiego takie trywialne). Poczytaj czysty kod (autor martin)

Co znaczy samego w sobie? Jeśli chodzi o samo czytanie kursów czy książki, to nie robię tego. Bardziej piszę jakiś projekt, program, i wtedy się uczę. Gdy uczyłem się STL napisałem sobie program, do nauki słówek ang - pol + słownik. Niby proste i trywialne ale użyłem sporą ilość elementów z STL.

Wielowątkowości jakiej? Bo widziałem, że np. boost ma swoje funkcje do tego, mfc swoje, itd. itd. Co jest na "topie"? Mutexy, sekcje krytyczne, funkcje blokujące znam ze studiów, nawet mam parę programów przy użyciu tego, ale niestety w MFC.

Na wzorce projektowe chyba jeszcze za mało umiem. Coś zamierzam o tym poczytać na pewno.

C++11 i C++14 - czytałem, nawet stosowałem w swoich projektach, bardzo pozytywne zmiany. :)

EDIT.: Hmm, dobry pomysł z loggerem. Tylko co ten logger miałby robić?

3

samego w sobie czyli nie czytac dokladnie co weszlo do c++11 i zrozumiec kazda zmiane. Na poznawanie zawilosci jezyka (i jego nowosci) przyjdzie czas. Poki co potrzebujesz nauczyc sie uzywac tego co juz wiesz. Bo dodawanie teorii a brak praktyki to nie jest dobry pomysl.

Uzywanie elementow z STL to nie jest jakas duza i tajemna wiedza. Wiec slownik pl - ang to jest zwykla mapa ;)

Jezeli znasz oop to nie jest za wczesnie na wzorce projektowe.

Przeciez C++11 dorobil sie wielowatkowosci, mozesz uzyc tego. Do tego poczytaj o RAII (bo nie wiem czy uzywasz golych wskaznikow czy nie). Mozesz napisac swoj wlasny maly Garbage Collector jako cwiczenie zeby lepiej zrozumiec jak dziala (gdy sie przesiadziesz na inny jezyk). Nie wazne jaki framework jezeli chodzi o wielowatkowosc, wazne ze rozumiesz idee jak to dziala. Logger ktory napiszesz mozesz uruchamiac w osobnym watku by sobie logowal i nie stopowal aplikacji. Dzieki temu gdy bedziesz mial kolejna aplikacje to bedziesz mogl dodac swoj logger. Staraj sie pisac projekty tak, bys mogl je uzyc w przyszlosci.

Zrozum ten kod
https://4programmers.net/C/Artyku%C5%82y/Generyczny_singleton_w_C++

Dopiero jak bedziesz czul sie swobodnie w pisaniu jakiejkolwiek aplikacji to wtedy "ucz sie jezyka" (czyli wszystkich zmian jakie weszly w c++11 i jakie ida w c++17).
Zanim to bys zrobil to polecilbym nauczyc sie lambd bo sa bardzo fajne.

Jeszcze mozesz liznac regexy prze nauka jezyka no i oczywiscie czysty kod martina.

Logger mialby logowac... poszukaj w google projekty loggerow. Na pewno znajdziesz

0

Dzięki wielkie. Więc robiłem błąd. Bo chciałem zgłębić jak najwięcej teorii i skakałem z kwiatka na kwiatek. Dzięki wielkie za cenne rady.

Czasem używam, aczkolwiek inteligentne wskaźniki nie są mi obce. Poczytam. :)

No czytałem, wiem co to jest, mam chęć żeby je bliżej poznać od kilku dni :P

Ok, poczytam, pościągam, napiszę. :)

Dzięki!

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