Yes, different languages are made for different purposes. The concept of low-level and high-level is relative to the task. When writing systems applications you reach for C, C++, whereas for server code you might reach for Scala, Elixir, and obviously you have the platform-specific languages such as Obj-C. When you want to verify your code formally, you might reach for Coq or Isabella, writing theorem provers usually in Standard ML or OCaml.<p>Furthermore, the tools you use mold your way of thinking. That&#x27;s why teaching Haskell as an introductory language is a better choice than Java.