No spierał bym się, że wszystkie. Np. w asemblerze nie ma ifów, switchy, for-ów…
Widziałeś LISP?
Albo Prolog?
Albo BST (BibTeX stylesheet)?
Albo Droolsy?
Masz tam pętlę for?
Wszystkie języki imperatywne są podobne, ale nie wszystkie używane języki programowania są imperatywne.
Dlatego warto poznać:
-
języki głównego nurtu (C, Java, PHP)
-
jakiś jeden dobry język dynamiczny (Python lub Ruby)
-
coś funkcyjnego (Haskell lub Lisp) lub mieszanego (Scala jest niezła)
-
coś logicznego (hmm chyba tylko Prolog do wyboru)
-
coś deklaratywnego regułowego (np. Droolsy)
-
coś niskopoziomowego (np. jakiś asm).
Punkty 3.-6. głównie dla poszerzenia światopoglądu - poznanie tych rzeczy ma też wpływ na jakość programów produkowanych w językach głównego nurtu.
Oczywiście w każdym z tych języków można znaleźć ciekawą pracę. A, no i lepiej poznać jeden język bardzo dobrze niż kilka “po łebkach”. Wnerwiają mnie programiści, którzy niby potrafią programować we wszystkim (CV długie na 3 strony), a jak się spojrzy na ich kod, to się można popłakać.