{{Quickfixn}} Feature Suggestions
Grant Birchmeier
gbirchmeier at connamara.com
Wed Oct 16 11:42:48 PDT 2013
"The reason, given, why T4 is not used was that not everyone uses Visual
Studio"
No, this was never a reason. I don't know where you got that from. (We do
have experimental Mono support, but it's not the reason we use Ruby.)
On Wed, Oct 16, 2013 at 1:22 PM, Matthias Wolf <matt.wolf74 at gmail.com>wrote:
> I agree and I have pointed out this issue regarding code generation
> before. The reason, given, why T4 is not used was that not everyone uses
> Visual Studio, which I, however, find a pretty weak argument given what can
> be gained without the unnecessary Ruby+Nokogiri load. I find it hard to
> imagine that anyone running a FIX engine in Linux would consider QuickFIX/n
> in the first place, making the argument that some use different C# code
> editors kind of obsolete.
>
> Matt
>
>
>
> On Thu, Oct 17, 2013 at 1:41 AM, Thomas Tomiczek <
> t.tomiczek at nettecture.com> wrote:
>
>> Exactly.****
>>
>> ** **
>>
>> To add, Ruby is totally unneeded. T4 code generation is in visual studio
>> for ages and can do what is currently done a LOT faster.****
>>
>> ** **
>>
>> *From:* quickfixn-bounces at lists.quickfixn.com [mailto:
>> quickfixn-bounces at lists.quickfixn.com] *On Behalf Of *Phillip Wei
>> *Sent:* 16 October 2013 18:36
>> *To:* quickfixn at lists.quickfixn.com
>> *Subject:* {{Quickfixn}} Feature Suggestions****
>>
>> ** **
>>
>> Hi,****
>>
>> ** **
>>
>> We’ve begun testing QuickFIX/n here at BlueMountain Capital and have run
>> into a few issues. We are wondering if these are pain points for other
>> people too. We’re more than happy to lead these changes, but not if it
>> forks us significantly away from what others are doing (or, of course, if
>> we’ve misunderstood the issue).****
>>
>> ** **
>>
>> 1. The way the FixMessage project is included breaks intellisense. The
>> generator writes to FixMessag.proj, which is included in QuickFix.proj via
>> a project import statement. Doing it this way allows for a simpler logic
>> in proj_gen.rb (and things will compile) but autosuggest doesn’t work.
>> That’s unfortunate, since that’s one of the biggest appeals of having the
>> generate classes specify fields explicitly. If proj_gen.rb modified the
>> QuickFix.proj directly, this problem could be avoided.****
>>
>> ** **
>>
>> 2. Customizing isn’t a one-touch process. When customizing you not only
>> want to add additional fields, you’ll also (usually) want to ensure some of
>> those fields are required. However, if you’re handling multiple parties,
>> you can’t just add your changes in the existing XML files. Customizations
>> between parties will collide; what is required for one party certainly
>> won’t be even known by the other. So you create seperate XML files for
>> each party. But messages_gen.rb is hard coded against specific XML files,
>> so each new XML file requires modifications to successfully run. Then, to
>> generate the new messages, you re-run the generator. I appreciate this
>> isn’t a problem unless you have multiple endpoints you are targeting and
>> that smoother regeneration isn’t a priority if you aren’t doing it often.
>> But once you are customizing against many parties it’s easy to for this to
>> become frustrating.****
>>
>> ** **
>>
>> I think the generators could be modified to attempt to do something more
>> intelligent (infer the underlying FIX protocol from the XML file name). It
>> also seems that since customizations are always layered on top of an
>> existant protocol, having to fully respecify the protocol in each custom
>> XML file is unnecessary (and hard to read). Defining customizations as
>> extensions to the base FIX XML files could be a simpler way to manage
>> changes (think of customizations as XML partials that are merged). I also
>> think it’s smoother to have the message generation run as a project Build
>> Event. That way, all changes and updates can be managed within Visual
>> Studio.****
>>
>> ** **
>>
>> 3. Ruby & nokogiri as additional dependencies. Though it’s quite easy to
>> setup, I don’t think there should be additional language dependencies. All
>> our developers are familiar with .NET, and all our system builds include
>> Visual Studio. QuickFIX/n being in .NET was a big reason we decided to try
>> it out. Installing and running Ruby is something any developer should
>> easily be able to do – but it’s a roadbump that slows things down if you
>> don’t already have it on your system. If there is a strong and compelling
>> reason to be using Ruby, I’d be interested to hear it – but to me it seems
>> like the generator code could just as easily be in C#. It would be
>> straight forward to test too (just compare with Ruby output).****
>>
>> ** **
>>
>> 4. FIX 5.0 SP1/SP2 handling. The DefaultMessageFactory always hardcodes
>> FIXT11 messages to FIX50 and so it doesn’t support SP1, SP2 – or older
>> versions running either. As the FIXME comment indicates, it’s a known
>> issue. IMessageFactory.Create is only ever called from the
>> DefaultMessageFactory itself, or in Session.cs. The Session knows the
>> DefaultApplVerID – either the one it’s expecting (SenderDefaultApplVerId)
>> or the one it got (targetDefaultApplVerID), so if the interface was just
>> extended to take this value in, it could correctly determine the right
>> factory to use. Since this is a public interface, I realize it’s a
>> breaking change, so that may be why it hasn’t been updated – but, on the
>> other hand, FIXT11 basically doesn’t work at the moment.****
>>
>> ** **
>>
>> 5. SSL. Seems like a known and common request. I see an outstanding pull
>> request.****
>>
>> ** **
>>
>> Interested in hearing what other people’s views are on these matters.****
>>
>> ** **
>>
>> Phil****
>>
>> ** **
>> ------------------------------
>>
>> This e-mail is intended only for the person or entity to which it is
>> addressed and may contain confidential and/or privileged material. Any
>> review, retransmission, dissemination or other use of, or taking of any
>> action in reliance upon, the information in this e-mail by persons or
>> entities other than the intended recipient is prohibited and may be
>> unlawful. If you received this in error, please contact the sender and
>> delete the material from any computer.
>>
>> This communication is for informational purposes only. It is not intended
>> as and does not constitute an offer or solicitation for the purchase or
>> sale of any financial instrument or as an official confirmation of any
>> transaction. All market prices, data and other information are not
>> warranted as to completeness or accuracy and are subject to change without
>> notice. Any expected returns are provided for illustrative purposes only
>> and are not intended to serve as, and must not be relied upon by any
>> prospective investor as, a guaranty, an assurance, a prediction of a
>> definitive statement of fact or a probability. Investment in funds managed
>> by BlueMountain carries certain risks, including the risk of loss of
>> principal. Unless indicated otherwise, performance results are presented
>> net of fees and expenses. Certain market and economic events having an
>> impact on performance may not repeat themselves. Any comments or statements
>> made herein do not necessarily reflect those of BlueMountain Capital
>> Management, LLC or its affiliates. PAST RESULTS ARE NOT NECESSARILY
>> INDICATIVE OF FUTURE RESULTS AND NO REPRESENTATION IS MADE THAT RESULTS
>> SIMILAR TO THOSE SHOWN CAN BE ACHIEVED.****
>>
>> _______________________________________________
>> Quickfixn mailing list
>> Quickfixn at lists.quickfixn.com
>> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>
>>
>
> _______________________________________________
> Quickfixn mailing list
> Quickfixn at lists.quickfixn.com
> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>
>
--
Grant Birchmeier
*Connamara Systems, LLC*
*Made-To-Measure Trading Solutions.*
Exactly what you need. No more. No less.*
*
http://connamara.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20131016/5aab8671/attachment-0002.htm>
More information about the Quickfixn
mailing list