QuoteIf C# is showing a net growth it has got to come from cannibalizing other windows only languages -possibly VBA-?VBA maybe.C++ yes. C# is easier, more libraries, interoperable and productivity is much higher. This is what Andrea Germani (senior trader) has to say.Quote1. The language offers a trade-off between performance and simplicity. It may not be as fast as C++ for certain applications, but the question is do you need C++ performance? Connecting to Excel is almost as easy as VBA. Time is money, and if you used C++ you?d be spending a week trying to get something working. The customer can analyse and deploy a solution very quickly. On the other hand, using the right design techniques the developer can create a well-structured software design using state-of-the-art programming solutions. You?ve got the best of both worlds.2. D.NET contains the C# compiler. This framework has lots of libraries you can use so you don?t have to reinvent the wheel. The framework for multi-threading, parallel processing and also for SQL searching and selecting. The libraries are being continuously improved.3. Very easy web and database connections. It?s very easy to connect to a MySQL database or SQL server from Microsoft, or in Oracle, just using standard interfaces which for trading applications is very important as well so in the future my own prediction is that the data is becoming more and more orderly. You see this a bit with the Big Data. Actually getting big data from a database which is something that has perhaps been neglected a bit the last few years. Because if you say as a Quant I suppose if you are making database systems people consider it as being inferior or something.4. The advantages of the object-oriented programming which means you can encapsulate and put all your functionality into one place, into one class, into one module which you can reuse again and again. So compared to GPAs for example where your code is spread all over the place, it's a mess, whereas in this case you can actually bring everything together and make it a bit more manageable.5. The contrast to C++ in terms of memory management. In C++ you have to create your own memory and delete your own memory. Failing to do so will cause your program to crash, whereas with C# memory management is automatic. The runtime system cleans everything up and that's extremely important for reliability and preventing your Excel sheet crashing. That's similar to the Garbage Collector (GC) in Java.Quotebut overall there's a positive trend for MS-powered stuff:I think so. I don't see Linux and gcc invading that space in the short.
Last edited by Cuchulainn
on May 15th, 2015, 10:00 pm, edited 1 time in total.