PDA

View Full Version : .NET - Why?



ggs
08-14-2001, 10:52 AM
We've all argued about .NET, and C#, but we've never really discussed why we should use it, or why we shouldn't.

(looks around for the microsoft man to answer his questions)

Well Dean, *why* should I use .NET? WTF do I get out of it? Does it have real advantages, or is it just a ploy to grab more cash after stunning the people - er, consumers with big words?

Witch_King
08-14-2001, 11:01 AM
Give me a few hours and I'll come up with the best description I can. It seems that as I write this stuff it gets confusing very quickly. Come back later today, maybe even tonight because I have classes this afternoon, but I will try to post something that is organized and will make sense. .NET is more than just one idea and the description that I'll provide will be nowhere complete, but I'll give you a few reasons like you asked for.

nvoigt
08-14-2001, 03:10 PM
.NET is called a framework. A library, a huge one. Why
do we use libraries ? Because it makes life easier.
What is different between .NET and any other
library ? .NET is available for a huge number of
languages, VB, C++, C#, anything... maybe there's
even ASM.NET, just have a look around
www.microsoft.com :cool:

I can't tell you what part of .NET would be useful
for your task at hand, but if you aren't doing low
level C/Assembly programming, chances are good,
there will be some parts that fit your job nicely.


Watch out for Toaster.NET, the next generation
bread roasting device you can't be without :p

no-one
08-14-2001, 03:17 PM
>but if you aren't doing low
level C/Assembly programming, chances are good,
there will be some parts that fit your job nicely.

translation:

if execution speed is not important...
THEN .NETS FOR YOU!! the new hot java... .NET

Witch_King
08-14-2001, 05:36 PM
Well Dean, *why* should I use .NET? WTF do I get out of it? Does it have real advantages, or is it just a ploy to grab more cash after stunning the people - er, consumers with big words?


Alright, I did a few hours reading and I gather this:

.NET is a a service for BOTH ordinary people and businesses. For ordinary people it will allow them to protect their personal information (it offers a very high level of security) through a process called distributed computing. This means that there will be an interface where developers and more specifically businesses can access with their programs through the .NET class framework.

The framework works in an intermediate language so that many different languages can use these classes. The fact about C# is that it will have seemless integration, whereas other languages might not work seemlessly.

The reason why C# will be faster than JAVA, is that although they both form an intermediate language, JAVA byte code needs to be interpreted by the browser, yet C# intermediate language will further compile to system dependant code before it is executed. In other words, it will not have to be interpreted.

I think I'll write a full esay and post it here but I'll need a few weeks.

iain
08-14-2001, 05:41 PM
the .net website

www.net.net

Stoned_Coder
08-14-2001, 05:47 PM
Dean...

Don't you think that it may well be some time before .NET becomes properly useable......

It seems to me that microsoft has NEVER produced anything that worked properly first time. How many service packs and updates does the windows OS need?
What about MS office,word,excel etc. ?

Microsoft seem to be more into making money than making sure their code works properly before its released.

Do you really think .NET and MS visual studio 7 will be any different?

SilentStrike
08-14-2001, 05:50 PM
"The reason why C# will be faster than JAVA, is that although they both form an intermediate language, JAVA byte code needs to be interpreted by the browser, yet C# intermediate language will further compile to system dependant code before it is executed. In other words, it will not have to be interpreted. "

Actually, they are called JITs (just in time compilers) and they have existed for some time now with Java. Nothing in Java makes it unable to compile to machine code.

Witch_King
08-14-2001, 05:54 PM
I don't believe It has anything to do with the compiler. It's the .NET framework that is built into the operating system.

When I write the essay I'll pay special attention to this.

ggs
08-15-2001, 09:19 AM
I lost my post! oh well...

What I really wanted to know is: why should I, as a consumer, plonk down the cash for a copy of .NET (the operating system)?

I've heard the arguments for the developer side of things. I know how MS is pitching it to businesses ("Pay per use is great! Save cash, and never upgrade again!"). I know how they're pitching it to developers ("Pay per use is great! The sheep will keep on paying up!"). But I have no idea why a consumer would buy such a thing..

My Questions as a Consumer:
Will .NET need the IA-64 architecture? Will it support sledgehammer?
Will .NET need app servers to be up to work?
Does .NET need a net connection to run?
Will .NET support legacy apps?
Isn't .NET rather risky in the privacy bit o' things?
Do you think that if .NET succeeds, MS will basically have the OS market... forever? Do you think the courts will cry foul? Do you think the courts are even capable of doing anything about it?
Do you think that .NET will succeed?

C# is already turning into just another language, as projects are underway to port it to linux (and thus to just about every architecture on earth)... I have fewer questions as a developer.

My Questions as a Developer:
Is this .NET thing sort of like the perl CPAN, where you can download classes at run time to perform operations needed? Will it be that I package off a request with something like SOAP and the server will perform what is needed, and then return the result?

I am Hungry:
Will .NET really be able to power my toaster, or will I have to wait until the JAVA toasters come out onto market to burn images into my bread?

:)

nvoigt
08-15-2001, 09:38 AM
You are mixing up different things here:

WinXP:
Operating system, beta out.

.NET:
Library and new concept, beta out.

Renting Software Concept:
Introduced in latest Office version.

They are completely independent of each other.

With .NET as with almost any other library,
you can work without net access on todays
2K computers. That should answer almost
all other questions as well :)

As a user, you don't need anything. You will
get a nice package with a CD or two and
instead of a "Contains latest version of DirectX"-
sticker, it might have a "Contains .NET Runtime" -
badge on front.

>Will .NET really be able to power my toaster

No. Call your local power company.NET
:p

Witch_King
08-15-2001, 12:59 PM
The .NET service is indeed a huge .NET class library but it is also much more than that. It is the bases of distributed computing, which means a new internet concept and a new way to design apllications around the 'home user' which will have the power to control who is allowed to have their personal information and for how long.

WinXP is an operating system. It's official release is October 25. It will come out in a home version, a professional 32-bit version, and a professional 64-bit version, for I64's. It will be capable of using 'next generation windows services', because the .NET framework will be built into it (which might cause trouble with the courts). Some will argue that The .NET framework will provide a competitive advantage to languages by allowing them to further compile to machine code from an intermediate language, and therefore run faster than JAVA. I don't think that JAVA is supported. I want to read more about this but don't have the time to do so.

WinXP will not be a server operating system. The new servers are comming out later, next year.

SilentStrike
08-15-2001, 05:47 PM
Dean, compiling to machine code is something Java runtime environments have been doing for a long while now.

Basically, when you write a java app and compile it, you compile into portable "bytecode." That's the same as the intermediate step with C#. This can either be interpretted directly while running the program (slow), or can be first compilied into machine code, and that machine code run (fast). This is probably the same exact thing Microsoft is doing with C#.

Given, I have not studied C# at all, and my only experience with Java is reading about 800 pages of a book called "Thinking in Java" and doing some sample problems. But it really seems that the only reason C# is close to C++ is because it's damn near a clone of Java, and Java itself is somewhat similair to C++.

Witch_King
08-15-2001, 05:53 PM
I have not read a book on .NET, just did some surfing. Everyone is claiming that c# is faster and it has something directly to do with the .NET framework. It's not a clone of JAVA but is similar to C++.

When I have some time I want to find out the exact technical reason why it is faster. This website makes this comment. The explanations are conciise. Check it out quickly for yourself. To the right there is a section that says C# VS JAVA.


http://www.softsteel.co.uk/tutorials/cSharp/cIndex.html

zen
08-15-2001, 06:05 PM
It's not a clone of JAVA but is similar to C++.


I only had a very brief play with Visual Studio.net today but c# did seem pretty similar to Java. However, there is an project option in Visual C++ 7.0 - 'managed c++' where you can use the C# classes in a C++ way and it looks like it compiles the same way as C#.

SilentStrike
08-15-2001, 07:56 PM
This is the best explanation of the further compiliation to machine code.

"In C#, however, more support is given for the further compilation of the intermediate language code into native code."

That's really deep.

The differences between C# and Java are very small. C# has enumerators and operator overloading, which are nice, but nothing earth shattering. Consider the hello world in C# vs hello world in Java.

From that page, in C#

using System;
public class HelloWorld
{
public static void Main()
{
Console.WriteLine("Hello World! From Softsteel Solutions");

}
}

Compare this with helloworld in Java.

public class HelloWorld
{
public static void main(String[] args) {
System.out.println("Hello World");
}
}

Vs C++

#include <iostream>
using namespace std;

int main() {
cout << "Hello World" << endl;
return 0;
}

You see that C# and Java are much closer to each other than to C++.

My biggest problem with Java is the lack of templates, so one cannot use compile time typesafe container classes. Is C# going to fix that? Or would that require straying from Java too far?

Witch_King
08-15-2001, 08:17 PM
The difference between Sun Microsystems and Microsoft is that Sun is trying to make money and Microsoft is trying to keep it.

SilentStrike
08-15-2001, 08:23 PM
Or Sun is trying to own something, while Microsoft is trying to own everything. If the langauges were equal, I'd have to take Sun's solution, simply because they have less power to screw over everyone in their way. I can't remember any anti trust suits against Sun.

ski6ski
08-15-2001, 08:38 PM
I haven't had the chance to mess with .net at all, but I was wandering if there will be a version of C++ that you could buy seperate from the VS? Since I program in C++/VC++ buying the whole studio is not in my budget, or in my intrest. And is it worth the upgrade??

Witch_King
08-15-2001, 11:40 PM
I was at the bookstore last night because it was right beside the movie theatre. Picked up these titles:

.NET Framework Essentials
and
Introducing Microsoft .NET

I'll read them through and try to find out what it's all about. Both books are not too big, maybe 250 pages each.