I made this change several times in my career spanning various companies, switching from C to Java to Ruby to Haskell for most of my software development.
In all cases, I sought a more expressive power and better abstractions. It always depends on the needs of the business: how can I better develop cheaper software? For me, the problem with this problem is “fun,” so it’s pretty fun with it. However, substantiating business value for managers can be difficult; they often do not have the technical skills to understand why one programming language may be better than another, and worry about switching to a technology that they understand, even less than the current one. (I solved this problem by taking on the work of a manager: I started a company.)
It is hard to say what exactly to look for in a new language. Obviously, you do not have a detailed understanding of the language, or you are already using it or know why you did not. Great experience will bring an instinct that will make some languages ​​“enjoyable” than others, but it can be especially difficult to convince others to take a look at a new language - you won’t know exactly which features give you great benefits. An example is pattern matching: it is a function found in relatively few languages, and although I knew about it, I had no idea when I started with Haskell that this would be a key factor in improving performance.
Although this is negative (“avoid this”) advice and not positive (“do this”), one fairly simple rule is not to spend a lot of time in languages ​​very similar to those that you already know well. If you already know Ruby, learning Python is unlikely to teach you a lot of new things; Another example is C # and Java. (Although C # is starting to get some interesting features that Java doesn't have.)
Looking at what the academic community does with language can be helpful. If this is a fertile field of research for scientists, there will almost certainly be interesting material there, whereas if it is not entirely possible that there is nothing interesting to learn.
source share