Wednesday, December 2, 2009

Learning A Programing Language

Learning a Programing Language

As you know a computer programmer uses a programing language to write his program through which he makes the computer to perform his task.Almost all kinds of program whether application program or system program from any domain can be developed using a single programming language.But in real time when we develop software we get a lot of constraints like:- product delivery time,efficiency,user interface,memory and other resource requirements.When we want our computer to perform our task in these kind of constraints,we have to design and develop the software accordingly and then the idea of using a single programing language for all kinds of application gets crashed.So it is wise to use a suitable programing language according to the product that we want to develop.Thus knowing several programing languages is very good thing.I felt this thing when I came across different kinds of application and so through this post I want to share my experience in programming for the very same purpose of learning any programing language very quickly.

1.Be ready with a fundamental language:-In general any new high language that you come across is an enhancement of some preexisting language.For example:-
C >> C++ >>Java
C++ >> C#
Thus if you know C language then you can learn C++,Java,C# at very fast pace.I would say that if you know C or C++ then it is very easy to learn any language and that too very fast.

2.Get overview of new language:-To learn any new language first you should get overview of the new language through
which you will be able to know the main features of the language.If you are ready with basic then getting overview of the language should not take more than 5-6 days(considering around 2-3 hours a day).You may take more time but keep in mind that this overview means you must be able to answer some questions about language like:-

What are the new and specific features?
What is style of programing like procedural,Object oriented or both?
What are the security and other features that makes the program unique?
How using this language you can develop product very fast?
For what kind of products this language will be best suited?

If you are able to answer above kind of questions very well then you will be able to use this language appropriately to develop efficient products.

3.Get in-hand experience of the language:-If you are ready with basic knowledge of language then you know what are the features in this language that you should use to develop a product.To get an in-hand experience of these features you should take an appropriate application and try to develop this using these features.While selecting the application you should keep in mind that your purpose of developing this product is to use maximum features available in the language.So selection of this application is very important.For the selection of this application you should keep some points in mind like:-
1)For C take, some simple programs and try to play with operating system through them.
2)For C++ take, a real time system application which may be a bit complex.
3)For Visual C++ take, system application which requires some GUI.
4)For J2EE and ASP.NET, take simple web application and try to use features like security,tag & other libraries,session handling etc.
5)For J2SE and C# take simple desktop application with rich GUI.
6)For languages like FLASH and JAVAFX take application which uses some animations.
7)For languages like Javascript and AJAX,take simple web application and try to create an interactive environment between user and web pages.
8)For SQL,PL/SQL you should take test databases and try to use DDL,DML and DCL.These exercises will help you to interact with database in an efficient way.

If through this application you are able to feel the utility of the language then your job is almost done.Now you are acquainted with basic features of the language.So in real time when you come across any kind of application you will easily figure out,"whether for this application I should use this language or not?".

4.Naive to Proficient:-
Proficiency comes from practice.As you develop more and more applications you will get deep understanding of the language.


(Note:-Whatever I have mentioned here, are not hard and fast rules.This is my experience from which I have figured out these points.Please do provide the feedback ,so that in future I can come with some better content.)

Friday, November 27, 2009

My Experience With Education

From some days I was planing to write blog but due to my laziness and exam kind of stuffs I couldn't make it.
But,now 7th semester exam is over and I am almost free from any kind of project etc. So today I am going to write my a blog.Through this blog I want to share my experience from the environment from which I started the very initial phase of my current life.

My Village (Malgaon) :Ground of My Inception

Well I belong to a middle class family from this village in the state of Rajasthan.My family background is agricultural and this has been the main source of earning for my family.I have three siblings and I am youngest among them.Like all other my friends I started helping my family in fields before the starting of my education.
Around at the age of 6-7 years I was admitted in the school of my village.After the admission a typical day in my life was like this:-

First I was to attend the school and when it was over I used to go to fields to help my parents or grazing animals or protecting fields from animals likewise.
After sunset I used to return back home with my parents.During early days, due to fatigue just after taking dinner I used to go to sleep like others.But I was scolded and sometimes beaten by teachers due to non-completion of my home-work.So I started to study after the dinner just to finish that home work.

This kind of routine life continued till I was in class 8th.One day it was a holiday and I was sitting alone under a tree and protecting fields from animals.Then I don't how but I got stuck in some questions in mind like:- "what am I doing ? Am I going to live like this whole of my life ? Will my life be just limited to these fields and village ?".It's not like I used to hate my life or my village.I used to love my family and my village.My familiy was providing me education.In village I was having good time with my friends. But on that day I thought of going beyond that life.I was having only one answer to these questions and that was:-"I am just following the same path that others use to do.One day I will become a good farmer.Then my children will start from where I started and they will go on this same path and so on".Now you see this answer was itself a question for me and that was:- "How to change this path?". I thought about answer to this and as you might have guessed, my answer was "Education". I thought that I will get good education and I will earn good money and then there won't be any problem at all.

So that day I will say was the day that changed my life.From that day I started studying for more hours and instead of just limiting myself to competition of my home-work I started studying to get good marks in exam.For that I left no-stone unturned.Some days when I used to be with my brother in fields during nights,I used to carry the book and read using lamp.Due to my intense desire I got 91% marks in 8th class and topped my block.Impressed by that Head Master of the school helped me in filling a form for scholarship exam called "Gramin Pratibha Khoj Pareeksha".I got 2nd rank in my district as well as an amount of Rs 10,000/- as scholarship.Initially my parents were planing that now you are done with education and just concentrate in agriculture. But that result helped me in convincing my parents to go for more studies.There is small city close to my village.I took admission in one school.I passed my class 10th with 87%marks.Likewise I used to get support from my parents, I kept my studies going and now I am in 4th year of BTech course in Computer science &engineering.

This is how I have carried my educational life.