Wednesday, May 21, 2008

Love Marriage VS Arranged Marriage - The IT Perspective

Love Marriage VS Arranged Marriage - The IT Perspective

Love Marriage: Resembles procedural programming language. We have some set functions like flirting, going to movies together, making long conversations on phone and then try to fit all functions to the candidate we like.

Arranged Marriage: Similar to object oriented programming approach. We first fix the candidate and then try to implement functions on her. The main object is fixed and various functions are added to supplement the main program. The functions can be added or deleted.

Love Marriage: It is a throwaway type of prototype as client requirements rises with time thus it is a dynamic system and difficult to maintain.

Arranged Marriage: Requirements are well defined so use of waterfall model is possible.

Love Marriage: Family system hangs because hardware called parents are not responding.
Arranged Marriage: Compatible with hardware Parents.

Love Marriage: You are the project leader so u are responsible for implementation and execution of PROJECT- married life.

Arranged Marriage: You are a team member under project leader parents so they are responsible for successful execution of project Married life.

Love Marriage: Client expectations include exciting feature as spouse cooking food, washing clothes etc.

Arranged Marriage: All these features are covered in the SRS as required features.

Love Marriage: Acceptance test possible you can try before you Buy.

Arranged Marriage: Product is sold on an as is where is basis. Product once sold will not be taken back!

Tuesday, November 13, 2007

A201/A597/I210 Introduction to Programming I (4/3 cr.) - 2nd Summer 2002

A201/A597/I210 Introduction to Programming I (4/3 cr.) - 2nd Summer 2002


Second Summer 2002

Life is difficult. (And so is Java. And so is learning in general.)

This is a great truth, perhaps one of the greatest truths.

(The first of the "Four Noble Truths" which Buddha taught was "Life is suffering").

It is a great truth because once we truly see this truth, we transcend it. Once we truly know that life is difficult - once we truly understand and accept it - then life is no longer difficult. Because once it is accepted, the fact that life is difficult no longer matters.

Most do not fully see this truth that life is difficult.

Instead they moan more or less incessantly, noisily or subtly, about the enormity of their problems, their burdens, and their difficulties as if life were generally easy, as if life should be easy. But life is not easy. Life is a series of problems.

Discipline is the basic set of tools we require to solve life's problems. Without discipline we can solve nothing. With only some discipline we can solve only some problems. With total discipline we can solve all problems.

What makes life difficult is that the process of confronting and solving problems is a painful one. Problems, depending upon their nature, evoke in us frustration or grief or sadness or loneliness or guilt or regret or anger or fear or anxiety or anguish or despair.

These are uncomfortable feelings, often very uncomfortable, often as painful as any kind of physical pain, sometimes equaling the very worst kind of physical pain.

Indeed, it is because of the pain that events or conflicts engender in us all that we can call them problems. And since life poses an endless series of problems, life is always difficult and is full of pain as well as joy.

And it is in this whole process of meeting and solving problems that life has its meaning. Problems are the cutting edge that distinguishes between success and failure. Problems call forth our courage and our wisdom. Indeed, they create our courage and our wisdom.

It is only because of problems that we grow mentally and spiritually. When we desire to encourage the growth of the human spirit, we challenge and encourage the human capacity to solve problems, just as in school we deliberately set problems for our children to solve.

It is through the pain of confronting and resolving problems that we learn. As Benjamin Franklin said, "Those things that hurt, instruct." It is for this reason that wise people learn not to dread but actually to welcome problems and actually to welcome the pain of problems.

Most of us are not so wise. Fearing the pain involved, almost all of us, to a greater or lesser degree, attempt to avoid problems. We procrastinate, hoping that they will go away. We ignore them, forget them, pretend they do not exist. We attempt to skirt around problems rather than meet them head on. We attempt to get out of them rather than suffer through them.

But let us teach ourselves and our children the necessity for suffering and the value thereof, the need to face problems directly and to experience the pain involved. Discipline is the basic set of tools that we require to solve life's problems, and these tools are basically techniques of suffering: Means by which we experience the pain of problems in such a way as to work them through and solve them successfully, learning and growing in the process.

When we teach ourselves and our children discipline, we are teaching them and ourselves how to suffer and also how to grow. We are teaching them and ourselves how to schedule the pain and pleasure of life in such a way as to enhance the pleasure by meeting and experiencing the pain first and getting it over with. This is called delayed gratification and it's one of the tools, techniques of suffering, means of experiencing the pain of problems constructively, that we call discipline.

The tools of discipline are four:

* delaying of gratification
* acceptance of responsibility
* dedication to truth, and
* balancing

Perhaps the first three are more or less obvious to you, so let me mention here what balancing is.

The exercise of discipline is not only a demanding but also a complex task, requiring both flexibility and judgment. Courageous people must continually push themselves to be completely honest, yet must also possess the capacity to withhold the whole truth when appropriate. To be free people, we must assume total responsibility for ourselves, but in doing so we must possess the capacity to reject responsibility that is not truly ours. To be organized and efficient, to live wisely, we must daily delay gratification and keep an eye on the future; yet to live joyously we must also possess the capacity, when it is not destructive, to live in the present and act spontaneously. In other words, discipline itself must be disciplined. This kind of meta-discipline is what we call balancing. It is the type of discipline required to discipline discipline. It is the kind of discipline that gives us flexibility.

Since you are taking A201, A597, or I210, it may be that you want, or need to, learn Java - and programming in general. Since this is a first experience for you I deeply hope it will come easy to you, but be prepared that it may not. In fact it really won't be easy at all, unless you approach it with patience, perseverence and determination. If you treat it superficially it will be downright difficult from the beginning, and will continue to be that way until the very end, no matter how much we'll try to make it easy or understandable or obvious or intuitive or immediate or easy to grasp.

But you can help, and I am sure you will.

Because there is some risk involved, I wish you luck. And because the act of entering programming as a beginner and a non-major is basically an act of courage, you have my admiration. The difficulty in learning programming has two clearly identifiable components. 75% of it is of a very genuine mathematical nature. The other half is psychological. You'll need to bridge the two.

And don't you forget it: no matter what happens, you're simply the best!

Should someone fail to see this evidence, with patience prove it beyond any conceivable doubt.

Friday, June 16, 2006

Similarity b/w Life & Execution of Software

There are many similarities between software. Sometimes it goes in sequential manner as software, sometime it goes object oriented. Life calls many function like in day to day life.
Execution of life starts from birth. Birth is like a main method of life. It initializes many variables of life like sorrows, happiness, joy, emotion and changing these values throughout life. Life has one very important variable is character of person, which changed according to environment of living. Other variable of life also changing due to conditions (inputs to life).
There are some constants in life also as programs that can’t be change like body shape, color. So we have to give importance on variables, so that we can become a good human being.
Functions of life are day to day works which is done by us through out the life. These functions also change the life’s variables. Sometime friend functions also affect the variables. Sometime other function and malicious function can affect the life’s variables. They can give happiness or sorrows.
In life, there are many times we have conditions like if else statements of program, which are also depends upon inputs and variables of life.
Some times we can find our self in loops. For example, going to school and offices make loop. In childhood from nursery to till our study ends, one times of execution end when we are in new class.
Sometime there are break statements in loop and sometimes there are continue statement. Sometimes we find our self in infinite loop.
Some time we have options like switch statements, among which we have to choose one. Which can depends upon the values of life variables. For example after completing engineering we have many option like admission in M.Tech, MBA, job in reputed company etc. Some time we execute default statements like a normal person.
So in this way we execute our whole life and one day, we end our execution of life, after executing all statements of life, calling all function, going through all if else statements and loops as program ends.