You are on page 1of 8

Surname: 1

Name:
Instructors Name:
Course Details:
Date of Submission:
1. Critically compare different types of Net framework architectures
The NET Framework is a new environment for execution for the Windows Programs. It is
an optional upgrade for windows after Windows 95; these are Windows 98, NT 4.0, Millennium
Edition, Windows 2000 as well as Windows XP. NET Frameworks can be distributed in there
forms, including the NET Framework Redistributable package which contains all the necessities
for running any programs that lie under the NET Framework, the NET framework SDK and the
Visual Studio NET. The applications formed by NET are controlled by it and run inside it.
The NET Framework consists of two main components, which are a Common language
runtime and a NET class library. The Common Language runtime (CLR) runs all the programs in
NET. This component is responsible for providing services like thread management as well as
memory management. The programs that run here do not need to manage memory since this is
already settled and done by the CLR. The NET Class Library has many classes that perform all
the operations, whether important or not so important. The NET Class Library is object oriented
and provides more than 5000 classes that perform almost any functions given to them. This
library is similar and common for all the application types, meaning that different types of
applications are able to use the same type of NET Class Library.
2. Critically evaluate the components that support the .Net framework

Surname: 2
Microsoft NET Framework has several design features, which helps the users to gain a
better understanding of the Framework. For instance, the Framework is interoperable in that it
provides an access to COM components hat are in the System. Among the most common features
of NET are the assemblies. An assembly can be either a DDL or an EXE, which forms part of an
application. It has MSIL codes executed by the CLR. Each assembly contains a version of its
own and it is where permissions are given. The Assembly has four parts which are the Assembly
Manifest, the Type metadata, the MSIL and the Resources. All these components are important in
the formation of the assembly. An assembly, which contains the resources, only is known as the
Satellite assembly.
The NET Frameworks also contain Common Type Systems (CTS). The CTS has the
function of specifying the rules linked to the types of data that the languages are to follow. The
data types in all the languages should be convertible to a standard data type. The Common type
system is a section of the cross-language integration, which allows for the classes written in a
particular language and can either be used or expanded by any other language.
Another distinctive characteristic of the NET Framework is the presence of a Common
runtime Engine. This is the major design feature of the Microsoft NET Framework. It is a vital
and virtual machine component or feature of the NET Framework. Language independence is
another feature of the NET Framework. This feature enables the framework to be language
independent. It defines all the data types and the programming constructs, with the help of the
CLR and the way in which they may not or may be interacting with one another, in compliance
with the Common language Infrastructure standards.

Surname: 3
The other feature of the NET Framework is its portability. Its design allows it be
theoretically platform agnostic, and therefore making it cross platform acceptable. The
implementations of the Microsoft concerning the CLR and the base class libraries are formed in
such a way that they can only operate under Microsoft Windows. A mono project can offer a
cross platform implementation, and this can run on both the Windows, i.e. Windows/ PC and
UNIX/ Linux. However, this is acceptable until NET 2.0. This makes it compatible from very
many differing platforms. This feature creates a way for the third parties to formulate attuned
implementations of the framework as well as its languages on other platforms, which are not
necessarily Microsoft. Another feature is security, in that the design is supposed to take care of
the vulnerabilities, which include buffer overflows subjugated by malevolent soft wares. NET
Framework provides a universal security model for the applications.
The NET Framework types for the basis in which Net controls, applications and
components are made up. The NET Framework consists of types that perform different
functions. For instance, they represent the base data types and their exceptions, they perform I/O,
they can access the information about the loaded types, they activate and invoke the NET
Framework security checks as well as provide access to data, rich client side GUI and the client
side GUI that is server controlled.
The NET Framework contains two major components, which are the common language
runtime (CLR) as well as the NET Framework class library. The CLR is the stronghold of the
NET Framework as it acts as the managing agent for the code at the time of execution. It
provides core services like management of memory, thread management as well as remoting. It
also enforces strict type safety. The code that runs under the CLR is known as the Managed

Surname: 4
Code. When the programs are in need of memory, the CLR distributes the memory for the scope
and de allocates the memory if the scope is whole.
The class library on the other hand is an important component of .NET Framework. It
consists of object-oriented collection of types that are reusable and can be used in the
development of the applications ranging from the traditional line of command or as other GUI
applications like the Windows Forms, ASP. Several kinds of applications that can use the .net
class library, and they include the Windows Application, Console Application, Web Application,
XML Web Services and the Windows Services. In other words, the developers only need to
import the .net Framework Class Library in their particular language codes then use its already
defined properties and methods to implement the complex and the common functions such as
database interaction, graphic rendering, reading and writing to file and finally XML document
manipulation. There are a few more other concepts that are needed in the understanding of the
.Net Framework, including the Common Type Systems, which describe asset of data types used
in the different .NE T languages
3. Write a discussion of the principles, characteristics and features of programming in Java.
Java is among the most popular languages in the software-programming field. It allows
the users of the computers to write code that can run on any of the platforms. The main reason
behind its success is the fact that it has a massive number of very important features that run the
program. One of these important features is its simplicity. Java is quite easy to understand as well
as to write. The programmer does not have to work using pointers and does not need to manage
its memory unambiguously. The reason for the elimination of the use of pointers is for security
purposes. The virtual machine that holds java software is able to handle the management of its

Surname: 5
memory and therefore automatically removes the occupied memory in the case that it is not
referenced any more.
The other important feature of java programming is the security. It is both robust and
secure making the applications reliable in very many different ways. The removal of the memory
pointers that cause the corruption of the memory, as well as any unwanted access to the present
memory makes it secure. The programs run inside a virtual machine sandbox. Java offers
compile time checking to identify the causes of bugs at an early stage. The code pathologies are
reduced through the bytecode verifier that checks the classes after stacking, the class loader that
confines the objects to different unique namespaces and the security manager that determines
whatsoever resources a class can access. These features makes the program secure.
It is easy to develop multithreaded applications by using synchronization as compared to
the rest of the programming languages. This means that the applications in java can perform
different tasks at the same time and this is very important since it saves time and provides
immediate and the real time responses. Multithreading is important in that it provides better
cooperative receptiveness as well as the actual time behaviors. Multithreading is also a good way
to prevent the java programs from locking up.
Java is object oriented in that there exists a number of languages like C++ and C, which
are not entirely object oriented. However, Java is purely an object-oriented language that follows
all of the guidelines of OOPs. Even the primitive data kinds can as well be treated like objects.
The basic unit in Java is the class. Being object oriented means that there is no coding outside of
the class descriptions. There is the availability of an extensive library class in the main language
packages.

Surname: 6
Java is portable. One only needs two steps to implement a Java program; these are the use
of the complier to translate the source code of a program it the Java bytecodes, which are
interpreted languages. The next step is to use the interpreter to execute the program. The source
code is first compiled to enable the computer to understand it before it is run as a program.
However, the executed program usually works on a certain platform like the Linux and the
Windows. The other noticeable characteristics of Java are that it is dynamic; it has a high
performance. The small programs of java are recorded in syntax that is the same as C + + and C.
therefore if the developer of the software decides to write an applet, the alteration should not take
that long.
Java is distributed in that it involves a number of computers working hand in hand on a
particular network. Java therefore has a design that makes the process of computing much easier.
Since the networking, ability is fundamentally incorporated into Java, making the writing of the
network programs to be like sending and receiving information to a file and from it. Another
characteristic is that it is integrated in that to run any Java Program, you need an interpreter. All
these programs are compiled into the bytecode, which is a virtual machine code for Java. Most of
the Java compilers with an inclusion of the C ++ interpret the programs in a higher-level
language to the machine code which only runs on the native machine. To run the programs in
other machines, it has to be recompiled on the instinctive appliance.
4. Critically evaluate the environmental flexibility of programming in Java.
Java, as mentioned earlier is a competitive program that has many uses. The diversity of
uses in performing various functions presents the program to be of great importance to the user.
The diversity gives an exemplary implication of how flexible the program is to its functions.

Surname: 7
Flexibility relates to the ability of the program to yield to influence. This requires the features
that can enable the program to adapt a new, diverse or dynamic requirement within the fixed
schedule. Within the context of programming, the design of the program has the capability of
exhibiting some flexibility in a case it can adapt to new, diverse or dynamic requirements.
Flexibility to any design is quite significant and it offers the design with space to develop and
cater for any requirement that changes in the development process. Meanwhile, the same would
be significant for the extra requirement, which developers may require in the future. Taking the
required amount of flexibility to a design is an essential part while designing, as it requires
human creativity. This flexibility type is called flexibility by design.
The process of designing may also require choices on the constructions that the developer
is creating. Consequently, the same may incorporate the building blocks that the user will be
using while developing the program. This means that the choice of the building blocks can
determine a certain part of the flexibility exhibited by the final product. Use of Java in
performing this exercise exposes various avenues, which define the capability and adaptability of
the program to the environment. This may be termed as flexibility by construction.
When the user wants to solve an issue using Java program, he may write some codes as
the solution. The programmer is responsible for designing the code, and the design is responsible
for determining the flexibility of the solution. In a situation where the code is packed in a single
function, then the developer can only apply it to solve certain problems. However, splitting the
solution into various sub-solutions to sub-problems, with the code splitting into many functions
will make individual codes to solve a sub-problem. The formed functions may be useful in
solving a similar sub-problem in other problems. Consequently, considering that the design of a
solution is the same, developing a sub-solution accessible renders them usable in solving other

Surname: 8
problems. This means that multiple functions have the capability of exhibiting extra flexibility
than a single function.
Flexibility of programming language relates to the unexpected ways through which the
developer can use in uttering the language. Flexibility in designing the program requires a source
code: modifying source code of a program that can adapt the design of the program. Flexibility
through constructions of the programming language like java defines the flexibility of the code.
It offers the capabilities for the code to use again without the modification of the source code.

You might also like