PDA

Click to See Complete Forum and Search --> : .NET, is it that efficient?


capsulecorpjx
Jul 8th, 2005, 04:12 PM
My understanding is that .NET is bascially Java, a runtime compiler.

Is it really that efficient? Or is it only used for form-based applications?

I haven't seen any major major programs written in .NET.

Have Microsoft even released any major software written in .NET and not in low level languages like C or C++?

axion_sa
Jul 9th, 2005, 11:24 AM
My understanding is that .NET is bascially Java, a runtime compiler.
Basically, yup

Is it really that efficient? Or is it only used for form-based applications?
Yes, it is efficient, as far as JIT code can be.
No - you can create pretty much anything you want, much like in Java: console applications, code libraries, Windows forms, web applications, etc.

I haven't seen any major major programs written in .NET.
I think you'll find most of the .Net applications are developed and used in-house.

Have Microsoft even released any major software written in .NET and not in low level languages like C or C++?
Longhorn (if I'm not mistaken), SharePoint Portal Server and Content Management Server are partially written in .Net - so yes, they have/are.

StrangerInBeijing
Jul 10th, 2005, 08:25 PM
I don't know what bigger apps like Office and so on are written in, but all MS controls, sites, services, etc we are testing here are written in C#...

Not sure about Longhorn (The name still cracks me up). Read a while ago someone mentioned that one cannot write an OS in a high-level language like .Net languages.

As far as efficient goes, it got it's shortcomings like any other technology like the JavaVM, but the tools that are available to write apps in .Net languages are great (VS.Net and all the other tools that comes with the CLR)

Cheers

Hey Axion, how's life back home? Any chance you can send a fellow countryman some biltong, FHM and a crate Castle's up here? :p

jas4th
Jul 11th, 2005, 03:17 AM
Hi,
you could view efficient as meaning many things to many people. You mean (I would guess) how fast the app is, consumption of resources etc. For others its how efficiently an app can be developed and maintained, flexibility and potential it gives to explore greater reaches to solve business problems.
I think you need to determine the product to match the requirements of your scenario - it might be assembler!!

wossname
Jul 12th, 2005, 04:59 AM
I think its efficient overall...

Its memory management is very good, the performance is good (despite occasional JIT calls) and the deployment is easy. The languages (VB.Net, C#) are a pleasure to work with and are very well supported by MS. I can't think of any downsides at the moment. I'll get back to you. :D

jas4th
Jul 12th, 2005, 05:02 AM
Playing Devil's Advocate here:

If you were developing real-time critical systems you may consider it to be bloated. It really depends on the environment you are applying your apps to.

StrangerInBeijing
Jul 12th, 2005, 08:22 PM
Just some stupid Q that jumped to my mind when jas4th mentioned real-time critical systems.

Would you use windows to do something really critical like handling a big passenger plane's autopilot?

If so....would you get on it?

jas4th
Jul 13th, 2005, 02:34 AM
Oh, I would have to insist that they confirm they've applied the latest patch before I boarded!

shunt
Aug 5th, 2005, 05:24 AM
Looking at the recent Beta 1 of "Longhorn"...oh sorry...."Vista"...sorry...what...$*(&^$&$

Anyway, it seams that hey have used .NET framework everywhere so that programmers dont have to interact with nasty windows API's anymore. Prior to Vista, you would always have to be calling some nasty API with all sorts of pointers and handles. Now, you will be able to interact with the OS using object graphs. In actual fact, it seems like MS have basically built a "sandbox" to protect the OS from dumb/malicious programmers.

I think yes, it is most definitely not efficient when compared to something like pure C or something, but the benefits definitely payed off.... And in any case, PC's these days have more than enough computing power to handle the extra overhead.

techgnome
Aug 5th, 2005, 07:43 AM
Efficiency - yes it's extremely efficient... the JIT only runs on the code once. It will only re-JIT it, if the code base has changed. Otherwise the fully compiled code gets cached, so there should only be a performance issue the first time out. After that, it's fairly quick.

.NET is capable of creating more than just forms-based apps.... we used it to build a web for one of our clients. I've also seen it used to create a console (via the cmd window) application. It can also be used to build Windows Services (which we've also done).

Major applications - Is Visual Studio major enough? Yup, Visual Studio, starting with the first VS.NET version was build using .NET ..... in fact they used C#. Also, I believe the next SQL Server tools (Query Analyzer and such) were also written in .NET (I suspect this to be the case, but I don't know for certanty). Not to mention the MSDN website, GotDotNet.com, and host of other websites out there are written using ASP.NET.

Tg

jas4th
Aug 5th, 2005, 07:47 AM
Yup, Visual Studio, starting with the first VS.NET version was build using .NET

Is that true - I ask because I hadn't known that and find it amazing!

techgnome
Aug 5th, 2005, 07:55 AM
Yup.... the trick is to build the compiler first.... .once you get that, then it's a matter of building a UI on top of it. After all... that's how all IDE's get crteated.... build the compiler (usualy C or C++) then build a UI on top of it that interacts with the compiler.

Tg

jas4th
Aug 5th, 2005, 07:58 AM
Its just that its generally agreed that .NET has slower performing windows forms than previously.

Jacob Roman
Aug 7th, 2005, 06:45 PM
Well the DirectX4VB site mentioned this:

VB.Net is on average 1.034x slower (it performs at 96.7% of VB6's speed).

Located here:

http://externalweb.exhedra.com/DirectX4VB/Tutorials/GeneralVB/GM_NETvsVB6.asp

shunt
Aug 8th, 2005, 02:04 AM
I think the point is that it doesnt matter how fast its executing code. They have built a facade over the windows API so that programmers no longer have to battle with it or have to worry about what the physical calls are. No more pointers, memory leaks....Just pure object oriented development. The downside is that, yes, it will operate slower because it now has to build nasty object graphs. But on the flip side, the PC's of today are more than capable of handling the load. After all its only 3.3% slower..... And I think slower is not a good way to think of it... I think more resource intensive is a more appropriate description.

Hey, is'nt VB code much slower than coding 0100011100101010101111010000? (Get my point?)

Jacob Roman
Aug 8th, 2005, 05:25 PM
Why is MS forcing us to downgrade? They could have at least optimized it to run faster, much like how C++ runs. And it does matter how fast it executes, especially when programming games where speed is needed.

StrangerInBeijing
Aug 8th, 2005, 11:08 PM
Why is MS forcing us to downgrade? They could have at least optimized it to run faster, much like how C++ runs. And it does matter how fast it executes, especially when programming games where speed is needed.

Like everything else, .Net is an evolving technology. It will get faster, but taken the speed of computers of today in account, added functionality might enjoy a higher priority at the moment (this is just my 20 cents). When one read what .Net is all about, you realize M$ got some awesome vision on the future of computing.

BTW...C++ with managed extensions (as found in .Net)....isn't that bloody fast compared to the other languages?

danielkw
Aug 10th, 2005, 06:13 AM
Many of the newest (read: that uses dx9) games from Microsoft and other companies are all developed using the VS.NET (Mostly C++ Managed and Unmanaged)

maged
Aug 28th, 2005, 06:08 PM
sorry for joining the discussion late,

one other very important advantage is that (for the first time!!), microsoft allows us (developers) to extend their controls. this open source attitude (to an extend) grants visual studio and the framework in general huge extensibility comparing to VB6 and whatever else.

programming cross languages is a built in property of .net programming, this is allowed in this enviornment due to unifying the variables type system and oop model along with the fact they are all going to be compiled into the same JIT. :thumb:

so from my point of view, VS.net is more than great

shunt
Aug 29th, 2005, 12:57 AM
So, from this forum, we have found the pros and the cons to .NET!
Pros:
1) Fully Object Oriented
2) Cross language programming
3) Multiplatform (in theory)
4) Used in LARGE commercial applications (Windows Vista, SharePoint Portal Server, Content Management Server)\
5) Wide variety of development tools
6) Open source capabilities (you can now find open source IDE's for .NET)
7) Increased code security
8) Automatic memory management (no buffer overflows or memory leaks...we hope!)
9) Side-by-side installation (no more DLL HELL! This is a biggie!)

Cons:
1) It is a whole 3.3% slower than VB6. ( :( Catastrophe)

So, I dont know about everyone else, but with my Athlon +1800 512MB RAM, I think the pros seriously outweigh the cons.

Quite honestly, I think we arent going to have a choice for much longer. I think M$ will wrap the OS with .NET and will no longer publish Windows API's. You know what that will do write? Much more stable and secure OS!