Jump to content

  • Log In with Google      Sign In   
  • Create Account


Is C# good enough for system utility programming


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
6 replies to this topic

#1 [deleted99599]   Banned   -  Reputation: 100

Like
0Likes
Like

Posted 09 May 2006 - 07:51 AM

I have a large interest in systems programming, such as low-level utility programs. C++ seems like an obvious choice, but I've also enjoyed .NET for GUI development, etc. Is the new C++/CLI better than C# for this kind of work? I'm still doubting C# has wrapped the entire Win32 API because there seems to be a ton of pinvoking still. Some examples of utility programs would be spyware removal programs, windows washing, operating systems, etc. The more I write ths, the more C++ seems the #1 choice, but I thought I'd hear from you anyway on this topic. Thanks!

Sponsor:

#2 TheTroll   Members   -  Reputation: 882

Like
0Likes
Like

Posted 09 May 2006 - 07:53 AM

In my opinion if you are going to do low level programming then go with C++.

theTroll

#3 Moomin   Members   -  Reputation: 332

Like
0Likes
Like

Posted 09 May 2006 - 07:57 AM

C# on windows XP or 'less' will have a slight performance drop but on Vista it should run just as fast, I have heard, due to vista being managed-code-based.

#4 [deleted99599]   Banned   -  Reputation: 100

Like
0Likes
Like

Posted 09 May 2006 - 08:20 AM

Wasn't there a recent article saying that Vista moved back to C++? Regardless, I have a friend at MS who knows about that. I remember the TV news talking about MS's new .NET security, but that was before this. Anyhoo, thanks, I'll stay with C++ for this kind of work.

#5 _swx_   Members   -  Reputation: 914

Like
0Likes
Like

Posted 09 May 2006 - 08:23 AM

Vista and most built-in apps to it are written in C++, so I dont really see how managed languages would gain any speed on Vista...

#6 Anon Mike   Members   -  Reputation: 1098

Like
0Likes
Like

Posted 09 May 2006 - 09:40 AM

What exactly do you mean by "low-level"? The examples you give (spyware removal and operating systems) are wildly different categories of applications.

When I think of "utility program" I thing of a relatively small app that does a relatively minor task that is hard to do with existing tools (I definitely don't think "operating system"). In this case language is almost irrelevant. The only consideration I would give is if the language required library support or special runtimes to be installed on the target computer.

If I was relatively sure that all the computers I cared about had the CLR installed I wouldn't hesitate to use C#. It's perf and resource usage are fine for everything except the most demanding applications and it's a lot easier to write in. If wanted a "run anywhere" app that I could have on my USB drive I would probably use C++ with statically linked libraries just to minimize the dependencies.

#7 Enselic   Members   -  Reputation: 829

Like
0Likes
Like

Posted 09 May 2006 - 09:13 PM

Quote:
Original post by nullsmind
but I've also enjoyed .NET for GUI development, etc. Is the new C++/CLI better than C# for this kind of work?

Apart from easy GUI programming, the .NET Framework have very nice threading support.

I have written a tool to anlyze the size of folders on drives, which makes use of multithreading. You can find it in my sig. When you look at the source, you'll notice how little code there is to provide the in my opinion a very powerful multi-threaded solution.
--------------------------------------------------------chromecode.com - software with source code




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS