Software for Writing of Trading Applications ?

all sound advice. i would agree with mactheknife that in the long run decoupling the business and front ends saves oddles of time further down the line :)

i'm no java expert but i'd avoid it like the plague. the few apps i've seen using it are slow and unresponsive.

if you are building a serious app then I would say C++ is the way to go. agreed steep learning curve but once you know your way around the compiler you can do some really great stuff which is difficult in VB etc and basically you can't beat it for performance if coded properly.

for quicker work however I would definitely look at C#. Its like programming with lego. using the vc.net environment is initally like being swamped with menus but once you've worked your way around its as close to point and click programming as you are going to get. couldn't really comment on the performance of c# tho as i've never written any serious apps in it.

all in my opinion only!

e.
 
Yup,
if I was prepared to invest fairly heavily in learning the programming language and environment before getting anywhere then I'd go C#, VB is the choice for developing the program itself until you have a pretty decent program doing what you want. I'd argue that the hard bit is developing the program to do what you want it to do, learn an easy language and develop you program, when it's doing what you want you can (if you want) learn a harder 'nicer' language and convert - it is far easier, having learned one language, to pick up another and convert your baby. It is all too easy to have an idea, go for the steep learning curve language, and end up an expert in Python or some such with not so much as a simple MA coded!
Translating from VB to C# would be a bit of a pain of course, but when the VB version was running you might discover it does what you want, and fast enough, that conversion isn't needed. My program runs in VB and can scan (depending on RAM) the entire US market in something like 2 mins on a decent PC... why on earth complicate life?
Faster programming isn't in it - sorry, but a decent amount of RAM and a middling CPU are all you need to run a pretty serious amount of data crunching in VB... you can speed up a 2Ghz CPU by 25% for a few tenners, why kill yourself with less friendly languages instead?
I've programmed a good few languages, as have many here from the sound of it - VB is easy and fast enough. Go for the quiet life, devote the brain cycles to developing the app rather than mastering the tool you write it with...
Dave
 
Programming ..

As a programmer - its not the flavour of the environment (e.g. VB vs Java vs C++) - They all have advantages and disadvantages ..
but at the end of the day you can use any language and make it fast and robust (but it does mean that you have to add a lot of sweat and tears - as well as know the language)


Paul suggests you want to do some analytical work - it really depends on how intensive the calculations are ?

Remember KISS !
 
I use Mathematica to prototype systems. Once you get the hang of the language, making changes and doing testing is incredibly fast. I have a java interface to pull data from historical text files and/or live feeds.

Once I'm happy with the system, I then re-implement in pure java.

The great thing about Mathematica is the enourmous flexibility and instant feedback.

Is anyone else using this?
 
C# is an excellent choice for trading program development.
It is as easy to use as VB but has most of the power of C++.
If you code well in C# it is just as fast as C++.

However, the syntax is cleaner than C++ and there are several
new features that make it suitable for real time trading applications including:

Support for multi-threading
Abbility to define classes with events
Managed environment for safety (no memory leaks or invalid pointer crashes)
Massive library of thread safe classes to help build apps quickly.

Only problems found:
Watch out for speed performance issues due to boxing/un-boxing
Garbage collection with lots of delegates can be hard to manage/unreliable

Don't bother using VB.
 
No you cannot.

However if you want to spend the next year writing an app you could knock up in Java, C#, C++ or VB in a day then please feel free.

With the power in PCs these days such tight code isn't warranted for 99.9% of apps...

JonnyT
 
yes but the comparison is being done between an unfinshed version of c# (ximian) and gcc. I would expect to see better numbers using microsofts c#. Actually in fact - why don't I just do this myself ;-) .....
 
Can I throw the cat amongst the pigeons here and suggest python ? :) It's modern language and comparatively easy to learn use the main drawback is that it's not the fastest language around.

C++/C# and Java will put you on a learning curve lasting a good few months hard work to get into and years to master

VB is a good place to start too

Just my 2cents
 
I have found all contributions on this thread that I started to be of great help and I thank (again) everyone who has taken time to reply. I think that python may not be suitable as speed will be important for the needs which I am hoping to address.


Paul
 
Top