Jeśli chcesz czegoś nowego, to mam kilka propozycji, nastawionych głównie na poszerzenie horyzontów:
- Haskell — jako wstęp do programowania funkcyjnego i nauka doceniania statycznego typowania. Wcale nie jest taki trudny jak się zdaje, choć wymaga trochę czasu żeby zmienić sposób myślenia, ale w tym właśnie jest wartość i zabawa.
- Lisp (sam używam Common Lispa, ale podejrzewam, że w innych dialektach jest podobnie) — rodzaj oświecenia programisty, które wynika z bardzo potężnych mechanizmów metaprogramowania, praktycznie nieograniczonych możliwości manipulowania składnią i implementowania nowych paradygmatów. Dodatkowo, Lisp jest językiem zorientowanym na REPL, ma system obsługi błędów zorientowany na interakcję. Pełna moc języka w runtime'ie, możliwość podmienienia nowej wersji aplikacji w locie i takie tam…
- Prolog — raczej niszowy język, ale reprezentuje bardzo egzotyczne podejście (programowanie w logice) i jest to raczej leciutka opcja na nie bardzo długi czas.
- Rust — bardzo ciekawy język, który ma najlepsze cechy Haskella (rozbudowany system typów) i Lispu (rozbudowane wparcie dla metaprogramowania). Dodatkowo implementuje nowatorski sposób zarządzania pamięcią w czasie kompilacji (wymaga to pewnej dyscypliny i to też jest ciekawe). Długi czas trzymałem się C jako języka niskopoziomowego, ale Rust miażdży C, jeśli chodzi o bezpieczeństwo i możliwości abstrakcji.
- R — to jeśli interesuje cię Data Science, Machine Learning, statystyka itp. Trochę chaotyczny, ale robi robotę