Mainly subprogram is entry point for execution and shared is used to declare static method, this method can be called directly without class object creation. Module is similar to class, methods will be shares by default. Vb.net is purely object oriented programming language, where appöication development is not possible without class.
Internal things of memory blocks are called memory architecture. In this case compiler will allocate stock memory; it doesn't supports dynamic allocation and reallocation. Runtime will allocate heap memory, it supports dynamic allocations. Runtime (CLR) is handing garbage collector to perfume dynamic memory reallocation.
The conclusion of this part is Microsoft is providing certain types to place data on stack memory for better performance. Microsoft providing heap memory for better memory management. Vb.net can be classified 2 types that are value type and reference type. The type which will store data on stack is called value type. The type which will store data on heap memory and address on stack is called reference type.
There several problems with the procedural programming that are first one there is no security for data it means the data moving one developer to anther so that they cannot maintain security palaces. Second one there is no proper reusability, third one no better maintenance fourth one no proper approach for distributed technology. For avoid above problems we have solution that is object oriented programming
Vb.net supports all the principals; it is called object oriented software. And it supports data encapsulation in two ways one structures and class. These both are looking like similar but slightly difference. That differences are, structure is a value type (data is placed in a stack) class is a reference type (data is placed on heap). Structure doesn't support inherence and class supports inheritance. Structure provides better performance over class (Structure variable data will be placed on stack this provides foster processing).