Wpis z mikrobloga

Jestem w 1 klasie licbazy i stwierdziłem, że najwyższa pora zacząć coś, co planuję już od bardzo dawna. Chcę nauczyć się programować, ale nie wiem od czego zacząć. Zacząłem na YT kurs C++ i powiedzcie mi, czy to dobry pomysł. Chciałbym iść raczej w strone tworzenia aplikacji na systemy mobile, a dokładnie Androida i iOSa.
#programowanie
  • 31
@rfree: czyń jak chcesz w kwestii płakania tudzież śmiania się.

Mówimy o nauce programowania, a nie o tym, czy jest sens pisania w C jak C++ to prawie superset C.

Więc powiedz mi proszę co z wymienionego - obiekty, przeładowanie funkcji, szablony, dziedziczenie wielobazowe, wyjątki, wskaźniki, RAII - jest niezbędnie potrzebne do nauki a) algorytmiki lub b) tego jak działa sprzęt? Bo jak dla mnie ani jedna rzecz i w związku
@jaen: Moje wrażenie jest raczej takie, że na pewnym etapie najważniejsza jest możliwość zabawy programowaniem, a do tego potrzebne jest w miarę przystępne w obsłudze IO, a najlepiej okienka - natomiast IO w Haskellu jest zrobione na monadach, które początkującemu wprowadzą raczej więcej zamieszania niż nauczą czegoś dobrego...

Z całą pewnością funkcyjność jest dużo lepsza do nauki wielu algorytmów, więc nauka języka funkcyjnego może być dobra - ale IMO nie jako
@frax: co do pierwszego paragrafu absolutnie zgoda, dlatego też nie sugerowałbym Haskella jako pierwszego języka programowania. Prędzej okolice Scheme, Racketa czy Clojure jeżeli już, bo większość ludzi chce zobaczyć jakieś konkretne efekty swojej pracy a z IO w Haskellu to będzie trudno.

Wiesz co, wydaje mi się że generalnie ważną rzeczą w nauce programowania jest wyrobienie sobie dobrych nawyków - pierwszy język powinien narzucać uczącemu się jakąś dyscyplinę programistyczną.
Dlatego trzymałbym
@jaen: Omatko, że też Ci się chciało tyle pisać :P

PHP to tylko taka hiperbola na temat "jak bardzo nie Haskell jako pierwszy język".

Zasadniczo - pełna zgoda we wszystkich punktach. Bardzo dobrze napisane zwłaszcza o obiektowości, która rzeczywiście na samym początku może być niedobra, choć IMO powinna wejść dość szybko, bo dobre nawyki myślenia obiektowego też są ważne.

W zasadzie, optimum dla mnie byłby C ze stringami :P. Bo one
@frax: mam tendencję do rozpisywania się czasem xD

Z jednej strony - obiektowość niby jest dobra kiedy jest dobra (tak, wiem, tautologia), ale mam wrażenie że jak ludzie za wcześnie poznają obiektówkę, to próbują jej używać wszędzie, nawet tam, gdzie nie do końca pasuje - vide linki stąd: http://www.reddit.com/r/gamedev/comments/2hxjzq/mike_acton_insomniac_games_cppcon_2014_keynote_on/ (ale jak umiesz dobrze C++a to pewnie je znasz). Także z jednej strony przydatna sprawa, z drugiej trzeba uważać, żeby nie stała
mam wrażenie że jak ludzie za wcześnie poznają obiektówkę, to próbują jej używać wszędzie, nawet tam, gdzie nie do końca pasuje


@jaen: Absolutnie tak, sam miałem z tym problem :P
Zaczynałem od Delphi, w którym liznąłem obiektowości, i później pisząc w C++ próbowałem tej C++-sowej obiektowości zupełnie niepotrzebnie używać, pisząc jakieś listy z konstruktorami i destruktorami do 20-linijkowych programów ;)
Do linków zajrzę później - może znam, ale to nie jest
@frax: wiem, że gcc sprawdza typy argumentów względem format stringa, ale robi to jako dodatkowy lint a nie częśc implementacji printfa chyba. No ja zawsze w przypadku structów robiłem typedefy i jakoś się dało żyć, ale racja, cokolwiek toto nadmiarowe.