Witajcie, od dosyć dawna piszę programy w javie, rozumiem zasady programowania obiektowego i tak dalej… Ale teraz, z kilku powodów chcę przenieść się na C++. I teraz moje pytanie: Czy ktoś z was kiedykolwiek zmieniał język z javy na c++? Albo zmieniał jakikolwiek język na c++?
Doskonale wiem, że google da mi wiele odpowiedzi odnośnie nauki C++, tyle że ja znam wszelkie podstawy (obiekty, klasy, listy, mapy, typy danych, pętle itp. itd.) a jedyne czego chcę się nauczyć to poznanie różnic dzięki którym będę mógł zastosować moje umiejętności z javy w c++.
Bardzo proszę o wszelkie tutki, tytuły książek czy cokolwiek innego poruszającego ten temat.
Ps.: Wątpię by ktokolwiek z Was to robił, ale czy ma ktoś doświadczenie z tworzeniem oprogramowania pod Steam’a?
Składniowo różnice między Javą a C++ są niewielkie, jednak musisz pamiętać że to pod spodem całkowicie inaczej działa! Przede wszystkim zabawa wskaźnikami - tak naprawdę samo to powoduje że tak naprawdę niezbyt dużo wiedzy z Javy możesz zastosować w C++. Polecałbym zainwestowanie w Symfonię i Pasję Grębosza - ok, trochę się wynudzisz przy pętlach i funkcjach warunkowych bo to praktycznie to samo, ale poznasz przeciążanie operatorów, wskaźniki, szablony, ręczne zarządzanie pamięcią. A potem sugerowałbym jakąś książkę do algorytmów i struktur danych w C++ i samodzielną implementację przynajmniej list, stosu, drzew i sortowania.
IMO podejście “Umiem programować, potrzebne mi tylko różnice” daleko cię nie zaprowadzi. Nawet przy podobnej składni i paradygmacie mnóstwo rzeczy, które masz w Javie w poleceniu czy dwóch, w C++ musisz napisać od nowa.
Po mojemu bardzo dobrze zrobiłaby ci lektura Thinking in C++. Dla kompletnych nowicjuszy może być za ciężka, ale z twoim “podłożem” mógłbyś szybko przelatywać wzrokiem po tym, co już rozumiesz, i skupiać się na szczegółowo wyjaśnionej reszcie.
Tak czy siak - wskaźniki i w ogóle ręczne zarządzenia pamięcią to dla ciebie lektura absolutnie konieczna. Do tego strumienie i trochę inaczej zrobiona obiektowość.