Co to w ogóle znaczy umieć jakiś język? Można umieć programować lub nie, lub trochę. Nie wiem jak wy, ale jeśli ja umiem napisać jakiś program w Pythonie, to w każdym innym języku go napiszę*. W jednych szybciej w innych wolniej. To tylko i wyłącznie kwestia przeczytania dokumentacji, jakiegoś manuala dot składni + podstawowych mechanizmów. A reszta to znalezienie odpowiednich bibliotek i modułów dodatkowych i przeczytanie jak stosować, a to i tak po to żeby nie wyważać drzwi otwartych na oścież. Owszem co innego SQL, a co innego XML, ale nikt mi nie powie że jak napisał program (ale nie mylcie ze stroną/aplikacją webową
wraz z obsługą serwera http**) w C++, to po dwóch, trzech dniach poznawania innego języka nie napisze tego samego w np. Pythonie.
Tak więc wracając do tematu. Nie ucz się kolejnego języka, naucz się programować, naucz się myśleć nie pojęciami "ludzkimi", a zmiennymi, stałymi, funkcjami, obiektami i algorytmami. A potem jak coś będzie Ci trudno napisać w języku w którym piszesz to spróbuj napisać w innym w którym może prościej można to zrobić.
________
*W Brainfuck'u czy Ook'u czy innych podobnych nie napiszę bo są popierdzielone

W J, Befunge, czy K też nie napiszę, bo moim zdanie też są popierdzielone

Ale Java, C, Ruby, PHP czy Delphi... aha, Assembler dla mnie też jest popierdzielony (FFS, never, ever again!)
**Bo w PHP wystarczy serwer z mod_PHP + "print 'something'", W Rubym masz mod_ryby, jest mod_perl, z Javą też nie trudno. Ale jak napisać coś co będzie generowało w C++ stronę, czy w Smalltalku nie wiem, nigdy mnie to nie interesowało, co nie znaczy że nie można.