Do companies use DOS based C++ or VC++? If you are a C++ programmer which one would you prefer?

(Last Updated On: April 12, 2011)
Learn the Secret

Get  our 2 Free Books

Get these now which land directly to their inbox.
Invalid email address

This may be not the most intelligent question but do companies use DOS based C++ or VC++? If you are a C++ programmer which one would you prefer?

it is just a matter of preference. In fact, you can use VC++ on the command line and you can use GCC from highly advanced GUI.
But if you go through autoconf, cmake, bjam, etc… those tools are going to call from a script your prefered compiler. So in a sense they it’s command line too 🙂
Simple use case: you automate the recompilation of your 1million+ lines of code project every night from the versioning system. Every morning, all your collaborators have a fresh install from the previous day’s changes

Wouldn’t it be easy to build automate something on GUI interface? Please can you give me an example of automation (in C++) on cmd line interface

look at the GNU autotools or CMake. That’s a big example.
Automating from the GUI is generally having a GUI to launch an automated build of your pogram. Behind the scene, it’s the same kind of command line tools too.
There is GUI vs cmd line but rather GUI on high-level cmd line scripts. The best of both world (even if I’m an adept of the bash 🙂 )

 

We predominantly use VC++ to write/maintain GUI-based situational awareness tools and we use the command line interface from batch files to build and sometimes package the applications

he question is for which purpose you want to automate. If you established e.g. a continuous integration process you probably get most out of automation. I.e. a development process, where you automatically – say every day – collect the latest versions from your source code repository, perform a full build and maybe even trigger automated regression testing. as additional steps you can stage stage the product for different platforms (if you need to do that), produce “gold masters”, etc.
In this case you would use tools like ANT or CruiseControl (on Microsoft NAnt anc CCNet) to drive the process and provide the results of build and tests on an intranet webpage or so. Triggering the build in this case will require a script using the tools’ command line interfaces (also on Microsoft you can nowadays do a lot with scripts, e.g. using PowerShell). From our experience however, the degree of automation you really want to setup heavily depends on how often you release your software and, how stable your system is already: If you are in conceptual stage or in a mode where the design of your system is not really fixed, maintaining and adapting an automated build environment can be real nightmare.

Apart from automatic build utility, source level debug (usually come with IDE) is another factor to consider. For large project, it should plan debug and test up front

Why C++? From my point of view it’s like greek o latin. Dead. It’s quite difficult to debug complex problems. Have you ever had a virtual function tables corruption that executes a methos of another class? It can crash into production environments. You’ll get the same speed with a higher level language, except, perhaps for 1% of code that you can write in C++, assembler, o consider better hardware (much cheaper than writing C++). When I was younger, I was a video game programmer. I had to write everything in assembler. If I didn´t finish processing and screen in 1/50th of second the screen would flash (and believe me that there are a lot of pixels in a screen). Things have changed. Assembler or C++ is only used for very critical code

Thanks for all your comments. Anyone used C++ to build an interface with your market data platform? (sorry its a bit focussed on finance industry) — to explain clearly, automatically extracting the data from the real-time market data platform and send it to an (C++ based interface) program where it gets processed?

we do that all the time. market data is usually accessible using vendor library like reuters or wombat.

higher level languages are a lot slower than C++. Java and C# are not higher level languages, they are just more programmer friendly and often takes twice the time to execute. You are correct that buying more hardware is an attractive choice but this doesn’t help you when you are worried about microseconds (multi-core scaling isn’t helping) or where the garbage collector gives you long pauses in your 25Gb dataset.

“Nothing is ever easy in C++, but nothing is impossible either”

Perhaps you’re right. I’ve never gone for the microsecond even creating realtime maket systems. Just for the milisecond. What you say about the garbage collector was right 10 years ago, but the algo for GC is quite different now and doesn´t stop execution. I’ve developed quite large systems in java or C++ and I’ve been surprised by performance on Java systems. You can manage 25GB in C++ but you have to pre-allocate all the memory for such system. If your code becomes complex with memory management, I think that the framentation without a good GC could make performamce worse than with it

Yes, there are vendor libraries for them.

I developed C/C++ addins to extract interest market data from Reuters using their API almost 10 years ago so it has been around for some time and I seem to remember they were pretty good back then. I’ve always used VC++ and Visual Studio for C++ development – why manually edit make files if you dont need to…..?

 

 

NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!
This entry was posted in Quant Development and tagged , , , , , on by .

About caustic

Hi i there My name is Bryan Downing. I am part of a company called QuantLabs.Net This is specifically a company with a high profile blog about technology, trading, financial, investment, quant, etc. It posts things on how to do job interviews with large companies like Morgan Stanley, Bloomberg, Citibank, and IBM. It also posts different unique tips and tricks on Java, C++, or C programming. It posts about different techniques in learning about Matlab and building models or strategies. There is a lot here if you are into venturing into the financial world like quant or technical analysis. It also discusses the future generation of trading and programming Specialties: C++, Java, C#, Matlab, quant, models, strategies, technical analysis, linux, windows P.S. I have been known to be the worst typist. Do not be offended by it as I like to bang stuff out and put priorty of what I do over typing. Maybe one day I can get a full time copy editor to help out. Do note I prefer videos as they are much easier to produce so check out my many video at youtube.com/quantlabs