Click here to Skip to main content
15,886,873 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi all,

I am starting on a commercial application to go with a USB device we are prototyping.
My PC/.Net skills are rusty as I have been concentrating on the hardware and firmware for the device.

We have the 2008 professional edition of Visual Studio and I am quite used to this, but I would like to keep as up to date as possible with everything.
So what would folk advise to use between the full VS2008 or the newer free C# 2010 express?
Purchasing the full version of 2010 is not an option at the moment.

The application will be reasonably simple (at least to start with), mainly used to display data acquired from the device. So 2D graph type graphics updated regularly will be the major part of the main window.
Future compatibility, web updates, and the ability to build upon and possibly hand over to other developer(s) "easily" are all important.
A side question is how I should go about the graphics - is there anything newer than system.drawing.dll that is recommended? Should I look at using WPF rather than windows forms?

Sorry for all the questions, and excuse me if some of them seem a little confused - it is quite a while since I looked at any of this :-)

Any help would be greatly appreciated.
TIA
Posted

You ask many such questions that answers totally depend on what you need.

While Visual Studio Pro in near optimum version, there is absolutely nothing wrong with Express. Anyway, having Express would not compromise anything on your system. You can develop in both; compatibility between them is very good. To me, 99.95% of think can be well developed with VS 2008 and .NET Framework v.3.5.

WPF? Also totally depends on your need. You can perfectly use all of it in VS 2008, by the way. There are many reasons to start developing in WPF, but I don't know which fields of applications are interesting for you.

There are many cases when developing with System.Windows.Form looks silly in principle. One such example is diagramming and vector graphics. Almost everything you need here is already implemented in WPF. Same goes about 3D graphics.

WPF is remarkable as a step going away from Windows. It has almost nothing to do with much obsolete Windows API.
At the same time, you should remember that WPF is not supported in Mono. Thanks to Mono, I run my Forms application on Linux without recompilation and would not be able to do it with Mono. Despite of using Linux, I do develop in WPF little by little. Again, it depends on your needs to much to give you some definitive advices.

—SA
 
Share this answer
 
Comments
Oli Glaser 9-Jul-11 22:05pm    
Thanks for the reply.

Sorry I was not clear enough.
The main requirement is for fast and attractive 2D graphics, for displaying waveforms and similar data.
The update of data will be around 25 times a second.
Ability to interact with the waveforms would be useful (zoom in/out, select ranges etc)
A rough example of a similar application display wise would be Audacity, Cubase, oscilloscope software etc.
It will be standalone, installed/run from PC - the application does not need to interact with the Web beyond occasional updates.

I am not experienced with graphics beyond simple drawing using the picture box, paint event and Graphics object - this is how I have implemented the data display up to now, for the hardware testing purposes.
Now I am writing the full version, I am keen to learn about any recent developments with .Net and the best way to go about this so I don't have to backtrack or rewrite later on.
I hope this clarifies things a bit.
Sergey Alexandrovich Kryukov 10-Jul-11 14:53pm    
All I would add: get ready to develop a line of prototypes of the "walking skeleton" type to experiment with them, especially timing; there are many delicate aspects. Ask CodeProject question if you have specific problems.

Are you ready to accept this answer formally (green button)?
--SA
Espen Harlinn 10-Jul-11 14:39pm    
Good points, my 5
Sergey Alexandrovich Kryukov 10-Jul-11 14:50pm    
Thank you, Espen.
--SA
As you know about Audacity[^] - why not download the source and study it?

I don't think VS 2008 pro has anything you require, that C# 2010 express doesn't have, except C++/CLI - but that might come in handy.

I'd start with VS 2008 pro - at least you'll be able to leverage C++ at need; and take long look at audacity.

Best regards
Espen Harlinn
 
Share this answer
 
Comments
Sergey Alexandrovich Kryukov 10-Jul-11 14:54pm    
Interesting idea. There are also CodeProject articles dealing with wave form. My 5.
--SA
Espen Harlinn 10-Jul-11 15:37pm    
Thank you, Sergey - Audacity has a fair number of features
Oli Glaser 10-Jul-11 15:36pm    
Thanks for the replies - I will have a look at some similar open source code, that's a good idea, I should have done this already.
I think I'll be okay as the first version does not have to be too feature rich, so by the time I have written this I should have a good idea of how to progress further (and if not we may outsource future developments anyway)
I grabbed C# 2010 but I will start off with 2008 as C++ may indeed come in handy.
I will spend the next few days reading up on the latest .Net developments and trying to steer my mind away from C and 8 bit microcontrollers :-)
Thanks again.
Espen Harlinn 10-Jul-11 15:44pm    
If you've been working with C and 8 bit microcontrollers - you are probably in the right mindset for working with realtime audio - performance is still an issue, but not having to deal with a department meating just because you want to "allocate" a few bytes might be a welcome change :) Good luck!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900