What IS .NET??? 7 replies

Please wait...

marwex89

W31rd0

50 XP

3rd May 2008

0 Uploads

234 Posts

0 Threads

#1 10 years ago

Yeah, what is it actually? :confused: I don't get it. Please somebody, satisfy my curiosity... :D




*Daedalus

A Phoenix from the ashes

50 XP

18th April 2006

0 Uploads

3,091 Posts

0 Threads

#2 10 years ago

It's a yoke by Microsoft that makes a lot of common-place things in your PC work. ;) (Don't really know, but it helps to have the latest version.)




Sheepeep VIP Member

weirdal = new ptaq()

31,600 XP

2nd September 2003

0 Uploads

2,948 Posts

0 Threads

#3 10 years ago

With some simplification in the description, .NET makes additional functions available to programs that use them. Programs that use functions from .NET need the .NET Framework installed in order to use the library (Series of functions) that they were written for.

Personally, I don't like software that uses it. That's a programmer's opinion though and is mainly based on speed (The best code in C, for example, will be faster than the best .NET code) and the way that .NET is advertised versus what it actually is.

In short though, you probably shouldn't take my opinion into account unless you plan to write software, which most people don't. Using .NET is probably fine for anything that doesn't require the absolute maximum in speed, and a program that uses the .NET Framework isn't necessarily written by someone any less capable than any other program. Just as the Internet is a series of tubes, the .NET Framework is a series of manuals for programs. :p




Kilobyte

What does the Fox say?

69,060 XP

23rd November 2002

0 Uploads

6,468 Posts

0 Threads

#4 10 years ago
Sheepeep;4344332Personally, I don't like software that uses it. That's a programmer's opinion though and is mainly based on speed

Actually that is a LOT of simplification. Oversimplication if you ask me.

Also, hating .NET due to speed issues, is like hating an 18-wheeled Semi truck due to lack of acceleration. Or a sub compact, for lack of cargo capacity.

.NET is designed to be a cross-platform framework. The closest comparison I can think of, would be the Java platform. You can either have speed by optimising for the hardware, or be able to make it "cross-platform". You can't have both.

Check out this link. Why .NET Framework?

Basically, when you write programs for .NET, you are no longer writing them for "Windows XP", or "Windows Vista", or "Windows 7". You are writing them for any system that can run .NET applications. With some limitations,... It is another layer that is supposed to improve compatibility, and also has some other advantages that improve the "quality" of the code. At the cost of performance.

Compatibility and Stability, or "Performance". Which would you prefer?




Sheepeep VIP Member

weirdal = new ptaq()

31,600 XP

2nd September 2003

0 Uploads

2,948 Posts

0 Threads

#5 10 years ago
Monster_user;4344807Actually that is a LOT of simplification. Oversimplication if you ask me.

Entirely agreed. But when explaining to someone of an unknown technical knowledge, there's only so deep you can go before it all starts to blur into a lack of meaning.

Also, hating .NET due to speed issues, is like hating an 18-wheeled Semi truck due to lack of acceleration. Or a sub compact, for lack of cargo capacity.

Speed was the only example that I felt I could get to without going into the same detail I mentioned earlier. I also don't like the way that I've seen .NET taught (And perhaps advertised, but I'm unsure) as a native language, when it runs in what comes close to being a virtual machine, conceptually. I also don't particularly like having layers upon layers of code. There comes a point where you can no longer tell whether the issue with a program is your fault or someone else's, because it's so deeply wrapped by APIs that you can't even determine what's going on in the first place. As was my previous experience with writing in .NET, at least.

That said, I like the concept. I just don't like the implementation.

.NET is designed to be a cross-platform framework. The closest comparison I can think of, would be the Java platform. You can either have speed by optimising for the hardware, or be able to make it "cross-platform". You can't have both.

Well, that entirely depends on what you're writing. If it involves having to account for an infinite possible number of GUIs, you're probably right. But if it's truly cross-platform, it will work with non-Microsoft operating systems. There's the Mono project, I'm not sure how official that is or whether Microsoft give any thought at all to it, but cross-platform and the built-in Direct3D functions don't make a whole lot of sense when Direct3D support in other operating systems is tenuous at best. Cross-Microsoft, maybe, since it relies on Microsoft technologies. It's a Microsoft language, and it's fine if you only want to run the code in a Microsoft environment, but a lot of the stuff I write, I write to be as portable as possible. Since what I do doesn't need .NET, and I don't see myself ever needing .NET from a developer perspective, I have little opinion of it. We'll review whether I need .NET 10 years down the line, perhaps, and maybe I'll even get a laugh out of it. But right now, as it stands, I stay away from writing in it.

Basically, when you write programs for .NET, you are no longer writing them for "Windows XP", or "Windows Vista", or "Windows 7". You are writing them for any system that can run .NET applications. With some limitations,... It is another layer that is supposed to improve compatibility, and also has some other advantages that improve the "quality" of the code. At the cost of performance.

Compatibility and Stability, or "Performance". Which would you prefer?

To answer the question would simply be me repeating that I haven't yet come across a situation where these two things have to be mutually exclusive. Using, for example, C, it isn't always difficult to make a common interface for multiple interfaces. Sockets in Windows, for example, are heavily based on BSD sockets. The most difficult aspect is probably the GUI, so once you have a common interface for writing the GUI, you've done the hard bit. Whether or not you feel you should have to is probably the same answer as to the usefulness of .NET, whichever answer you end up with.

I know I've contradicted myself by saying that the better alternative to .NET is to write a wrapper, but it's the difference between compiling the code into .NET-bytecode to run in a virtual machine, or writing arguably better programs by trapping errors yourself, as .NET can only best-guess what you wanted to happen in such a scenario. I would say that in that respect, .NET probably teaches bad practices by silently handling errors as they arise. But then again, I started by teaching myself PHP, so what do I know? ;)




Rookie VIP Member

128,030 XP

3rd May 2005

0 Uploads

11,953 Posts

0 Threads

#6 10 years ago
The_Daedalus;4344287It's a joke by Microsoft that makes a lot of common-place things in your PC work. ;)

Fixed.

A list of things I'd rather do than get involved in writing .NET compliant code include stapling a 2x4 to my face, and being dragged under a bus.




Freyr VIP Member

A2Files Staff

46,875 XP

6th February 2005

11 Uploads

4,275 Posts

0 Threads

#7 10 years ago

.NET is Microsoft's attempt to get programmers to give up on a language that they don't control in favour of one they do. This reduces the chance that people will become involved with the "cancer" that is their competition because they don't have the skills.

My, i'm getting awfully cynical towards anything Microsoft does these days...




marwex89

W31rd0

50 XP

3rd May 2008

0 Uploads

234 Posts

0 Threads

#8 10 years ago

Many nice replays. I'm actually a software programmer myself (so it would be embarrassing not to know what .NET is, thx guys). Have never been into .NET, though I'm kind of familiar with Java as a programming language, if that counts for something similar.

So .NET framework is a library (or many libs) of functions, something like DirectX? What about C# or VB.NET, programming languages "using" (or whatever???) this framework, or being able to create compatible software, or whatever... What's the thing there?