# Slow Chat Archives > Slow Chat: Visual C++: Yesterday, Today, and Tomorrow >  [RESOLVED] Industrial Automation and Visual C++

## CBasicNet

Hi,

I am a GUI programmer who programs mainly in MFC. I used to work in the industrial automation. Here are some projects I have worked on in the past.

1)Handphone Kiosk

2) High speed camera for the roller-coaster system: After the photos are taken, it is displayed on the tv screens for the customers who have ridden on the roller coaster to buy.

3)Counting system for carpark

All these were written in VC++ 6 with the platform SDK(Oct 2002) despite VS2003 is already available(It is the same for the 3 companies I worked). We designed the hardware, firmware,and device drivers(written by us as well) to communicate the hardware, and the UI application.

The reason we used VC is because it is fast and we do not need .Net .

I know that the industrial automation is not a big market share for VC, I believe most of Visual Studio customers are application programming companies and web programming companies.

I am wondering what is Visual C++ team strategy for writing really fast code as I am writing visualization code to show the status of the system which should be very instanteous. It looks as if to me that VC team is only focus to support writing application with .Net . 

Now most of the companies may be forced to move up to Orcas when it is released as they are considering supporting Windows Vista.

Now I am with a software company, no longer in Industrial Automation.

----------


## RonaldLaeremans

> All these were written in VC++ 6 with the platform SDK(Oct 2002) despite VS2003 is already available(It is the same for the 3 companies I worked). We designed the hardware, firmware,and device drivers(written by us as well) to communicate the hardware, and the UI application.
> 
> The reason we used VC is because it is fast and we do not need .Net .


Visual C++ 2002, 2003, 2005 are and Oracs will be significantly faster and more secure inthe code they generate (between 6.0 and 2005 the performance of generated code with the maximum optimizations available and running on a current CPU is generally > 10-15% faster and in many case much more than that) and not any of these releases require the application you write to take a dependency on .Net at all.




> I am wondering what is Visual C++ team strategy for writing really fast code as I am writing visualization code to show the status of the system which should be very instanteous. It looks as if to me that VC team is only focus to support writing application with .Net .


As I mentioned above we have made _massive_ investments in the performance, security and robustness of native code. And in the Orcas release the focus will be on supporting the enhancemenst in Vista that are exposed through native Win32 or COM APIS.

In addition in the 2005 release we redesigned Intellisense and browsing to be based on live data instead of a static snapshot and in addition Intellisense now understand almost all of moderns C++ compared to only a very limited subset in the 6.0 release. Furthernore we made significant enhancements in the debugger like visualizers for STL data structures. And of course we have made aboslutely massive strides in increasing the comformance with the C++ standard in the 2003 release. These were exactly the top customer requests.

Please let us know what specifically you are looking for in future releases.

Thanks.

Ronald Laeremans
Acting Product Unit Manager
Visual C++ Team

----------


## zawthet

I am a programmer in Industrial Automation Field and using Visual C++ for machine control application like Motion Control, Input/Output Control and Machine Vision interface. We need to write multithreading application to interact with all sensors, actuators and motors connected via motion card or Digital Input/Output card simultaneously. We are using MFC right now and it is really doing good job so far.

I am impressed with new developement in Visual C++ 2005 (managed code) which we can design user interface faster in WinForm Application and do some other thing like reading and writing XML file in a few line of codes. However, I am not confident enough to run managed code for Machine control. According to my understanding, .NET will lock up all active threads when GC is active. (Correct me if I am wrong.) So it is dangerous to do machine control under garbage collected thread. 

Is there any way we can run managed code together with the thread which can run real-time data collection and control without interference from GC? If not, I would like to see it in the future version of Visual C++.

Thanks for your time.

----------


## RonaldLaeremans

The .Net garbage collector will not do anything with threads running native code when it does its garbage collection. So as long as you run all time critical code on threads that only execute native code and isolate your UI or other code that wants to leverage .Net to threads that do not block your time criticsl threads you should be able to get the best of both worlds.

The CLR team is looking at ways to give more control over the behavior of the GC for cases like this, but that is definitely for beyond the Orcas release.

Ronald

----------

