VB (and other .NET languages) require this in order to specify the real type that is assigned to the variable. Since, because of object orientation, it's possible to assign a different type than the type of the variable, you need to be explicit. E.g. this would work as well:
Dim myCalculator As Object = New Calculator()
However, from that point on, myCalculator behaves as an Object unless you cast it back to a calculator.
As explained in the book,
VB supports a short hand syntax:
Dim myCalculator As New Calculator()
This is functionally equivalent.
Hope this helps,
Imar