Wednesday, September 1, 2010

.NET Training Facts

C# or VB.NET ? Which one to choose ?

As we mentioned in earlier chapters, it makes no much difference. Whether you write code in VB.NET or C#, when you compile, your code will get converted to MSIL (Microsoft Intermediate language). It is this MSIL which you deliver to your customer in the form of a DLL or EXE. The MSIL is executed by the same .NET framework, whether you wrote it originally in C# or VB.NET.

The MSIL generated by C# and VB.NET is almost 99% is the same! Many believe that C# has the power of C++ and VB.NET has the user friendliness of VB. That is not true. Both are equally powerfull and friendly.

VB.NET has backward compatibility with old Visual basic. So, it supports old vb functions. C# is a fresh, clean language. So strongly support using C# instead of VB.NET just for this clean compiler.

Many old VB guys usually like to stick with VB.NET and are kind of scared of C#. We are sure that you will not take more than few days to get familiar with C# syntax. This online tutorial is based on C# and all samples will be provided in C#.

Is it platform independent ?

Many people ask this question "Java is platform independent, what about .NET ?".

The answer is "Yes" and "No" !

The code you write is platform independent, because whatever you write is getting compiled into MSIL. There is no native code, which depends on your operating system or CPU. But when you execute the MSIL, the .NET framework in the target system will convert the MSIL into native platform code.

So, if you run your .NET exe in a WIndows machine, the .NET framework for Windows will convert it into Windows native code and execute. If you run your .NET application in Unix or Linux, the .NET framework for Unix/Linuxwill convert your code into Unix/Linux native code and execute. So, your code is purely platform independent and runs anywhere!

But wait, we said it wrong... there is no .NET framework for Unix or Linuxavailable now. Microsoft has written the .NET framework only for Windows. If you or some one else write a .NET framework for other platforms in future, your code will run there too. So, let us wait until someone write .NET framework for Linux before you run your .NET code in Linux.

Is it worth learning .NET ?

Are you sure you have a very good job now and your job is safe for next 10 years? Then, probably you don't need to waste your time to learn this new technology.

If you are not sure about the future of your job, better spend sometime and make sure you have fuel to run for next few years!

How long it will take to learn .NET ?

It all depends on how fast you can learn. If you are familiar with Visual Basic or C++, you can come to speed in .NET within 1-2 months. If you are a new to programming, we estimate 6 months will be a reasonable period to become comfortable with .NET world.

Future of .NET

Microsoft is moving all its technologies to be .NET based or .NET related. The next version of SQL Server even supports writing stored procedures in .NET languages. .NET runtime will be part of all Operating Systems by default.

In short, if you like to work on Microsoft technologies for programming, .NET would be the only choice you will have.


Summer Training 2010 Inquiry Form

Your Name
Your Email Address
Your Contact Number
Training Location
Technology Interested In
Image Verification
captcha
Please enter the text from the image:
[ Refresh Image ] [ What's This? ]

What is Visual Studio.NET ?



  • Many people always get confused with Visual Studio .NET (VS.NET) and .NET technology. VS.NET is just an editor, provided by Microsoft to help developers write .NET programs easily. VS.NET editor automatically generates lot of code, allows developers to drag and drop controls to a form, provide short cuts to compile and build the application etc.
    VS.NET is not a required thing to do .NET programming. You can simply use a notepad or any other simple editor to write your .NET code!!! And you can compile your .NET programs from the command prompt.

    Well, what I said is true theoretically.. but if you decide to use notepad for .NET programming, by the time you develop few sample applications, Microsoft would have introduced some other new technology and .NET would be outdated. You may not want that. So, let us go by VS.NET, just like every other .NET guys.


    .NET supported languages

    Currently .NET supports the following languages:
  • C#
  • VB.NET
  • C++
  • J#

  • The above languages are from Microsoft. Many third parties are writing compilers for other languages with .NET support.Difference between VB and VB.NETBelieve us, there is not much in common between VB and VB.NET other than the name. VB.NET is a totally new programming language. It just retains the syntax of old VB. So, if you are a vb programmer, probably you may like VB.NET than C# just because of the syntax.

    In addition to this, VB.NET still support many of the old VB functions just for backward compatibility. But if you are a serious .NET programmer, we strongly suggest never use old VB functions in VB.NET. So, switching from VB to VB.NET is just like learning a new programming language, with very small similarities between them.


  • What is Microsoft .NET?






    Microsoft .NET (pronounced “dot net”) is a software component that runs on the Windows operating system. .NET provides tools and libraries that enable developers to create Windows software much faster and easier. .NET benefits end-users by providing applications of higher capability, quality and security. The .NET Framework must be installed on a user’s PC to run .NET applications.

    This is how Microsoft describes it: “.NET is the Microsoft Web services strategy to connect information, people, systems, and devices through software. Integrated across the Microsoft platform, .NET technology provides the ability to quickly build, deploy, manage, and use connected, security-enhanced solutions with Web services. .NET-connected solutions enable businesses to integrate their systems more rapidly and in a more agile manner and help them realize the promise of information anytime, anywhere, on any device.”

    What is the .NET architecture?

    Microsoft .NET consists of four major components:

    • Common Language Specification (CLS)
    • Framework Class Library (FCL)
    • Common Language Runtime (CLR)
    • .NET Tools


    Common Language Specification (CLS)

    The CLS is a common platform that integrates code and components from multiple .NET programming languages. In other words, a .NET application can be written in multiple programming languages with no extra work by the developer (though converting code between languages can be tricky).

    .NET includes new object-oriented programming languages such as C#,Visual Basic .NET, J# (a Java clone) and Managed C++. These languages, plus other experimental languages like F#, all compile to the Common Language Specification and can work together in the same application.

    Framework Class Library (FCL)

    The FCL is a collection of over 7000 classes and data types that enable .NET applications to read and write files, access databases, process XML, display a graphical user interface, draw graphics, use Web services, etc. The FCL wraps much of the massive, complex Win32 API into more simple .NET objects that can be used by C# and other .NET programming languages.

    Common Language Runtime (CLR)

    The CLR is the execution engine for .NET applications and serves as the interface between .NET applications and the operating system. The CLR provides many services such as:

    • Loads and executes code
    • Converts intermediate language to native machine code
    • Separates processes and memory
    • Manages memory and objects
    • Enforces code and access security
    • Handles exceptions
    • Interfaces between managed code, COM objects, and DLLs
    • Provides type-checking
    • Provides code meta data (Reflection)
    • Provides profiling, debugging, etc.

    .NET Tools

    Visual Studio .NET is Microsoft’s flagship tool for developing Windows software. Visual Studio provides an integrated development environment (IDE) for developers to create standalone Windows applications, interactive Web sites, Web applications, and Web services running on any platform that supports .NET.

    In addition, there are many .NET Framework tools designed to help developers create, configure, deploy, manage and secure .NET applications and components.

    What is the history of .NET?

    .NET started as a classic Microsoft FUD operation. In the late 1990s, Microsoft had just successfully fought off a frontal assault on its market dominance by killing the Netscape Web browser with its free Internet Explorer. But Microsoft was facing a host of new challenges, including serious problems with COM, C++, DLL hell, the Web as a platform, security, and strong competition from Java, which was emerging as the go-to language for Web development.

    Microsoft started building .NET in the late 90s under the name “Next Generation Windows Services” (NGWS). Bill Gates described .NET as Microsoft’s answer to the “Phase 3 Internet environment, where the Internet becomes a platform in its own right, much like the PC has traditionally been… Instead of a world where Internet users are limited to reading information, largely one screen at a time, the Phase 3 Internet will unite multiple Web sites running on any device, and allow users to read, write and annotate them via speech, handwriting recognition and the like,” Gates said. We are certainly approaching that vision.

    Microsoft announced .NET to the world in June 2000 and released version 1.0 of the .NET framework in January 2002. Microsoft also labeledeverything .NET including briefly Office to demonstrate its commitment and dominance on this new thing called the Web. But out of that grand FUD campaign emerged the very capable and useful .NET development environment and framework for both the Web and Windows desktop.


    What are the benefits of .NET?

    .NET provides the best platform available today for delivering Windows software. .NET helps make software better, faster, cheaper, and more secure. .NET is not the only solution for developing Web software—Java on Linux is a serious alternative. But on the Windows desktop, .NET rules.

    For developers, .NET provides an integrated set of tools for building Web software and services and Windows desktop applications. .NET supports multiple programming languages and Service Oriented Architectures (SOA).

    For companies, .NET provides a stable, scalable and secure environment for software development. .NET can lower costs by speeding development and connecting systems, increase sales by giving employees access to the tools and information they need, and connect your business to customers, suppliers and partners.

    For end-users, .NET results in software that’s more reliable and secure and works on multiple devices including laptops, Smartphones and Pocket PCs.


    Why are you (this blog author) developing in .NET?

    The Mini-Tools developers were impressed with the Microsoft .NET technology and development platform and felt it provided the best environment with which to build and deliver innovative desktop and Web software for Windows. All of our software is written in C# for .NET on Windows.


    Why should I install .NET on my computer?

    Because many new software applications require .NET. Having the latest version already installed on your computer enables you run new .NET applications immediately as they become available.


    Which versions of .NET are available?

    The newest version available today is NET v3.0, but most PC users have v2.0 installed.

    Although .NET v3.0 is now available, Windows Update is not automatically installing it, hence few people have it. People who purchase new PCs with Windows Vista pre-installed will receive the latest .NET v3.0 but there may be some versioning issues. Microsoft released a beta version of .NET v3.5 in April 2007.

    Following are the production versions of .NET:

    Version NameVersion NumberRelease Date
    1.01.0.3705.02002-01-05
    1.0 SP11.0.3705.2092002-03-19
    1.0 SP21.0.3705.2882002-08-07
    1.0 SP31.0.3705.60182004-08-31
    1.11.1.4322.5732003-04-01
    1.1 SP11.1.4322.20322004-08-30
    2.02.0.50727.422005-11-07
    3.03.0.4506.302006-11-06


    How do I know if I already have .NET?

    We have queried your Web browser, and it tells us that you have the following .NET versions installed on your PC (note this only works for Internet Explorer):

    Another way to check if you have .NET:

    1. Click Start on your Windows desktop.
    2. Select Control Panel.
    3. Double-click Add or Remove Programs.
    4. When the Add/Remove window appears, scroll through the list of applications and try to find Microsoft .NET Framework. There you will see which versions of .NET are installed on your PC.


    Where can I get .NET?

    Microsoft .NET is available as a FREE download from Microsoft.


    Why is .NET separate from the Windows operating system?

    Another way to ask this question is, "Why doesn't Microsoft ensure every Windows PC has the latest version of .NET installed?" Since .NET is so important to Windows, and Microsoft delivers both .NET and Windows, why doesn't Microsoft simply make .NET part of Windows?

    Just my theory, but it probably stems from the Sun vs. Microsoft bad blood over Java. Sun and Microsoft got into a legal spat, Microsoft stopped shipping Java with Windows, and so now Java is a separate download for Windows users. As a result, perhaps Microsoft is wary of appearing monopolistic, hence they maintain the .NET Framework as a separate download too.

    Why is this a problem? Because it is a large file that must be downloaded and installed separately, naturally many people view .NET with suspicion or at least hesitation. And this provides an inconvenience and yet another barrier for a potential customer purchasing our .NET software. So here's my plea:

    Microsoft, please include the latest version of .NET as an automatic download to every Windows PC as part of the normal Windows Update process. Thank you.

    Will .NET cause problems on my computer?

    No. Once .NET is installed, you do not have to do anything to manage it, and .NET should not adversely affect the operation of your computer.