[Java|C++] Zmiana z Javy na C++

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ść.

Dzięki za wypowiedz i podanie tytułów :smiley:

Zobaczę podane przez was tytuły. A znacie może jakieś tutki w internecie? (wszystkiego w ten sposób się uczyłem, i tak jakoś wolę.

Thinking in C++ możesz pobrać ze strony autora (po angielsku).

Polecam http://www.intercon.pl/~sektor/cbx/ oraz http://xion.org.pl/productions/texts/coding/megatutorial/, są to tutoriale dla początkujących więc miejscami mogą cię nudzić, jednak jest w nich dość dobrze opisane programowanie w C++.

Co do wspomnianych wyżej wskaźników to polecam: http://www.youtube.com/watch?v=bewTJaboGIw, http://www.youtube.com/watch?v=1I0ObS-RQvQ, http://www.youtube.com/watch?v=ICrBkVxkdVI, http://www.youtube.com/watch?v=mqCULVvaS1c, http://www.youtube.com/watch?v=YvA8tNm0FbA, http://www.youtube.com/watch?v=B7x-RWNGhgc, http://www.youtube.com/watch?v=_5pfrvlY_cA, http://www.youtube.com/watch?v=OuJMvfwblb0, http://www.youtube.com/watch?v=ByzWW_IiGU0, co prawda autor bardziej używa C, jednak w C++ wskaźniki działają tak samo.

Have fun :smiley:

A gdy nauczysz się żyć ze wskaźnikami, dowiedz się czym jest boost::shared_ptr.