By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,310 Members | 1,466 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,310 IT Pros & Developers. It's quick & easy.

Any *TOP* software developed on .NET (like Office, DB engine etc.)

P: n/a
There are lots of talks about .Net going around. .Net is considered to
be a RAD (rapid application development) framework so the question
remains open whether it's useful for developing software when there are
some requirements other than developments speed. What I mean is
performance. I know there were already a lot of talk around about that,
but imho one point remained unconsidered. Precisely, what *EXACTLY*
top-100 (or top-200 whatever) software is developed using .NET.

Will Office or Visual Studio ever be re-written entirely on .NET?
and the main question:
Will ever be SQL Server be re-written on .NET???? If so Oracle will get
a dramatic advantge in speed over MS!!!!

WinFX is about to become the next API for developing Windows software
but obvisously both managed code and winfx/.net-approach seems to be
absolutely inappropriate for certain software. Considering VS it may
seem OK 'cause compatition from Eclipse is weak, but it's not the case
with SQL Server! Performance plays an important role with it! So imho
there;s a strong hope Win32 (or maybe other *FAST* API) will live on.
Any comments?

Jul 21 '05 #1
Share this Question
Share on Google+
7 Replies


P: n/a
AFAIK Office is still (at least to a large extent) written in plain C (not
C++!); I doubt they will re-write it in the near future using .NET, same
applies to SQL Server: Does that mean C++, MFC, ATL or .NET are bad?

The only .NET application that comes to my mind is ATI's Cataclyst Control
Center (I think it's written in .NET): It loads rather slow, but after
everything's in memory and JITed, performance is ok.

You might also be interested in this one:
http://www.vertigosoftware.com/Quake2.htm
It's a Quake II port from C++ to C#. According to the FAQ the difference in
speed isn't that bad.

Personally I can't understand why people bother so much about .NET's
performance. I guess most of them either:
- have never tried it and think it's interpreted, or
- never heared of the 10%-90%-rule, or
- have to much time

Niki

<sq****@mail.ru> wrote in
news:11*********************@c13g2000cwb.googlegro ups.com...
There are lots of talks about .Net going around. .Net is considered to
be a RAD (rapid application development) framework so the question
remains open whether it's useful for developing software when there are
some requirements other than developments speed. What I mean is
performance. I know there were already a lot of talk around about that,
but imho one point remained unconsidered. Precisely, what *EXACTLY*
top-100 (or top-200 whatever) software is developed using .NET.

Will Office or Visual Studio ever be re-written entirely on .NET?
and the main question:
Will ever be SQL Server be re-written on .NET???? If so Oracle will get
a dramatic advantge in speed over MS!!!!

WinFX is about to become the next API for developing Windows software
but obvisously both managed code and winfx/.net-approach seems to be
absolutely inappropriate for certain software. Considering VS it may
seem OK 'cause compatition from Eclipse is weak, but it's not the case
with SQL Server! Performance plays an important role with it! So imho
there;s a strong hope Win32 (or maybe other *FAST* API) will live on.
Any comments?

Jul 21 '05 #2

P: n/a
Biztalk 2004 is a very high performance routing and orchestration engine,
and a commercial enterprise-level server product. The prior version,
written in C++, had numerous limitations and a few performance problems.
The rewrite, into C# and managed code, improved performance, removed many of
the limitations, and allowed the developers to add a large number of useful
features.

Does that help?

--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
<sq****@mail.ru> wrote in message
news:11*********************@c13g2000cwb.googlegro ups.com...
There are lots of talks about .Net going around. .Net is considered to
be a RAD (rapid application development) framework so the question
remains open whether it's useful for developing software when there are
some requirements other than developments speed. What I mean is
performance. I know there were already a lot of talk around about that,
but imho one point remained unconsidered. Precisely, what *EXACTLY*
top-100 (or top-200 whatever) software is developed using .NET.

Will Office or Visual Studio ever be re-written entirely on .NET?
and the main question:
Will ever be SQL Server be re-written on .NET???? If so Oracle will get
a dramatic advantge in speed over MS!!!!

WinFX is about to become the next API for developing Windows software
but obvisously both managed code and winfx/.net-approach seems to be
absolutely inappropriate for certain software. Considering VS it may
seem OK 'cause compatition from Eclipse is weak, but it's not the case
with SQL Server! Performance plays an important role with it! So imho
there;s a strong hope Win32 (or maybe other *FAST* API) will live on.
Any comments?

Jul 21 '05 #3

P: n/a
> I guess most of them either:
- never heared of the 10%-90%-rule

I have to admit I didn't. So what rule is?

Jul 21 '05 #4

P: n/a
<sq****@mail.ru> wrote in message
news:11**********************@c13g2000cwb.googlegr oups.com...
I guess most of them either:
- never heared of the 10%-90%-rule

I have to admit I didn't. So what rule is?


Your code spends 90% of it's time in 10% of the code. Is it really worth it
to make your entire development project harder in order to gain a fairly
minor speed boost, when only 10% of it really matters? Additionaly, unless
you're really pushing the hardware to the limit, improving your algorithms
will result in a far greater speed boost than changing programming language.

As an example, the project I'm on submits scanned images and their
associated data to various disparate systems. This takes up to 3 seconds on
the client machine. I can't thread the access to the various systems, since
they're interdependent. However throughput is very important. So what I've
done is kick off the submission into it's own thread, where it takes the
full 3 seconds to complete the process. In the meantime though, the user has
moved onto the next document, and is working on that, speeding their
throughput. If there is a problem with the submission, the document goes
back into the queue, along with the error information to be displayed to the
user. Basically, by a relatively simple change I've improved the perceived
lag from 3 seconds to under half a second. I could have rewritten the
submission in C++, but as I said, it's mostly just blocking calls to other
systems, so the speed improvement would have been negligible. Instead, by
concentrating on the algorithm, I've cut the lag to 8% of it's original
value, even through if you did a profile, the actual performance cost is
higher, due to context switches and suchlike.

Also, always keep in mind the difference between perceived performance and
actual performance. In the same project, I got complaints that the
application was taking too long to initialize. I tossed in a funky splash
screen, with a progress bar and all of a sudden the users are happy with the
initialization. They can see that the program is doing something, and how
far it's got, so they perceive the performance as better, even when it's
actually slightly worse. Again, I could have written the whole thing in C++,
but it would have taken twice as long to develop, and would (probably) have
all sorts of funky circular references, dangling pointers, and memory leaks.
All that for a maximum improvement of about 1 second on initialization, and
0.2 seconds on switching between documents. Not worth it in my opinion.

--
Sean Hederman

http://codingsanity.blogspot.com
Jul 21 '05 #5

P: n/a
<sq****@mail.ru> wrote in
news:11**********************@c13g2000cwb.googlegr oups.com...
I guess most of them either:
- never heared of the 10%-90%-rule

I have to admit I didn't. So what rule is?


It says that 10% of your code takes 90% of the time.
In addition to what Sean said, I'd like to add that it's perfectly legal to
write these 10% of code in good old C++ or Assembler, thanks to MC++ the
integration is usually no problem. If performance is critical, take all the
time you saved when developing the 90% in C# to identify the
performance-relevant 10% and optimize them in a lower-level language.

Have a look at http://c2.com/cgi/wiki?PrematureOptimization for a few
oppinions on that topic.

Niki
Jul 21 '05 #6

P: n/a
sq****@mail.ru wrote:
There are lots of talks about .Net going around. .Net is considered to
be a RAD (rapid application development) framework so the question
remains open whether it's useful for developing software when there are
some requirements other than developments speed. What I mean is
performance. I know there were already a lot of talk around about that,
but imho one point remained unconsidered. Precisely, what *EXACTLY*
top-100 (or top-200 whatever) software is developed using .NET.
Not exactly what you wanted but this may still be of some
interest:

..net Framework Windows Forms Customers
http://www.windowsforms.net/Default....dex=9&tabid=48

Visual Studio Case Studies
http://msdn.microsoft.com/vstudio/pr...o/casestudies/

Will Office or Visual Studio ever be re-written entirely on .NET?
Tomorrow? No.
Next year? No.
Within the next 10 Years? Likely.

IMO C++.NET exists to give Microsoft's products an upgrade
path to future Windows platforms.

Basically we're experiencing the beginning of the
Win32->WinFX(.net) transitional period. Anyone remember how
long the Win16->Win32 transition took? It all started with
this "Win32s" addon for Windows 3.1, matured to "Win32"
which was usable in the NT line but only really hit its full
stride with 2K and XP.

So really .NET is the current day "Win32s". "Win16->Win32"
was all about utilizing the 32 bit Intel core.

"Win32->WinFX" seems more ambitious as it seems to aim for a
Windows core that no longer depends on implementation
details of Intel hardware.
and the main question:
Will ever be SQL Server be re-written on .NET????
Not in the near future. But in the long term strategy it
will have to be ported because the goal of greater hardware
independence benefits the server lines more than it does the
desktops.
If so Oracle will get
a dramatic advantge in speed over MS!!!!
What, has Oracle given up its commitment to Java? I remember
how painfully slow and big things initially were when going
from 8 to 8i - but eventually the hardware and
implementation caught up. However the JVM will always sit ON
TOP of the OS. "The operating system IS the virtual machine"
is one of the aspects of the long term WinFX strategy. And
there is always the option replacing IL components of the
core with custom native components to boost performance on a
popular platform. That way you can target the broadest range
of hardware platforms with the pure IL implementation of
WinFX while retaining the freedom to optimize select
platforms to be competitive were it counts.
Digressing...

Also Oracle always had the historical advantage. As a
database company they would always target "up-scale"
platforms - their clients could usually afford the hardware
(and their software). Need more performance - "Scale Up".
SQL Server had more humble beginnings and is limited to the
Wintel architecture - which meant SQL Server had to focus on
the "Scale Out" options (which has its own administrative
challenges).

However as CPU manufacturers are starting to approach the
theoretical limits of their manufacturing processes,
increases in hardware performance over time are going to
diminish which may make "scaling out" a more lucrative if
not the only possible option (and Oracle has been preparing
for that). So as time goes on the nature of the competition
may change.
.... but by then nobody will be paying attention to RDBMSs
because they are too busy with their BPMSs. :)


WinFX is about to become the next API for developing Windows software
but obvisously both managed code and winfx/.net-approach seems to be
absolutely inappropriate for certain software. Considering VS it may
seem OK 'cause compatition from Eclipse is weak, but it's not the case
with SQL Server! Performance plays an important role with it! So imho
there;s a strong hope Win32 (or maybe other *FAST* API) will live on.
Any comments?

'Any fool can write code that a computer can understand.
Good programmers write code that humans can understand.'
Martin Fowler,
'Refactoring: improving the design of existing code', p.15
Jul 21 '05 #7

P: n/a
"Nick Malik [Microsoft]" wrote:
Biztalk 2004 is a very high performance routing and orchestration engine,
and a commercial enterprise-level server product. The prior version,
written in C++, had numerous limitations and a few performance problems.
The rewrite, into C# and managed code, improved performance, removed many of
the limitations, and allowed the developers to add a large number of useful
features.

Does that help?

What about your company's business software, such as Great Plains? 3 Years
ago, I heard of some news that MS was going to rewrite it entirely using C#,
but I haven't seen any action on that yet. What is holding you guys back?
According to my read, business softwares are exactly what Net is targeted
for, so what's going wrong?
Jul 21 '05 #8

This discussion thread is closed

Replies have been disabled for this discussion.