border: 1px solid #d2d2d2; padding: 0px 8px 0px 8px; color: #a19999; font-size: 12px; height: 25px; width: 165px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; margin:0px; } .submitbutton{ background:#F66303; border: 1px solid #F66303; text-shadow: 1px 1px 1px #333; box-shadow: 3px 3px 3px #666; font:bold 12px Arial, sans-serif; color: #fff; height: 25px; padding: 0 12px 0 12px; margin: 0 0 0 5px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; cursor:pointer;}

Receive all updates via Facebook. Just Click the Like Button Below

You can also receive Free Email Updates:

Powered By Blogger Widgets

Related Posts Plugin for WordPress, Blogger...

Sunday, April 24, 2011

How to Learn a Programming Language Effectively

Well these are just pro tips for the beginners that want to learn a programming language:


Never Move to Advanced Topics in the beginning.

Rome wasn't built in a day, remember everyone had to start at some point. If you want to learn a programming language you cannot directly move to advanced programs. Knowing the language isn't what number of programs you made, but how well you made them. You won't get any where if you move to advanced level topics without having your basics cleared.

What Language to Choose?

Personally I don't know which one is better for learning, C or VB.net. C has some good stuff that will surely increase your programming skills but since its not much of a gui language (unless you use window libraries), you won't get a clearer idea when to use what in programs. VB.net on the other hand is the most easiest programming language with the most user friendly gui. But it also has bad coding habits and some that make programmers lazy. VB.net is just knowing how to use the tons of classes and libraries that Microsoft has provided. C and C++ are learning how to make your own classes and using them. Of course you can make your own stuff in vb.net too but only the advanced stuff. In C and C++ like languages you are coding most of the things yourself.

Like in C program for reading a File, you are using arrays and loops to actually read from a FILE.
In VB you are just declaring filestream objects and telling them to read it for you.

If you are going for web development type programming PHP is what I would suggest. And some ASP.net. Asp is again like VB.net (using classes) and PHP is like C.



Learning the Basics.

Like I said before always learn the basics. Such as Syntaxes of the codes, try googling for tuts on the language you are learning. Most basic thing to remember is even if the Syntaxes of languages change the Logic remains the same.

Like in C you might need to work with a file, but in whatever language you work in you will need to open the file then close it.

In C You declare file pointers 

Code:
FILE *fp
fp = fopen("fileurl","filemode");
// Do your work;

fclose(fp);


In Vb you use FileStream object.

Code:
Dim fs as New FileStream("file.doc", FileMode.Create, FileAccess.Write)
Dim r as new StreamReader(fs)
'Do your work
r.close


The logic of opening the file remains same what changed is the syntax.



Never copy paste codes while learning.

This where most of the people fail at learning a language. Its ok to copy paste codes, everyone does it. BUT only when you are clear with what the code is doing. You can make your own "Sniffer" or own "Paint Program", but if you have just copy pasted codes from google, they really aren't your programs are they? Making cool programs with kickass gui will impress people, but you won't get anywhere with that. Its like lying to yourself that you know something, but you haven't really done any of it.

Best thing is keeping the reference code on a side, and typing the codes in your compiler yourself. If a problem occurs you can research more on it and in the process learn the language.



How should your apps look.

The GUI matters yes, users like user friendly gui. Too many options make your app look unprofessional in some cases. Too less options on the other hand make your client think you don't have enough skills. The best thing is to make app suitable for average users, not advanced and not too newbish.

The real beauty of your application lies in its working. If your gui is good from the outside but the app doesn't perform well or is buggy, it just says everything about your programming skills. 


How much time does it take, to become a pro?.

1 -2 years. In some languages like Advanced C++ (Directx Programming and all) 4 - 5 years. Really depends how much you practice and how much dedicated you are and what language you are learning.

When to say I know a language?

I've seen people who say they know the language but can do nothing without a "Hello World" program. ....And I've seen people who can code their own engines and still say "I'm still learning". Which type of programmer you want to be, depends on you. Good luck in your quest.

No comments:

Post a Comment

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More