Temat raczej będzie dla programistów, ale co tam
Zacznę najpierw od mojej krótkiej historii z programowaniem. Zaczęło się to w podstawówce (a może w gimnazjum?). Tu raczej was nie zaskoczę. Pierwszym językiem był HTML. No wiecie, robienie prostych stronek. Ale wtedy miałem frajdę. Zrobiłem ładną, kolorową stronkę! Aż wstyd ją dzisiaj pokazać...
W gimnazjum dalej był HTML. Zainteresowałem się gdzieś wtedy językami programowania. Zacząłem czytać o nich. Aż w końcu padło na Javę. Kupiłem nawet książkę "Efektywne programowanie w Javie". Zacząłem ją czytać i robić po kolei ćwiczenia, które były w niej umieszczone. Niektórych do końca nie rozumiałem, np. programy z liczbami zespolonymi czy funkcje kwadratowe (no co? wtedy byłem w gimnazjum). Gdzieś połowę książki przeczytałem i dałem sobie z tym spokój.
W liceum to się klepało kod w Pascalu. Trochę poważniejsze programowanie, niż to moje bezmyślne przepisywanie kodu Javy z książki (chociaż czegoś dzięki Javie się nauczyłem). W tym okresie też zawitałem na to forum i chciałem jakoś zacząć moddować Gothica. Padło na C-podobne skrypty. Początki były chyba trudne, ale jakoś dało rady.
Na studiach, jak na studiach, tempo pracy i nauki znacznie szybsze. Na początek programowanie w C, trochę w maszynie RAM. Na drugim semestrze trochę hardcorowe języki: Prolog i Haskell. Hardcorowe z tego względu, że dość mocno różnią się od języków imperatywnych, takich jak C czy Pascal. Później doszedł Maple, ale to raczej z musu, aby nie męczyć się w C
Nawet dość fajny i nie sprawiał zbytnio problemów. Obecnie to głownie obiektowe języki C#, Java i Ruby, no i oczywiście Prolog i Haskell.
Od opisu języków, to zacznę od końca, czyli od Rubyego. Wkurza mnie trochę jego składnia. W szczególności te endy, wolę już pascalowe begin... end. Ale są to dopiero początki, więc może ostatecznie nie będzie tak źle.
Maple - do zadań numerycznych.
C#, Java nawet dość fajnie się w nich pisze, chociaż wkurza mnie czasem, że prowadzący zakazuje korzystania z klas bibliotecznych, no bo ile razy można pisać implementację listy czy drzewa? W C i Pascalu też już to robiłem...
Prolog - jak już wspomniałem, pisanie w tym języku to inna koncepcja. Jest to programowanie logiczne. Żeby w nim programować, to dobrze jest znać podstawy logiki. W skrócie program działa tak, że Prolog wie jakieś fakty i na ich podstawie coś wnioskuje.
Haskell - programowanie funkcyjne. Język leniwy, posiada dość czytelną składnię i podobnie jak w Prologu, programowanie w nim znacznie się różni od np. C. Programowanie w Haskellu opiera się na rachunku lambda, nazwa języka pochodzi od Haskella Curry'ego i jego "a proof is a program; the formula it proves is a type for the program".
Zapraszam do zadawania pytań, wyrażania własnych opinii, komentarzy dotyczących języków programowania i wogóle do dyskusji na temat języków programowania.