Visual Basic Family Compared to ViviFire

ViviFire shares many features with Visual Basic and VB.NET. This document describes a few aspects that should make learning VF easier.

Comparisons of features

Feature equivalence

FeatureSharedDifferent
Arithmetic operators +, -, *, /, Mod, ^ Lacks \
Assignment operators &=, +=, -=, *=, /= Lacks \= and ^=; <<=SHL=, >>=SHR=
Call Mostly alike
Comparison Operators Mostly alike
Const Mostly alike
Do...Loop Mostly alike
Exit Mostly alike Lacks “Exit Select
For Mostly alike Lacks “Next
If...Then...Else Mostly alike ElseIfElse If
Logical operators And, Or, Xor AndAlsoAnd Then, OrElseOr Else
ReDim Mostly alike Lacks Preserve
Return Mostly alike
Select...Case Mostly alike Is is required in comparisons
Throw Mostly alike
Try...Catch...Finally Mostly alike Lacks Catch...When
While Mostly alike Lacks Wend

Simple translations

The following table lists elements of VB that exist under a different name:

In VBIn ViviFire
<< and >>SHL and SHR
InheritsIs (Class)
Is and IsNotIs
Me and MyBase#Self and #Base
MustInherit and MustOverride@Abstract
Overridable and Overrides@Open and @Override
RaiseEventCall Event
ReadOnly and WriteOnly@ReadOnly and @WriteOnly (Property)
Shared and Static@Shared

Data types

In VBIn ViviFireIn VBIn ViviFire
BooleanBooleanStringString
SByteInt8ByteUInt8
ShortInt16UShortUInt16
IntegerInt32UIntegerUInt32
LongInt64ULongUInt64
DateDateTimeDecimalFixed128
SingleReal32DoubleReal64

ViviFire also has Int, UInt, Int128, UInt128, Fixed64, Real, and Real128.

Similar features

In VBIn ViviFire
DelegateEvent statement
HandlesHandles (Sub Statement)
If()Conditional Operator
Implements (Class)Does (Class Statement)
InterfaceTrait Statement
ModuleProgram and Library modules
NewNew Statement
Nothing#Null
StructureStruct Statement
TypeOf...IsIs Operator

Unsupported features