addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwchatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrosseditemptyheartfacebookfolderfullheartglobegmailgoogleimagesinstagramlinklocation-pinmagnifying-glassmailminusmoremuplabelShape 3 + Rectangle 1outlookpersonplusprice-ribbonImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruseryahoo

Re: [ljc] How to think as "functional language programer"

From: Russel W.
Sent on: Thursday, October 3, 2013 8:02 PM
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
guide".

> 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
assignment.

> 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
consider.

-- 
Russel.
====================­====================­====================­=================
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

Our Sponsors

  • Our Blog

    Read the latest news from the LJC

  • RecWorks Ltd

    Fixing Tech Recruitment using the Power of Community

  • jClarity

    Java/JVM Performance Analysis Tools & mentoring for Java related matters

  • LJC Aggrity

    Our LJC Aggrity site contains blog posts from our members

  • LJC Book Club

    Our Book club with book reviews from our members

  • Devoxx UK

    Java Community Conference in collaboration with the LJC, 8-10th June 16

  • SkillsMatter

    "Host, help organise, promote, film many of our meetings."

  • IBM

    Build Enterprise-grade apps at start-up speed.

  • New Relic

    New Relic makes sense of billions of metrics a day in real time.

  • Hazelcast

    Hazelcast is the leader in operating in-memory computing.

  • Java.Net

    We are an official Java User Group recognised by Oracle's JUG program

  • JRebel

    Free 3 month J-Rebel license.

  • O'Reilly

    40% discount on printed books and 50% on e-books.

  • Craft Rebellion

    Your choice of fresh craft beer, delivered. For 10% off use ‘LJC'

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy