Wednesday 4 June 2014

Write Your name with ASCII code

main()
{
int i,m=0;
char a[50];
puts("Enter your name ::");
gets(a);
for (i=0;a[i]!='\0';i++)
{
printf("ASCII name =%d\n",a[i]);
m++;
}
printf("no of char in your name=%d",m);
}

Tuesday 3 June 2014

How to become a good programmer??

Work on BasicsAs it is true for any industry and any job, the conceptual understanding is the key for success. Unless one has strong conceptual foundation, he/she can never be a good programmer. The core conceptual understanding helps you in designing and implementing the best solutions in the best possible way. If still you feel gap in core computer science and your programming language specific concepts, it’s never too late to go back and review the basics.You learn more by helping othersMost of us have a common tendency of turning our heads towards forums or groups only when we need help. And again aclear separation between the good programmer and rest that the formers visit these places more often to help others. This makes them learn more then they learn getting their problem solved by someone else. Within a team as well, help others to solve their problems. Believe me, understanding others’ problem in their context, investigating on that and providing solutions; will leave you much more learned than before.Write simple, understandable but logical codeAs in almost every aspect of life, the formula of 'Keep it simple and short' works in programming as well. Write more logical code and avoid complexity. Sometimes people do write complex code just to prove their capability to write such codes. My experience says that simple but logical codes always works well, resulted in fewer issues and are more extendable. I remember an excellent quoteSpend more time in analyzing the problem, you’ll need less time to fix itSpend more time in understanding and analyzing theproblem and designing solutionsfor it. You will find the rest of thethings quite easily doable. Designing not always mean using modeling languages and tools, it can be as simple as looking at sky and thinking solution in your mind. Those who have habits of pressing keyboard (for coding) the moment get the problem, usually ended us something different than the requirement.Be the first to analyze and review your codeAlthough a bit difficult, but try to break your own code before others can and with the time youwill learn to write close-to-bug-free code. Always do a close andunbiased review of your code. Also never hesitate to take others view on your code. Working with good programmersand taking their feedbacks will surely help you become a good programmer.Don’t dismay yourself by looking at changing technology worldOver these periods in IT industry, I met with many people who are either disappointed by their work or even left it to search new job saying they want to learn and work in latest technologies. I don’t see any problem with this aspiration but the very first incorrect word is the ‘latest technologies’. What we are hearing everyday and mean here is new tools, APIs, frameworks and others means coming up everyday to make theprogramming easier and quicker. This anyway will continue in technology world. But what needs to be understood is that the core and basic technologies changes with much lesser pace than frameworks, tools and APIs around it. This is like the sea where the surface water moves very rapidly but the deep water is relatively calm and concentrated and most of the aqua lives survive here. So, feel yourself in that deep water and close to core technologies. For e.g. in Java enterprise world, lots of web frameworks exist and new ones coming every other week. But the core concepts of request based client-server communication, MVS pattern, filters/servlets/JSP, resource bundling, XML parsing etc remains same. So spend more time in learning these core concepts rather than worrying about ever changing frameworks and tools around it. Believe me, with the foundation of core concepts, you will alwaysfind easier to learn new frameworks, tools and APIs.Don’t work for longer timeMany times software programmers implement work around solutions (may be because of lack of time, lack of problem understanding or lack of technology experience). But over the period these work around solutions always resulted in corrupting the code, making it less extendible and maintainable and lot of wastage of time later on. Always prefer to implement when you know the in-out of the solution. I understand that it becomes unavoidable in some circumstances, but it’s like, one should speak truth always but you tell lie in some circumstances.Read documentationOne of the essential habits of good programmer is that they read lots of documentation. Mayit be specifications, JSR, API documents, tutorials etc. Reading documents helps you creating that essential foundation based on which you program in best of the way.Learn from others code as wellI interacted with some excellent programmers who actually havejava source project inside their IDE all the time and read/refer that in daily work. They do it not only to fulfill their appetite of knowing the basics but also to learn ways of writing good programs. Reading and referringreliable and known open source code or your senior’s code, can also help you making your programming better.Your comparison of yourself with others will only result in evolution of negative feelings and un-healthy competition. Everyone has got his or her strengths and weaknesses. It is more important that we understand ours and work on it. I have seen many times that so called ‘fundoo-programmers’ (fundamentally strong programmer) also make silly mistakes. So, analyze yourself, list down your areas of improvement and work on it. Programming is a real fun, enjoyit.