Jak powinienem zaktualizować swój C ++ do najnowszych osiągnięć? [Zamknięte]

9

Jak powinienem zaktualizować trochę zardzewiały C ++, ponieważ jestem pewien, że język i najlepsze praktyki ewoluowały? Zdaję sobie sprawę, że może to być nie na temat, więc wyjaśnię kilka szczegółów. Około 10 lat temu myślę, że byłem całkiem dobrym programistą w C ++, pochłonąłem książki Scotta Meyersa, mogłem rozwiązywać zagadki w reklamach dr. Dobbsa. Prawdopodobnie byłem trochę prawnikiem językowym. Przez ostatnie 10 lat programowałem głównie w Javie, trochę w Pythonie, więc moje umiejętności OO wciąż są na najwyższym poziomie. Ale dołączając do firmy, w której C ++ jest powszechny, zdałem sobie sprawę, że muszę przyznać, że jestem naprawdę zardzewiały, i są teraz funkcje językowe, które są albo nowe, albo o wiele bardziej powszechne niż pamiętam - takie jak przestrzenie nazw itp.

Zdaję sobie sprawę, że czytanie i pisanie kodu (szczególnie parowanie) to dobry sposób na przyspieszenie, ale czy istnieje jakikolwiek inny zasób, który ludzie poleciliby w tym celu, aby przyspieszyć rozpoczęcie pracy. Książka? Strona internetowa? Poradniki

Podsumowując:

  • Zalecenia dotyczące zasobów odświeżających specyficznych dla C ++?
  • Ogólnie nie OO / programowanie.
  • Rzeczy oprócz czytania i pisania kodu.
Nick Fortescue
źródło

Odpowiedzi:

10

Jeśli już „pochłonąłeś książki Scotta Meyersa ”, to jesteś o wiele dalej niż przeciętny facet, który zrobił C ++ 10 lat temu (IMHO). Pobierz trzecią edycję Effective C ++ (i książkę C ++ Standardy kodowania autorstwa Sutter / Alexandrescu), aby uzyskać krótkie odświeżenie i naprawdę powinieneś być gotowy do pracy.

Zalecenia zawarte w tych książkach (pierwotnie myślę, że w 2005 r.) Są dziś tak samo aktualne jak wtedy.

Aha, i zainstaluj boost, jeśli jeszcze tego nie zrobiłeś.

Mam szczęście, że możesz zrestartować się w C ++, ponieważ jestem pewien, że w tym roku pojawi się wiele zasobów i książek o typie restartu, a także następnego, kiedy zacznie się wprowadzać standard C ++ 11.

Martin Ba
źródło
Doskonałe rekomendacje. Scott Meyers przyszedł do naszej firmy w zeszłym roku i dał wszystkim programistom dwudniowy kurs odświeżający na temat nowoczesnych technik C ++. Wie, jak C ++ działa w prawdziwym świecie i nie jest tylko kolejnym naukowcem z teoriami.
Karl Bielefeldt,
2

1) zacznij od nowoczesnego kompilatora, który ma funkcje c ++ 11 (zakładając, że twoja praca będzie wymagała tego wcześniej niż później, jeśli nie już)

2) weź istniejące programy (być może twoje domowe projekty) i zaktualizuj je lub rozszerz, aby korzystać z bardziej nowoczesnych bibliotek (takich jak biblioteki standardowe c ++ 11 lub boost ).

3) przeczytaj najnowsze funkcje C ++. jest też wiele dobrych książek. jeśli jeszcze nie przeczytałeś Modern C ++ Design , polecam go. to klasyk dla zaawansowanych projektów wykorzystujących techniki c ++, które zostały wprowadzone i dopracowane podczas twojej nieobecności.

to jest punkt wyjścia.

justin
źródło
1

Nacięcie,

Sugeruję zaangażowanie się w projekt open source. Czy spojrzałeś na sourceforge ? Może to dotyczyć dowolnego języka, ale kluczową korzyścią jest tutaj uczenie się od innych programistów przy jednoczesnym wsparciu projektu. Możesz wybrać kilka interesujących stylów i korzystać z funkcji językowych podczas pracy nad projektem open source. Niektóre dobre, niektóre złe, niektóre .... po prostu dziwne :).

Desolate Planet
źródło
4
Może po prostu miałem pecha, ale projekty open source, które widziałem, zawierały jeden z najokropniejszych kodów, jakie kiedykolwiek spotkałem - można je wykorzystać jako doskonałe przykłady, jak nie pisać C / C ++. Więc jeśli zdecydujesz się zajrzeć do open source w celu nauki, proponuję wybrać projekt, w który aktywnie zaangażowanych jest wielu programistów. W takich projektach jest o wiele bardziej prawdopodobne, że zawierają w sobie kod dobrej jakości.
1

Wykonaj kata kodu w c ++: hanoi tower, bufor pierścieniowy i tym podobne rzeczy. Robienie tego będzie o wiele bardziej wydajne niż tylko czytanie książek na ten temat - chociaż czytanie książek pomoże ci nauczyć się rzeczy, których nie znasz.

Sardathrion - przeciw nadużyciom SE
źródło