Thursday, 27 August 2015

C# - Overview

As we know C# was developed together with .Net framework most of them refer this C# language as .Net language. This C# language is designed in the way that it is simple, easy and type safe. It acquires most of the concepts of the other high level language. It mainly supports Object oriented programming concepts. We should bother about memory leaks particularly in this language. It has a rich class library with many classes, methods and many functions that can be implemented easily. If you need to run your application with C# language that platform should particularly have .Net framework in that platform. It also has a good support of distributed systems. It also supports reusable concepts. This language is used to write programs for many different kind of applications like Windows desktop applications, Windows store applications, Web service and many more.



Some of the features of C# are

Security is the main feature which was implemented in this C# language by Microsoft. The concepts of delegates also implemented.
Backward Compatibility is very good in C#. It supports the windows applications in the cross platform portability
Programming support  with respect to C# is high compared to other languages. It supports the wide concepts from most of the programming languages.
C# can be used to write wide range of applications due to their portability, from simple desktop widgets to high end web service. We can also write applications with respect to secure systems programming and even robotics.

So we have most of the features in other languages but why should we prefer C# rather than other languages. 


  • Mainly when we work with Windows platform applications we should particularly choose this C# language while it has the rich libraries particularly when we develop applications with respect to Windows.
  • Even we have other programming languages like VB.Net similar to this. But C# is more compatible compared to this language.
  • Once while we begin to understand programming and using this C#, the learning procedure with c# will be much shorter compared to other languages.
  • We can say C# is a loose language while compared to VB.Net
  • We use delegates in C#, encapsulated signatures which enables type safe.
  • It supports all the concepts of Object Oriented Concepts like inheritance, polymorphism, encapsulation.

C# is more powerful language compared to Java. The code written in Java can be written easily in C# and many features such as linq, lambda is impossible in Java. And we also know that C# language is type safe. It is easy to write programs compared to Java. Most of the features were covered in C# with respect to Java and it is easy compared to Java to access the most of the features. Even C# language also face some problems. It should be particularly executed if and only if the operating system installed with .Net framework

Wednesday, 26 August 2015

Intro to Visual Studio

We discussed many concepts about .Net framework. With Common language runtime, base class libraries and many other concepts. You can also refer the official website of Microsoft in order to have a good and full knowledge about this .Net technology. To get the full details of the .Net technology please click here. You can also download the latest version of Visual Studio 2015 Community. To download the freeware of Visual Studio 2015 just click here.

We can implement these Microsoft languages in Visual Studio. It is the Integrated development environment for Microsoft. By using this tool we can work on different kinds of applications such as Windows store applications, Windows phone applications, Windows form applications nothing but our windows desktop applications, web applications, WPF applications etc. We can develop all these applications by using this particular development tool. We should install this Visual Studio tool into our PC. So to access this particular tool we need some requirements for our computer. Our computer should be configured with more than 1 GB of RAM and minimum of 20 GB of space. We can get freeware of this tool in official Microsoft account.


So let us start how to code using this .Net framework. Microsoft designed many languages to use them in the programming. Most of the familiar languages used in .Net world are C#, VB.Net, F#, ASP.Net etc.

We choose C# language in order to program using this Visual Studio 2013. So in order to code in this Visual Studio we should need a basic knowledge of programming concepts. C# language is a combination of both C and C++. It is type safe. It follows the concepts of object oriented programming. It is mainly designed to be simple, general purpose and easy access of the classes. It borrows most of the concepts of other programming language and designed in a simple way. Programs written in C# requires .Net framework to be installed in the computer where you execute the code.  Sometimes C# is referred as .Net language because both C# and .Net framework were designed together.

C# can be written with any text editor, like Windows Notepad, and these programs can be compiled with the help of  C# Command line compiler, csc.exe, which comes with the .NET framework. Most people uses an IDE (Integrated Development Environment)Visual Studio which can be used to work on every application with respect to .Net framework. With the help this C# programming we can develop different kinds of applications like client server applications, web applications, desktop applications, database applications and much more.

Tuesday, 25 August 2015

Overview of .Net(1)

As we know common language run time is mainly used to execute the the programs written in high level language to Microsoft intermediate language. Before compiling the code in to machine code they are compiled to this Intermediate Language (MSIL). CLR accepts the IL code and re compiles it to machine code. This is done with the help of Jest in time compiler.  The recompilation is just-in-time (JIT)nothing but it is done as soon as a function is called. CLR also consist of many additional benefits that are discussed in our previous blog. You can also refer the below link in order to get the full knowledge about Common language runtime. To know about common language run time click here 


In the above image we can see how the program is executed with the help of common language runtime. First it converts to IL code and then it converts to native code nothing but machine code

The .Net Framework consist of classes, interfaces, and value type that provide access to system functionality.In Microsoft .NET library, all class (types) are grouped in namespaces. A namespace is a grouping of similar kinds of classes. In C we can see header files similar to this namespaces.  This classes enables us to perform some operations. All .NET languages can use these language classes. This enables the programmers to choose the language and tools that suit to our program. This code also can be reused. 

For example if you need to access the media elements such as audio, video we need particular namespace regarding this media. If we need to access system files we need particular namespace with respect to the system files. In this way specific namespace is used to access specific types. In the below image we can see some of the namespaces with respect to the type of applications. System is the main namespace with the collection of many classes

                 

In this .Net framework we also consist of many languages. Additionally, the .Net Framework also provides security on code, this is called as code access security. Code access security also provides a high security of securing the assemblies from malicious attacks. ADO.Net is a collection of classes, structures, and interfaces that manage the data access for different databases. A database can be a spreadsheet, SQL, oracle etc. In database we can add tables. We can edit them, update, delete the database tables. 

Monday, 24 August 2015

Overview of .Net

Mainly when we discuss about .Net framework we should stress some context. It is a set of multiple languages used for developing and creating components or projects to create Web Forms, Web services, and Windows applications. Windows applications can be store applications and desktop applications.

Net is based on open Internet standards, which include Hypertext Transfer Protocol (HTTP), Extensible Markup Language (XML), and Simple Object Access Protocol (SOAP).  .Net framework was build up with some components. It uses IDE(Integrated development environment) Visual studio development tool in order to develop applications. It is used to create, build, deploy and operate web services and applications. This tool has been updated since the release of .Net launched. At present we can find Visual studio 2015 in market. Microsoft also consist of their own enterprise servers.which are mainly used to manage, update and operate XML web services and windows applications. This is done with the help of Microsoft SQL server. 

                     

The architecture of .Net  framework consist of 

  • Common language runtime
  • Framework class libraries
  • Support for different programming languages
  • Support for programming libraries developed in different languages


Common language runtime is the heart of .Net framework. With out CLR we cannot execute our code. It is responsible for many functionalities. This common language runtime is mainly used to execute our program and the code which is executed by common language language runtime is called as managed code. The code which is executed directly on operating system is called as unmanaged code. There are many benefits of common language runtime. Some of them are listed below

  • Automatic memory management
  • Garbage collector
  • Exception handling
  • Microsoft intermediate language(MSIL)
  • JIT compiler
  • Multiple language support
  • Security
  • Strong type checking
  • Side by side execution of multiple assemblies

These are some of the advantages of common language runtime. This common language runtime converts our programming code in to Microsoft intermediate language and then it is converted in to the machine code. 







Saturday, 22 August 2015

Intro to .Net


.Net is not a language. It’s a technology. .Net is a collection of multiple languages and Microsoft framed them in to one platform in order to develop, build and deploy applications and web services. .NET is a platform that runs on the operating system.  Microsoft developed this .Net technology in order to solve some of the problems in programming world. The main vision of .Net is to create a good and strong security firewall in web services and other applications. A new programming platform to develop and build applications. To increase the robustness for the desktop applications. The version of .NET framework launched with Visual Studio .NET 2003 version 1.1.

                    

Around 1995, Java was launched with a big event very grandly while it made a revolution in the programming world and software development. Java was developed by Sun micro systems. They came up with new concepts and new approach where the burden and trouble with programming decreased. In the same way Microsoft launched .Net technology to overcome the issues in the programming world. Even the best of Java developer community were from Microsoft. Today .Net is widely used in most of the devices because of the strong framework. With .Net Microsoft made lot of things easy compared to the previous technologies, even compared to Java. 

Previously we had only the developers with respect to particular language. Finding an individual who has knowledge in multiple languages was very rare. With the revolution of Java language all the developers needed to know this single language. In this way Java made a revolution in programming. .Net came up with the some advantages compared to the other programming languages to build a strong layout in programming world. 

The development of .Net began in 1998. Microsoft released the initial versions of .Net but they were not stable. Many bugs and errors were found and they finalized in December 2001. They launched .Net version in Feb 2002. Till now Microsoft upgrading the .Net versions. Recently .Net version 4.6 has released.

                          

The advantages of this .Net technology are multi platform applications, automatic resource management, platform independent, strong web connectivity and web services, supports object oriented programming concepts, it is simple and easy to deploy an application. As security is an essential part of .NET, it provides security support, such as 
  • Code authenticity check
  • Resources access authorizations
  • Declarative and imperative security
  • Cryptographic security methods for embedding into the user’s application.



Tuesday, 18 August 2015

Introduction to programming world

We discussed about some of the concepts of computer and who the programs execute in different ways. We also learnt about the different types of programmers. So a program is nothing but set of instructions to the computer that tells how to work. There are many programming languages discovered so far. Some of them are C, C++, Java, python, etc. They were designed with specific rules and regulations. They follow some contextual syntax and every programming language has its own grammar. Those implementations are already predefined by the people. We should only get some knowledge where to apply and how to apply. Most of the programming languages are similar, it only differs in the features. Some programming languages have more features and some have less features but the main theme of the programming language is to instruct the computer and should generate output in order to build some applications.

Now let us enter into programming world with some concepts and some coding part.
In this computing world we can see many high level languages in order to build some applications and use it in the devices. But we should select a language in order to have all the features and it should be supported for various aspects. In the early stage of programming languages we were supposed to be familiar with only few languages. Some of them are C, Pascal etc. After few years some people from one organization implemented one programming language. That programming language has all the features and it is reliable. Name of that programming language is Java, developed by Sun micro systems.

Java is a programming language with many features. It follows the object oriented programming concepts. It is portable. i.e. platform independent. With the help of Java virtual machine we can say Java is a platform independent language. It is robust and more reliable than another languages. Java consist of many editions in order to develop different kinds of web services and applications. But cannot implement the whole projects within a single tool or within a single service. It follows the rules and regulations which tends to the good programming language. Not only Java there are many other programming languages which were built to be robust and reliable.


In our world we can see different kinds of people follow and develop programs with the help of different programming languages. They choose their own particular language and they code with respect to one language. Some of them choose Java, some choose C, and some choose Python. That depends upon their interest. It is not mandatory to develop applications or programs particularly in one language. But choosing language with more features and strong concepts leads a developers to build good and better applications

Monday, 17 August 2015

Intro to Computing(2)

So programs are used to communicate with computers and translators are used to execute the programs. These operations should be performed in our computer. But we require a media to perform this task. So operating system is the media which is used to perform all these task. In market many companies introduced operating systems to process the task. Windows, Linux, Mac operating systems were very familiar with us. Microsoft introduced Windows and it has the best user interface. The people can easily access the Windows operating system. This operating system is also called as platform. The program execution is done in operating system. We know there are many high level languages which can be executed in our operating system. Some of them are platform independent and some of them are platform dependent.

                                     

What is platform independent and platform dependent?
Simple, we know platform is nothing but it is used for developing and executing some applications or programs. The programs which can be executed in any operating system is called as platform independent. We are familiar with Java. It is platform independent. With the help of Java virtual machine the code can be executed in any operating system. The best example of platform dependent is C language. We cannot copy and execute the code compiled in one operating system to the other operating system so C language is called as platform dependent.
In order to reuse the code the programming language should be platform independent. There are many languages which are platform independent 

There are different kinds of programmers.
System programmers
Application programmers

This system programmers directly write the code to interact with the operating system. They also program for device drivers. Device drivers are nothing but the code written for the device drivers directly interact with the hardware components of the computer
For example : A computer consist of a mouse. To access the mouse after connecting it to Computer we should install some software to run the mouse this software is nothing but the driver software with respect to mouse.
The application programmers deals with the desktop applications and with the help of some development tools  the programmers develop application software. Some of the desktop applications we use regularly are Microsoft office, Notepad, paint etc  

Sunday, 16 August 2015

Intro to Computing(1)

In previous blog we discussed about the description of computers and how the computer works. We came to know that the computers can only understand the machine level language. With the help of translators the user defined language is converted into machine level language. The computer processes the inputs after converting this language in to machine level language and then it gives the output. This output is again converted from machine level language in to human understandable language. In this way we send and receive our instructions to the computer. 

Actually we can raise a question in our mind. Is this translators necessary?

Yes, to convert the machine level language to human understandable language we require a translator. This is similar to a book in many languages. With a same author we can see the books in many languages. This is because a person in USA can only read English and similarly a person in France can only read a french book. The person in France cannot read English book. In order to read the book it should be in french language. So the author converts the books in to different languages. So with the help of translation the whole world can read his book.

There are two types of translators in programming world
1. Compilers
2. Interpreters

Both translates the high level language in to machine level language and vice versa. But they vary in procedure. Please go through to this video for detail description of compilers and interpreters

This video is an extract from Bits and Bytes (You tube)

                               

Compilers analyze the whole code and it executes the code directly in to the machine level language. if it finds any errors in the code it rollbacks to the code. With out any syntactic and semantic error it executes the code.

Interpreters executes the code in step by step procedure. If it finds any error in the code then after solving the issue it completes the execution. Interpreters convert the high level language in to intermediate form. This intermediate form can also be called as a byte code.  

Thursday, 13 August 2015

Intro to Computing

In the olden days the calculations and logical operations were done with the help of a machine named computer. It was invented by Charles Babbage. With the help of circuits and ports the execution of the task were handled by the people. The computer when invented was very big. It was embedded in a room with many wires and it took wide area in room. Scientist experimented the computer with the help of circuits and ports. We already know that the computer can only understand Binary language. i.e 0's and 1's. We can also call this language as Assembly language or low level language. The input given to the machine converted in to machine level language and it is then translated to the human understandable language by the computer and then output was generated. This procedure was done with the help of circuits and ports in olden days. This can be explained with an example

In olden days Computer in a room 

If we instruct some set of rules or instructions to the computer. This machine takes the whole instructions and the task would be divided in to step by step modules. It verifes or checks the step by step procedure and generates the result. This can be done with the help of binary language nothing but boo lean language. Every instruction from the user will be particularly converted in to binary language, if the result satisfies it returns true if not it returns false. Nothing but 0's and 1's. In this way the whole instructions will be translated in to machine level language and then to user understandable language.


So set of instructions were managed with the help of translating the languages. Step by step procedure is nothing but a process. The whole instructions executed can be said as process. This process can be done with the help of a chip in this computers. Without this chip we cannot undergo process. This chip is called as processor in terms of computers. The processors are the heart of CPU.

Processor from Intel

In the modern computing with the help of programs the user instructs the computer. The programs are the set of instructions that tells the computer to do various things. This is similar to a recipe that tells how to make a food item. This programs are introduced by the people to communicate and interact with the computers. With the help of translators we communicate with the computers.