Can I use VB to program webparts in SharePoint?
Yes you can, you can find all documentation that is in C# in VB as well on MSDN, you can see a sample code in this MSDN article
Oh its not only WebParts you can use VB for as far as I know, if you can develop something in C# most likely you can develop it with VB too @ SharePoint.
Does programming with vb for windows application is similar to
programming for SharePoint?
If you mean similar by syntax then yes, however in SharePoint you will be interacting with SharePoint Objects more likely. for example check this code out.
Using oSiteCollection As New SPSite("http://Server_Name")
Using oWebsite As SPWeb = oSiteCollection.OpenWeb("Website_URL")
Using oWebsiteRoot As SPWeb = oSiteCollection.RootWeb
Above code is getting Root Web of a site collection so that you can interact with it, e.g. finding a list in it and adding an item to it or anything you want which sharepoint allows you, but make sure you will have right permissions.
Source : MSDN article
I can now access the SharePoint portal throw the browser. Should I
install SharePoint on my computer to program webparts for SharePoint
by visual studio?
I think best way will be to have your own SharePoint VPC with a backup copy of VHD so that you can build deploy test or break without effecting production server, we normally have 3 machines (well kind of servers) one for development which is just used for development and one for testing our changes by just deploying solutions and that and then last one is Live real SharePoint server that your clients or customers will be using.
Do you know any useful article could help me in learning programming
There are thousands of them, but I would recommend you to start from MSDN, here's the link to some good tutorial videos,
http://SharePoint 2010 Tutorial MSDN
Hope it helps.