Win a copy of Bad Programming Practices 101 (e-book) this week in the Beginning Java forum!

Pankaj Shet

Ranch Hand
+ Follow
since Sep 08, 2006
Pankaj likes ...
Java Scala Spring
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Pankaj Shet

Hi Ranchers,
I am interested in learning functional programming languages.
However I am not able to get the complete list of Functional Programming Concepts and languages that support them.
Haskell /Lisp are pure functional languages.
Smalltalk is Pure OOP.

However, out of the newer languages,

Scala, Clojure, Kotlin, Groovy, Python, (Javascript/Ecmascript/Typescript/Coffescript/ClojureScript/Dart) , Go, Erlang, Elixir, Solidity (Ethereum)

Some of the features may be /may not be supported by one or more of the above languages.

I am trying to classify which functional/OOP features of pure languages are supported by all of the above languages.

OOP Pillars:

Abstraction, Encapsulation, Inheritance, Polymorphism, Objects, Cohension and Coupling.

Functional programming :

Side Effects, High Order Functions, Lambda Expressions, IO, Immutability, Function Currying, Mixins, Closures, ApplicativeFunctors, Monads, Monoids.

Apart from above concepts, what are the other concepts which will complete the list, which concepts did I miss from the list?  Request a complete list of Functional Programming Concepts.

Also I have heard about Reactive Programming. What is it good for and when to and when not to use languages ?
Reactive Programming Languages :
RxJava, RxScala, RxJs, ReactiveIO

When should we use which languages(OOP/ FP/Reactive) ?

As far as I am aware:

Scala/Python/R/Matlab:  BigData (Scala Prefered for performance/Python prefered for Maths libs and simplicity)
Kotlin/Java:  Android (Kotlin prefered)
Clojure : AI/ML/Microservices
Go/Elixir/Erlang : Concurrency and Parallel Processing.
Solidity/Serpent : Blockchain
Javascript /typescript /ecmascript /coffescript/ClojureScript/Dart /Webassembly:   Client Side.
Groovy/Ruby: ?
C/C++/Rust/Arduino: Low Level/ Hardware/ Embedded/IOT
Objective C/Swift :IOS

If I have to choose one best language (What should I choose?)
May be (Scala/Kotlin/Clojure/Erlang/Rust/Go)

I think Clojure is the best choice which fits the bill. (Good for BigData, Microservices, AI/ML. Concurrency and Parallel Programming/Mobile/Blockchain/Web(ClojureScript)

But job market is not indicating any signs for Clojure growth. Don't know why?
It's good for Scala/Golang.

I know these are too many questions, but request your help and opinion.
Help is always appreciated.



Hi Ranchers,

Why would I migrate my current website to Liferay 7 CMS?

What are some great and attractive features of Liferay 7.x or Liferay DXP over other CMS?

Request you all to help me understand them.

11 months ago
I prefer both Videos as well as Books.

First of I listen to the Video Tutorials, where I become really choosy.  Look at the contents, see to it that we can get started with.
After we completing the video tutorials, once I get the overview of the topic, I use books to get in-depth knowledge of the same.

If there are further books and videos on each sub-topic, I follow the same way as above to get more in-depth knowledge.

1 year ago
Hi Bill Philips & Chris Stewart,

I have one more question. How will the above technologies help in Digitalization?
I have worked on Liferay portal as well.
But talking about digitalization,  how does Liferay DXP help
And how about Liferay Screens for Android ?
Also I  would like to know about BackBase - Omni-Digital Bankin, Plaform
So what is that.

1 year ago
Hi Bill Philips & Chris Stewart,

I am a big enthusiasts of learning Android platform.

In this era of SMAC(Social, Mobile, Analytics and Cloud) and the era of IOT,  what role does Android play?

Which way should we go, Android IOT (AndroidThings), Android Web apps(Responsive/Progressive), Android Native/Hybrid apps?

Which programming language should we concentrate? 

What is the future of Android Wearables/ Android TVs?

How good is the future of Android compared to other platforms like iOS/Windows?

I would really like to be a Big Nerd Mobile App Developer.

Hope this book will help me achieve my goal.



1 year ago
So I wish to understand how this works in both languages
Yes but I believe Akka is generally used with Scala for scalability purpose, rather than Java.

Hi Doug,

I am new to the concurrency world, and keen to learn concurrency in depth.

Java Concurrency -Fork/Join Framework, Executor Framework, Multihreading
Scala Concurrency- Actor Model (Akka Toolkit, Vert.x)
Go Concurrency- SubRoutines.
JavaScript Concurrency- Non Blocking, Asynchronous NodeJS Concurrency models.

I wish to understand which concurrency models is best, when and why?

I would like to learn the fundamentals and advanced concepts and significance of concurrency using each of the programming language.

Hence I would like to win course.


Hi Ranchers,

I wish to know how to count the number of string objects created in  Java Program.

Suppose if I have :

String str1=new String("abc") ;
String str2=new String("abc") ;

now 2 objects are created on Heap.

but "abc" is interned and goes in a String Constant Pool.

which is 3rd object.

So in this case, total 3 objects will be created.

case 2:

String str1="xyz";
String str2="xyz";

In this case only 1 object is created.

Case 3:
String str1=new String("Lmn");
String str2="Lmn";

In this case: At line 1,  2 objects will be created, 1 on heap, and 1 is interned.
                   At line 2, str2 just refers to the interned String "Lmn"

So only 2 objects are created.

Case 4:
String str1=pqr;
String str2=new String("pqr");

In this case: At line 1, pqr goes to String Pool.
                   At line 2, 1 object is created on heap, and  "pqr" is interned, but since it is already present in String Pool it is discarded.
So only 2 objects are created.

Please correct me if I am wrong.


But I wish to understand, why is "abc" interned?


1 year ago
Hi Ranchers,

Can anyone please help me out?

Hi Ranchers,

I am new to hibernate, I wish to understand when to Unidirectional Mappings and when to use Bidirectional Mappings in Hibernate?
While reading some blogs and books,  I came across the explanation stating "You Use Unidirectional Mapping while You want the domain model to control from one side of the mapping, and Bidirectional Mapping when you want the domain model to control from both sides of the mapping."

But I want to understand, when would I want the domain model to control from one side and when would I want the domain model to control from both sides.?

I request the ranchers to help me understand this in great details.

Hi Tim,

I looked closely into the image you shared with us.
I see almost all the books you have are really awesome books.
However, I am glad to know how you manage to read all these books from cover to cover, managing office work, and will like to learn the time management skills from you.

1 year ago
Hi Stephan van Hulst,

Thanks a lot...!!!

This was the much needed resource .

1 year ago
Hi Junilu,

Thanks for your reply, You got it right, I wish to understand,  how the keywords work, how are they designed..?

1 year ago
Hi Ranchers,

I am trying to understand, how the abstract keyword work under the hood.
How does marking abstract prevent object instantiation when there is a public constructor?
I understand the rules of abstract and  abstraction but how is what i wish to know.
Request your help.

1 year ago