On Thu,[masked] at 14:39 -0400, Linesh wrote:
> I asked below question to myself and searched through google, couldn't
> find a satisfactory answer yet.
> Why a more (functional) programming language? (FPL)
The issue is not functional versus object oriented, the issue is what is
the right balance between imperative and declarative.
Declarative is better for applications than imperative as a "rough
> FPL avoids State and Mutation:
> You can achieve this in Java by using immutable objects, Collections
> class has very useful methods for this.
Add to this extensive use of final to ensure all variables a single
> Scala is good at concurrent execution of methods:
> So is Java with all the tools in utils concurrent package, or
> communicating sequential processing may be also a good choice.
Java 8 has a lot of positive things to say on this. Scala (Kotlin and
Ceylon) are having a lot of influence on the static compile language
aspects of JVM language support. As indeed does Groovy with it's static
compile mode. The JVM is a polyglot place to be. java.util.concurrent is
a package to research.
> Scala code has smaller footprint:
> At the cost of difficulty to make changes to that after few months(!),
> Java absolutely wins in that.
Scala has a dreadful compile times due to the way various non-class
features are realized. Java 8 has lessons on this and Scala should take
them up for 2.12 or 3.0.
> Thoughts from and experiences of people using Scala for a while on
> these may be helpful I think.
There is also Kotlin, Ceylon and Groovy as well as Scala and Java to
Dr Russel Winder t: [masked] voip: sip:[address removed]
41 Buckmaster Road m: [masked] xmpp: [address removed]
London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder