Hi,
Here some 'free promotion' by a Microsoft fan who is using paid and free non-commercial Microsoft tools. I have no relationship with Microsoft other than Office365 (great product! also on iPad/ iPhone and integrates great with Lync / Skype), a Nokia 620 (not so happy due to back driving software, but has been improved recently), and a MAPS subscription of 400 euro a year (for Microsoft Visual Studio Professional). Currently I am learning Python since in C# I did not find nice stuff like Quantopian. Algotrading seems to have started already years ago when there was only C++ and C. Today, also managed code like .NET is fully capable of running real-time. However, generations have grown up with C, C++ and Python...and C# is quite lonely...
I like Microsoft because it is paid, and that drives innovations and hands to improve things when needed. Not in freetime like many open source projects..those can also speed up, but having people dedicated is better!). The result is great architectural frameworks, great support and plenty of help, online labs and tutorials. Above all, Microsoft is for years a software development company with many developers who need to collaborate efficiently. Therefor, they have now Visual Studio with Team Foundation Server. Both have integrated scrum board and version tracking (also for GitHub since Spring 2013). Now you think paid....most open source developers/ most technical background dislike Microsoft. I know....have a look at Promise, where Microsoft still has the patents on their innovations, but you and others can freely use is. Like C#, but also oData, which is in Entity Framework..and since last year heavily adapted by SAP and others. Of course there are leaks..but not that many as in Java :-(. Microsoft is also on the Javascript 'tour'..which I personally dislike since that looks spaghetti.....but also that spaghetti is taken care by Microsoft: tools to visualise and use code snippets..have it integrated in the IDE for automatic deployment to the IDE (nuget is MS version of PIP/ EasyInstall)....but than with version integration, a nice GUI and even rollback of code in your projects..Microsoft is like icecream to me...or my children...otherwise I grow fat.
By the way, I have a MSc. in Electronics Engineering, and in the past coded also in assembly, C, and C++.....then moved to VB, C#.NET and also a bit X++ (Dynamics AX ERP)..X++ is nasty and will be converted to .NET since X++ is really DOS...Python is also a bit like going back to MS DOS... sorry....IPython is great since it is like Matlab and provides instant runtime, which Microsoft does not have or I do not now how to activate it.
C# has millions of developers world wide. Microsoft has great open source projects as well, and on Microsoft Research you can read a lot of interesting projects. However, seems in algotrading I am alone...so to get a bit of my own world into Python I have some interesting links here, because I don't believe this thread will invite people here to start coding in C#..although an automatic port (like Java to C#) would be great :-). Then C# people can use the open source libraries, but glue it with C#.
An intermediate stage is adding all Microsoft tools to Python. A team at MS did, but I read somewhere, they now do that voluntary (not sure I am right).
My tool kit [won't run on Ubuntu/ you need Windows, but will install at once :-), I had Python, Pythonxy, IPython..and tons of compilation bugs of outdated source files...so a lot of manual stuff...and I already get headache in having all those libraries up-to-date in future...I will not get instant notification in VS that there is an update of Zipline or other library used :-(.
- Microsoft .NET C# / SQL/ MVC development with Visual Studio as IDE; You can go for the free version Express, but for the VS you need at least the Professional edition since it allows 'projects' and named dll compilation. I believe also for the Python integration you need at least that version. No problem, with MAPS you can get for 400 euro a year a license..and that is up to 5 developers including all Windows 8 licenses, etc.
- Team Foundation Server as Application Lifecycle Management (http://www.visualstudio.com/). This was an expensive one for small teams, but today it is ony in the Azure cloud. It is free up to 5 users and it can even handle GitHub. It is great for scrum/ agile development. You have all integrated, even with nightly build (not sure also Python, C# has) and INTEGRATED testing facilities...not to forget..how to test Python decently? A small bug can have great effect....in terms of money here!
- Microsoft SQL Express is a free database which can hold GB's of data, but is limited in its number of processors. You have Microsoft SQL Studio Management Express which seamless integrates with MS;
- The vanilla is a nice plugin for Python (PTVS) http://pytools.codeplex.com/..Now I have intellisense (http://pytools.codeplex.com/wikipage?title=Features%20Editor#intellisense) I can quickly run through the syntax, and understand with the aid of the debugger line-by-line what is happening.
Bullet 4 helped me a lot. I use IPython for trial-and-error and then add it to Visual Studio. With TFS I commit all my changes and with the taskboard of TFService I have all my tasks....but for now....learning Python and trying which algos are succesful.
I hope more people will move to C# since Microsoft has great tools and > 1 million of C# developers world wide.
J.