A ja mam na mysli nie rozwiazywanie dowolnie trudnych problemow za pomoca niewielkiego podzbioru mozliwosci C++, ale mozliwie pelne wykorzystanie dostepnych mechanizmow. A ich sie _trzeba_ dlugo uczyc, na samo metaprogramowanie mozna poswiecic z pol roku. Aby podac przyklad tego, co mam na mysli: mamy program obiektowy; w jaki sposob napisac jego czesc tak, by _w czasie kompilacji_ mozna bylo sprawdzac, czy klasa A dziedziczy po klasie B, jesli nie, to zwracac blad kompilacji. Albo lepsze: jak napisac program wykorzystujacy liczby calkowite o gwarantowanym rozmiarze? Tj. w zwyklym C++ mamy short, int, long itd., ale nie wiemy nic o ich rozmiarach, bo standard nic o tym nie mowi. Moze to prowadzic do roznego sposobu wykonania sie tego samego programu na innych maszynach. Chcielibysmy tego uniknac podajac zakresy liczb na jakich operujemy, np. -100...65560, a kompilator ma w czasie kompilacji sam dobrac _optymalnie_ typ danych do pamietania naszej liczby; oczywiscie nie mozna uzywac makr. Oba zadania sa bez problemu wykonalne w C++, ale praktycznie gwarantuje Ci, ze osoba ktora twierdzi, ze C++ zna dobrze nawet nie bedzie wiedziala jak te zadania ruszyc. To mniejszy problem; wiekszy polega na tym, ze _poprawne_ konstrukcje o tym stopniu zlozonosci czesto nie sa rozpoznawane przez wiele kompilatorow... A to jest bardzo irytujaca sytuacja gdy sie zna _standardowy_ (nie wspominajac o rozszerzeniach) jezyk lepiej od swojego kompilatora, uwierz mi... :-/
Sortowanie babelkowe to wydumana rzecz? Pierwszaki potrafia. :-)
O, dzieki za przypomnienie, dokonczylem zapowiadane kiedys wyprowadzenie FFT, ale nie mam go tutaj -- wysle je na grupe w weekend. :-)
To sie oczywiscie da zrobic po dwoch semestrach intensywnego treningu -- taki czlowiek bedzie sobie potrafil poradzic z olbrzymia liczba problemow, ale to wciaz nie bedzie poziom, ktory bym nazwal "dobrym programista w C++".
Macku, przeciez ja Ci absolutnie niczego nie zarzucam; po prostu rozbawilo mnie stwierdzenie "naucz sie C++" ;-)
Pozdrawiam Piotr Wyderski