You are viewing a single comment's thread from:

RE: The Power of Functional Programming (and why we'll be exploring it in Java)

in #blog8 years ago

Imperative is procedural and Java primarily follows the object oriented paradigm(hence OOP). My problem with Java is that it is too verbose when compared with the alternatives like Kotlin, Scala or even Dart. Java's implementation of things is fairly bad in most cases as well.

I am glad that some of the most popular languages are starting to get functional features but Java's functional features are fairly flimsy and not well implemented. Java streams are mutable for instance which is actually a really bad design decision. There are plenty of other things that really make no sense with Java 8 which was the main version where they added all these functional patterns.

Sort:  

couldn't agree more with you! well said!

Just realized I misread your initial response. I thought you were saying Java was functional ha ha, my mistake!

Its not a problem hah. Anyways, good post. Also, regardless of my own opinion on java; there is a reason why its is the most used language in the world; its fast and it can be good if written well.

I don't like it, but it's what we use on my team at Amazon, as as I said, it's perfect for what we're doing. I work in tax, so the test and code coverage ecosystem surrounding Java is undoubtedly better than other languages. It's great for writing high quality, testable, provably correct code, painstakingly slowly.

Yeah, I've done some work for amazon in the past and we were using mostly Java and some C++. My work was on the platform and less on the financial department though. The JVM is a wonderful platform, hopefully more companies will start to some of the alternatives like Scala or Kotlin for the sake of developer experience.

Our sister team is using Scala and we're considering Kotlin for future projects, so there's hope!

When I did work for Amazon, which was a long long time ago, I do remember they were considering using Scala and some of the other teams were actively using Scala. It has a slightly steeper learning curve because it covers both OOP and Functional Paradigms but its definitely worth using especially if you already have a large Java code base.

Did you work full-time for Amazon, or as some kind of contractor? I ask because of the phrase "did work" rather than "worked for"