There's pros and cons for both.
I like all variable declarations starting with the same word as it makes the code clearer at first glance:
Lots of code Dim name as String Dim age as Integer Lots more code vs Lots of code String name; Integer age; Lots more code
But, as you said, creation assigning is a pig in VB:
Dim age as Integer: age = 14 vs int age = 21;
This is one of the reasons I like Go:
var age int = 21
Edited by Plan9 - 1/21/13 at 7:23am