Scala is famous recently, but it is really so good. What I see is nothing. Scala's fame masks its shortcomings, so many people do not see its shortcomings. Although it is a functional programming language, it gives me the overall feeling of confusion and inconsistency, to be different, do you have to be different from other languages to show your excellence? You know, Java has been tested for more than 20 years. Isn't it worth learning from? Are you sure you want to demonstrate your outstanding design ideas in different ways? But in my opinion, scala does have many shortcomings.
First, although it is the JVM language and Scala is developed based on Java, it will inevitably be subject to many restrictions on Java, But you rely on Java, in terms of syntax design, we need to get rid of Java everywhere. This is like you are a woman (born with Java ), however, they have to undergo various plastic surgery to make themselves look like a man (getting rid of Java. To master Scala, you must add a lot of extra memory burden to remember its odd designs and syntaxes. Since Scala has a class of various types, so why do we need to over-promote its type inference function? The Val and VAR keywords are introduced. Java also has many advantages for visibility control. I don't know why Scala designers are blind to it.
Second, I just want to list some special features, such as reverse type declaration order, underline rather than wildcard characters, asterisks and default values, too many types and empty concepts, and so on.
Third: here we reference Rick Hightower's point of view. Although the scala language sounds good, the syntax makes me want to give up. Scala makes groovy look more delicious than before.
This article will be updated with Scala, and I hope you can speak freely and express your thoughts on Scala's shortcomings.