Serving the Quantitative Finance Community

 
User avatar
player
Topic Author
Posts: 0
Joined: August 5th, 2002, 10:00 am

c#

November 28th, 2002, 1:02 pm

Dear Alljust wanted to know if anyone is now using c# ratehr than c++ in implementing any modelling? I ask this because I'm learning c++ at the moment but have been recommeneded that I learn c# instead. apparently it is an easier language to pick up and yet can still do everything else that c++ canplayer
 
User avatar
FDAXHunter
Posts: 14
Joined: November 5th, 2002, 4:08 pm

c#

November 28th, 2002, 1:26 pm

We recently ported all models on my desk to c#... it kicks ass... I can HIGHLY recommend it.But then again, someone else will tell you the exact opposite of what I just said, I'm sure... I can only say go c# all the way.Regards.
 
User avatar
jens
Posts: 0
Joined: July 14th, 2002, 3:00 am

c#

November 28th, 2002, 2:50 pm

I can only support FDAXHunter. See QuantLib.NET for a free/open-source library for quantitative finance. It is written in C#, and optionally supports native math libraries (MKL, ATLAS).Jens.
 
User avatar
Silvershark
Posts: 0
Joined: November 10th, 2002, 2:27 pm

c#

December 2nd, 2002, 3:30 pm

We are using it at the moment. It is superb. !
 
User avatar
mholm

c#

December 2nd, 2002, 4:25 pm

C# and .NET may be the future but you must be careful when choosing a language for your application. You need to consider if this application will only run inside a controlled environment i.e. your office where the helpdesk will support it. If your application is going to be deployed globally or to a vast group of companies you might want to choose a different language. The .NET environment will only work if the framework is installed on your local machine. For web based applications I would say .NET is the way to go for sure, but as a desktop application it might not be the best choice at the current time. If you make your application available on a website for free download and evaluation you also need to provide a link to the .NET framework because odds are its not installed on the end users machine or maybe they are running a different service pack. The framework is pretty big and could take some time to download. Companies may decide to use a different product because they cannot installed everything easily.Keep in mind that learning C++ is and probably will not be a bad idea for a long time. C++ is part of the .NET framework and you can do anything you can do in C# also. Plus you can still write native code.
 
User avatar
Silvershark
Posts: 0
Joined: November 10th, 2002, 2:27 pm

c#

December 2nd, 2002, 4:47 pm

QuoteOriginally posted by: mholmC# and .NET may be the future but you must be careful when choosing a language for your application. You need to consider if this application will only run inside a controlled environment i.e. your office where the helpdesk will support it. If your application is going to be deployed globally or to a vast group of companies you might want to choose a different language. The .NET environment will only work if the framework is installed on your local machine. For web based applications I would say .NET is the way to go for sure, but as a desktop application it might not be the best choice at the current time. If you make your application available on a website for free download and evaluation you also need to provide a link to the .NET framework because odds are its not installed on the end users machine or maybe they are running a different service pack. The framework is pretty big and could take some time to download. Companies may decide to use a different product because they cannot installed everything easily.Keep in mind that learning C++ is and probably will not be a bad idea for a long time. C++ is part of the .NET framework and you can do anything you can do in C# also. Plus you can still write native code.Agree,Friends of mine has had trouble when running developed .Net applications on XP desktops with the framework installed on it. (believe it or not !) I would recommend some testing if you are porting your app from w2k to XP.Best,
 
User avatar
jamesbattle
Posts: 0
Joined: May 12th, 2002, 8:28 pm

c#

December 23rd, 2002, 4:05 pm

Sure, there are advantages to using C++ and C in some applications, no debate,but the statement that anything that can be done in C# can also be done in C++ is just not true. As I've said before, reflection in C# quite simply is NOT POSSIBLEin C++ (of course, I mean ANSI/ISO C++, because managed C++ uses the SAMEunderlying framework as C# and the 20 or so other managed languages).What problems have you had with running .NET on XP? We routinely test oursystem on ALL of the supported OS's that Microsoft support .NET on. I have never seen any problems on XP. I am thinking that you are calling a dodgy Cor C++ (unmanaged) library that is the real problem.As for desktop use, you will find that ALL Office and soon after ALL Windows applications will be buitl around and support .NET VERY soon.
 
User avatar
mkholm

c#

December 31st, 2002, 4:58 pm

TRUE STATEMENT: Anything you want to do in C# you can do in C++ just as easy if not easier! Reflection is just as easy using C++ as it is using C#.Jamesbattle,You keep trying to get around this by saying there are different standards of C++. You say you cannot do reflection using ANSI/ISO C++. You can but it is very difficult. C++ is such a powerful language because there are so many different standards. If you understand the basics in C++ then you can work with all of the standards. Have you ever created programs which could compile using different compilers on Unix, Linux, Windows, Solaris or Macs without changing one line of code. I have and its not hard if you know what you are doing! Managed C++.NET is a subset of C++ and can be referred to as C++. If you create managed code in .NET there is no difference in anything between the languages. The developer needs to pick a language which he has the most experience with.Have you looked at Microsoft's new VS.NET 2003.? If C++ was lacking anything from the initial release of .NET, Microsoft is making up for it in this next release.QuoteAs for desktop use, you will find that ALL Office and soon after ALL Windows applications will be built around and support .NET VERY soon.I agree all of there applications will soon support .NET, but Microsoft would never build everything around .NET at this point in time. They do not even know if .NET will take off. We will not know that until the economy turns around. A perfect example that Microsoft is not going that way is the support for native C++ code in VS.NET 2003.
 
User avatar
slevin
Posts: 1
Joined: January 5th, 2003, 5:11 am

c#

January 5th, 2003, 11:54 pm

QuoteOriginally posted by: mkholmTRUE STATEMENT: Anything you want to do in C# you can do in C++ just as easy if not easier! Reflection is just as easy using C++ as it is using C#.This might be a bit off topic, but ANYTHING could be implemented in ANY language as long as the language is Turing complete. However, the point was made is probably that C# is inseparable from the .NET platform (well, at the moment) and thus the general C# standart is more flexible. In addition, some semantic constructs in C# are absent in C++ (interfaces, iterators, argument arrays to name a few) which makes the language very comfortable to program in. However, I do think that for a quant rather then a trading system developer (i am the latter), C++ is still a better choice.
 
User avatar
jamesbattle
Posts: 0
Joined: May 12th, 2002, 8:28 pm

c#

January 10th, 2003, 7:58 pm

mkholm,I'm starting to like these debates. Sitting within view in my office I have a niceSOLARIS box, an INDY, an NT box, a laptop and my XP machine that I'm writingthis stuff on.C++ is probably the worst language ever for portability. Did you realise thattoday, there is still not a single compiler that can handle all of the it? If you'veever had to port code over from pre-iostreams and the STL you would not makethese silly claims.Templates are a complete abortion for portability. EVERY template implementationis choked full of pre-processor macros and crap to even make the library build.As you've quite rightly pointed out, in *THEORY* you can probably do anythingin any language and you point out reflection as one feature that you can easilydo. Hence I provide you with a challenge to present in ISO C++ a chunk of code that enumerates the sub-classes of a specified class from a library. Also provide some code to call even a simple function for which you do not have a prototype.In C++, these will require assembly language, but I look forward to your solution.Like you, I used to believe in portable code and within the realms of academiaeven managed to sometimes achieve it. In the real world, where languagesand systems change constantly there's no such thing - and nobody cares.The only truly portable code is code that's been ported.
 
User avatar
Patrik
Posts: 1
Joined: April 15th, 2002, 9:18 am

c#

January 10th, 2003, 11:02 pm

QuoteThe only truly portable code is code that's been ported.I agree by all my heart - portability is a b*tch.On the matter of no "complete" c++ compiler - I was under the impressionthat some existed as of last year or something similair? Not MS (of course),but the high performance folks like Intel and friends.From Intel website:- ANSI C/C++ standard - ISO C/C++ standard Is this just marketing tactics or "the truth" ?
 
User avatar
jens
Posts: 0
Joined: July 14th, 2002, 3:00 am

c#

January 11th, 2003, 9:06 am

QuoteIs this just marketing tactics or "the truth" ?Well, search the web for something like "c++ compiler comparison conformance" and see for yourself (but keep the "marketing tactics" in mind when you see eg. Dinkumware ranking VC7 with 99%... they supply M$ with the library). The thing is that you need non-standard features or must rely on "library implementation" to achieve some results. Try to solve eg. the "challenge" given by James.C++ Conformance Roundup