Thread overview
Is there a FIX engine written in D?
Dec 27, 2015
Kokyo
Dec 27, 2015
tcak
Dec 27, 2015
Andy Smith
Dec 29, 2015
Dejan Lekic
Dec 30, 2015
Dan Davidson
December 27, 2015
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
December 27, 2015
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
December 27, 2015
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.












December 29, 2015
> 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...
December 30, 2015
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