www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Is there a FIX engine written in D?

reply Kokyo <foo.bariush gmail.com> writes:
Hi there,

I've just read a thread about low latency programming using D. As 
a Java user, I'm developing low latency applications in the 
financial area. In Java, there are some comprehensive FIX engines 
like QuickFix/J or lightweight engines like Falcon available as 
open source. I like to look at those source codes to see how 
colleagues solved the different tasks to deal with FIX streams or 
sessions.

Now that I'd like to use the holidays to dive into D, I wonder if 
there's an open source FIX protocol engine written in D that I 
could use as a study object.

Do you know such a project?

Kind regards,

Kokyo
Dec 27 2015
parent reply tcak <1ltkrs+3wyh1ow7kzn1k sharklasers.com> writes:
On Sunday, 27 December 2015 at 09:27:18 UTC, Kokyo wrote:
 Hi there,

 I've just read a thread about low latency programming using D. 
 As a Java user, I'm developing low latency applications in the 
 financial area. In Java, there are some comprehensive FIX 
 engines like QuickFix/J or lightweight engines like Falcon 
 available as open source. I like to look at those source codes 
 to see how colleagues solved the different tasks to deal with 
 FIX streams or sessions.

 Now that I'd like to use the holidays to dive into D, I wonder 
 if there's an open source FIX protocol engine written in D that 
 I could use as a study object.

 Do you know such a project?

 Kind regards,

 Kokyo
I don't know any implementation of it (even first time I heard of FIX engine) in D, but since QuickFix has implementation for Fix Protocol in C++, a D binding can be written for that. http://www.quickfixengine.org/ http://www.quickfixengine.org/FIX50.html
Dec 27 2015
parent reply Andy Smith <andyrsmith googlemail.com> writes:
On Sunday, 27 December 2015 at 09:51:42 UTC, tcak wrote:
 On Sunday, 27 December 2015 at 09:27:18 UTC, Kokyo wrote:
 Hi there,

 I've just read a thread about low latency programming using D. 
 As a Java user, I'm developing low latency applications in the 
 financial area. In Java, there are some comprehensive FIX 
 engines like QuickFix/J or lightweight engines like Falcon 
 available as open source. I like to look at those source codes 
 to see how colleagues solved the different tasks to deal with 
 FIX streams or sessions.

 Now that I'd like to use the holidays to dive into D, I wonder 
 if there's an open source FIX protocol engine written in D 
 that I could use as a study object.

 Do you know such a project?

 Kind regards,

 Kokyo
I don't know any implementation of it (even first time I heard of FIX engine) in D, but since QuickFix has implementation for Fix Protocol in C++, a D binding can be written for that. http://www.quickfixengine.org/ http://www.quickfixengine.org/FIX50.html
An engine with a C API will be much easier to integrate with D than a C++ one. I just had a quick google and found this guy.... https://github.com/libtrading/libtrading/blob/master/docs/quickstart.md Mike Parker (aldacron) has written some great blog posts around how to wrap C apis with D, so I'd recommend reading them when it comes to wrapping an API. Cheers, A.
Dec 27 2015
parent reply Dejan Lekic <dejan.lekic gmail.com> writes:
 https://github.com/libtrading/libtrading/blob/master/docs/quickstart.md
Nice project - I did not know about it! Thanks! Major problem in writing a library which implements FIX protocols is lack of a good XML package. Yes, we have std.xml but it is far from good, and as we all know, it needs a replacement. Also, problem with FIX is that it may become redundant. There is a lot of criticism about it, and many exchanges decided to abandon it...
Dec 29 2015
parent Dan Davidson <dan email.com> writes:
On Tuesday, 29 December 2015 at 10:34:23 UTC, Dejan Lekic wrote:
 https://github.com/libtrading/libtrading/blob/master/docs/quickstart.md
Nice project - I did not know about it! Thanks! Major problem in writing a library which implements FIX protocols is lack of a good XML package. Yes, we have std.xml but it is far from good, and as we all know, it needs a replacement. Also, problem with FIX is that it may become redundant. There is a lot of criticism about it, and many exchanges decided to abandon it...
Is XML an issue for FIX? I was under the impression that XML was used to describe the data/messages, but not so much a requirement at runtime. Usually message are special character delimited strings, which D can do well with. In terms of it becoming redundant, what are some of the new competitors to it? Thanks Dan
Dec 30 2015