Kuć na pamięć czekać aż "samo" przyjdzie, nie wiadomo kiedy?

0

Tak jak w temacie czy nowe rzeczy kuć na pamięć czy raczej czekać aż przy pierdylionowym zadaniu samo się zapamięta? np. kowersja z jednego typu na drugi w c++

3

Nie kuć, ale zrozumieć.

3

Istnienie większości rzeczy w każdym języku można racjonalnie wytłumaczyć. Jeśli można coś wytłumaczyć oznacza to, że można to także zrozumieć. Ok tyle z teorii. Wspomniałeś w swoim poście nt C++... tutaj sprawa jest bardziej skomplikowana. Istnieją w tym języku konstrukcje, które nie sposób zrozumieć i tym bardziej nie sposób uzasadnić ich istnienie. Dla przykładu reguły type deduction dla auto w przypadku uniform initialization. Niby można doszukiwać się przesłanek w draftach N2640, N3922 itd ale racjonalnego wyjaśnia raczej tam nie znajdziemy. Nie poprzestańmy tylko na jednym przykładzie i rozpatrzmy kolejną rzecz - lambda capture i konkretny typ w samej lambdzie. Co tutaj się dzieje to w ogóle WTF. Mamy tutaj do czynienia z jedynym przypadkiem kiedy passs by value zachowuje informację nt const/volatile. Dlaczego tak? Ich weiss nicht, keine ahnung und ich verstehe nicht.

W każdym razie nie ma co nad tym (i innymi rzeczami, których nie wymieniłem...) ubolewać, gdyż reguły C++ są tak poryte, tzn. skomplikowane, że nigdy nie będziesz pewien czy aby na pewno rozumiesz to jak coś działa. Eksperci tego języka także włączają się do tej grupy ludzi (może poza Howardem Hinnant ale to jest uber koks ;p).

1

Nic nie kuj. Programowanie to rozwiązywanie problemów a nie kucie. A tzw. "osobliwości" z danych języków automatycznie zapamiętasz, jak będziesz miał dużo praktycznej styczności z danym językiem (jeśli z jakiegoś głupiego powodu spędzisz kilka godzin na debugowaniu czegoś, a potem zobaczysz, że dany bug wynikł z jakiejś "osobliwości" to następnym razem trochę szybciej pomyślisz o tym).

0

Ok, dzięki za odpowiedzi.

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