Scala is both object-oriented and functional (Took me a while to understand it)

Personally, I started programming in Scala in 2015… I did the Scala training on Coursera.

Guess what? at First I did not like Scala! I could not understand why I would want to implement all these complexity when I can use Java and Spring to solve all the problems… It turned out i was wrong.

To write functional Scala, you need to think functionally…  rather than thinking in Object Oriented Manner & translating those thoughts into Functional Paradigm.

My real Scala interest started not with Web Api’s, it started when i laid an interest on Spark. I wanted to build a clean, abstracted approach to Big Data & implement it with the best functional language! that’s when I started loving Scala.

Immutable Data easily leads to pure function and easily distributable code.

I came to the conclusion, when i want to write something in Scala… to do it with Pure Functions if i choose to use the functional paradigm. This allowed me to do some of the following:

  1. Pure functions have no side-effects
  2. Pure function calls to immutable data are often easy to reorder
  3. Pure function calls to immutable collections are often easy to parallelise

Use Expressions instead of statements.. Expressions Can be passed into a function. As expressions can be chained together in Scala.

Don’t Mix Java Statements with Scala expressions.

Unlike statements, expressions can be used to be specify arguments to a function. As Functions, a subtle point – Scala allows expressions to be used in place of functions.

It took me some time to get used to the idea.

Perfection and Why You Need to be Specific in Your Requirements

Apparently, the American computer giant IBM decided to have some parts manufactured in Japan as a trial. In the specifications, they set standard that they will accept only three defective pieces per 10,000 pieces.

When the delivery came to IBM there was a letter accompanying it.

“We, Japanese people, had a hard time understanding North American business practices. But the three defective parts per 10,000 pieces have been separately manufactured and have been included in the consignment in a separate package mentioned — ‘Defective pieces as required; not for use.’ Hope this meets your requirement”

In Some Workplaces Perfection is a Habit, Not An Attitude!

 

Continuous delivery vs Continuous deployment

As I’m reading a very interesting book about Continuous Delivery for (Jez Humble and David Farley).

The last years I have been keen on introducing parts of continuous development to teamsI worked in… It fascinated me how confusing it is to understand all those terms.

You hear the term we do have Continuous Delivery because we are using “Jenkins”, “Bamboo” or “Teamcity”, and that confuses…

I decided to dig in more and understand the basics of Continuous delivery in 7 minutes 🙂

Read more

Foresee the future with Google Maps API.

Any application that requires the use of future travel information. Google has opened-up access to Maps’ trusted predictive journey times with the debut of a new API.

Predictive travel time uses historical time-of-day and day-of-week traffic data to estimate travel times at a future date. This makes it easier than ever to predict how long it will take to get somewhere and suggest the best route even when the departure time is far in the future.

Read more