I am working on C++ since 5 years and studying Bhagavad Gita for a period of 4 years. I found a lot of similarities between religion and C++ (a computer software language) . Just wanted to discuss a few of them
OOP (Object Oriented Programming)
As in C++, we have OOP i.e. Abstraction, Encapsulation, Polymorphism and Inheritance, similarly in Religion, there are concepts.
a) Abstraction -- hiding data that are not needed. In Religion, the hiding of the data is done by suppressing those information/data which are not required e.g. Surya Grahan/Chandra Grahan. As these being specific cases, they are not dealt with in every scripture.
b) Encapsulation --grouping together of data and functionality. In Religion, grouping of the data/functionality is done. For clarity, various specific books like Rig Veda, Sama Veda, Yajur Veda and Atharva Vedas are there. For kids, who would be more interested in stories, there are various Puranas related to various gods.
c) Polymorphism -- allows a single name to be reused for several related but different purposes (http://en.wikibooks.org/wiki/C++_Programming/Polymorphism) In Religion, there are various gods like Hanuman ji (for strength representation and devotion to God), Lord Rama and Lord Krishna (God's avatar at Earth). Goddess Kali/Durga for girl/women. There is a single God. Even other religion also say that god is one for all. In Hindu dharma He is ParamAtma, in Islam He is Allah and in Christian religion, He is God.
d) Inheritance -- Inheritance is one of the feature, which Hindu dharma has provided, the extension of the religion. Hindu dharma is not confined to texts. According to the times, the religion gets inherited and is transformed to various forms. Some people say that religions like Sikhism, Jainism and Buddhism are modified transforms of Hindu religions. Not sure about the saying, but picking up few points about each of them
d.1 ) Sikhism --> Sikhism has lot of relations with Hinduism (Sanskrit) like the meaning of the word Sikh, their religious symbol (http://en.wikipedia.org/wiki/Sikhism) .
d.2 ) Jainism --> They believe in shraman i.e. ascetic behaviour in the elderly times. Jainism paid more interest in "Ahimsa", which is again one of the key feature in Hinduism.
d.3 ) Buddhism --> Puts key interest in meditation and Middle Way, which somehow derives from Hinduism as at that moment, hinduism was the "known" existing religion.
Now other than concepts, some other day I would write comparison between the actual "code-writing" of C++ and religion.
Enjoy !!
Adhir Garg