The transition to choosing the opportunity to learn something new, rather than something like what you did before.
C ++ or C
A low-level language that requires manual memory management and teaches how everything works at a lower level. A good community base is one of the languages that a programmer should learn.
I would suggest one of these assemblies, although although the assembly is even lower, it hurts to create a project. Learning a language such as C or C ++ will have a bonus that allows you to learn how to build very quickly if you ever want to do it, since there are relatively few new concepts compared to moving from Java to assembly.
Haskell
An extremely functional language that completely changes the way you look at some problems. It takes a lot of effort if you're used to the imperative style of writing code.
It has a great advantage in teaching you the joys of recursion, and even if you never pay to write a Haskell string, this should affect the code you write in other languages, allowing you to see better and cleaner solutions.
Java or C #
If you do not use PHP in an object-oriented manner (not just using classes, but also functions such as inheritance), then these languages force you to write in OO style. I would not recommend them if you are satisfied with OO programming.
source share