Java, Scala, Functional Programming, Concurrency, Macro.
fundamental and impactful properties of code written using Scala is that by default, data structures are immutable. There are a number of benefits of such an approach (and some downsides, as well): data can’t be modified “somewhere else” by “somebody else” state external to a function cannot