.NET for serious commercial applications?

  • Thread starter Thread starter Martin Hart - Memory Soft, S.L.
  • Start date Start date
M

Martin Hart - Memory Soft, S.L.

Hi all:

Just a quick question to 'test-the-temperature-of-the-water'.

I have to start a new project very soon and I wanted to do this with VS.NET
and C#. I have always done previous projects in C++, and (in the last 5
years) Win32.

My doubt is: How does .NET and C# stand up under real commercial
applications? I'm thinking speed-wise here. I have heard a lot about slow
WinForms apps. (BTW, my app will be 100 WinForms) and slow startups and
components. My project will have some 150-200 forms and access 25 (or so)
database tables, all under the same database.

Can anyone offer advice and opinions.

TIA,
Martin.
 
Hello mate

I once went to a Don Box presentation when he talked about the performance of the framework. He talked about all sorts but the general theme was C# is no worse than C++. Of course the framework used JIT so may be a touch slower at startup

Jon
 
Running speed should be approximately the same as C++, thanks to the JIT
compiler. Startup times could be something to evaluate. If you application
is a data-entry type then it could be an acceptable price to pay.

Also consider the deployment issue, as the client machines will require the
..NET Framework.
 
Thanks Jon:

Startup (luckily) is not an issue for me. My users start the program once a
day and use it for that rest of the day!

How do the standard WinForm components stand up to heavy loads?

TIA,
Martin.


Jon said:
Hello mate,

I once went to a Don Box presentation when he talked about the performance
of the framework. He talked about all sorts but the general theme was C# is
no worse than C++. Of course the framework used JIT so may be a touch slower
at startup.
 
Hi Gabriele:

Interesting that C# and C++ are roughly the same speed. Can I understand the
Garbage Collection is not a big issue from this?

As for the .NET Framework, that is not a problem. The program will work on
WinXP and Win2003 Server.

Thanks again,
Martin.
 
Can I understand the Garbage Collection is not a big issue from this?

Personally I don't think GC is a big issue, since you're not writing a
real-time application. I'm not saying that it hasn't any impact at all, but
for your type of application I don't see it a critical.

Please don't get me wrong, a well designed C++ application would be faster
and more responsive than a C#. However there are numerous advantages by
using C# and the .NET Framework that you should evaluate when making a
choice.
 
Thanks so much for the feedback. It's been very informative.

Regards,
Martin.
 
We come from another managed environment (Forte) and are now moving to
..NET. We have well over 100 tables alot of calculation code and many forms.
Frankly perfomance is VERY good.
You will gain a LOT in terms of productivity with .NET, it's just so easy to
use. If something seems slow there always a way to write so it's not so
slow. The only slower part is the JIT process where the form is compiled on
first use. But give your users something to look at (progress bar or other)
and "perceived" performance usually doesn't take a big hit.

As for database access it all depends on how you access the tables. It has
nothing to do with .NET per say, using the SqlClient and OracleClient data
access classes (for Sql server or Oracle) are pretty efficient.

My 2 cents.
Chris.
 
"Martin Hart - Memory Soft, S.L." <memorysoftsl _at_ infotelecom _dot_
es said:
WinForms apps. (BTW, my app will be 100 WinForms) and slow startups and

Startup is certainly a tad sluggish on my current machine. However,
considering the inevitable march of progress and it will cease to be a
factor for the machines of 3-4 years from now.

One solution we did quite a while back for a visual foxpro application
which was a bit slow loading the libraries etc on startup, was to
write a small C startup.exe as a splash-screen/launcher that actually
runs the visual foxpro application and dies when it has fully loaded.

Totally unnecessary on modern machines however. But the approach may
be reborn for .net apps. ;-)
 
Thanks Chris.

I'm still looking at the database access methods.

Regards,
Martin.
 
John said:
What a stupid question you c++ developers are all the same!, I
suppose you will be wanting to hack around with the memory next or
write it in assembly next!
;-)

Bottom line design it correctly and it will perform!

PS. stay away from c++ unless your designing nuclear power stations
applications or you want to goto mars! move on!

Why would you want to hack memory if you're designing nuclear power station
applications?

The bottom line is that managed C++ excells at giving you access to
unmanaged code, no other .NET language is as good. It also allows you to
compile unmanaged C++ to IL, no other .NET language can do that. If you have
no need for those facilities (accessing static libraries, using template
libraries) then you don't really need managed C++, the C++-like syntax of C#
would be a better choice. I doubt if a nuclear power station would be
controlled by Windows! ;-)

Richard
 
Note sure for this size, but the only .net issue I have is with
security. .net is more strict than C++, etc. Onl my app, it is a
bit slower with forms than eveen VB6,.

I guess it would depend if the app is data forms or some type of
manipulation, eg. like Photoshop!
 
Back
Top