Scala doesn’t have i++
because it’s a functional language, and in functional languages, operations with side effects are avoided (in a purely functional language, no side effects are permitted at all). The side effect of i++
is that i
is now 1 larger than it was before. Instead, you should try to use immutable objects (e.g. val
not var
).
Also, Scala doesn’t really need i++
because of the control flow constructs it provides. In Java and others, you need i++
often to construct while
and for
loops that iterate over arrays. However, in Scala, you can just say what you mean: for(x <- someArray)
or someArray.foreach
or something along those lines. i++
is useful in imperative programming, but when you get to a higher level, it’s rarely necessary (in Python, I’ve never found myself needing it once).
You’re spot on that ++
could be in Scala, but it’s not because it’s not necessary and would just clog up the syntax. If you really need it, say i += 1
, but because Scala calls for programming with immutables and rich control flow more often, you should rarely need to. You certainly could define it yourself, as operators are indeed just methods in Scala.