[squeak-dev] Proper Smalltalk lots of classes
Jimmie Houchin
jlhouchin at gmail.com
Fri Dec 31 22:24:08 UTC 2010
Hello,
I am porting the FIX protocol to Squeak/Pharo.
http://www.fixprotocol.org/
It is the Financial Information eXchange protocol. It is used by many
firms in the financial industries, stocks, forex, etc.
There is good documentation and also a semi-reference implementation in
Java.
http://www.quickfixj.org
I have a partial port started but I wanted a check with those who know
more than I about proper Smalltalk coding.
In the Java implementation there are over 2000 classes. In the protocol
there are approximately 90 message types and 956 field types.
I am initially creating the message classes as they form the basis of
the protocol and the fields are simply instance variables and methods in
the message classes.
I am not porting the Java library. I am implementing the protocol in
Smalltalk from the documentation.
Initially I have created a Fix44Field class with its necessary variables.
There are several versions of the Protocol and FIX 4.4 is the one
required for my application.
With this Fix44Field class I am creating a Dictionary with the 956
different field types. I am planning on creating a constructor method
which will create the desired field from the information in the
dictionary about the field and its properties.
Am I way off base here? Should I really create the 956 classes necessary
to for each field in addition to the 90 or so message classes, and then
I don't know what else I haven't discovered yet. Having 1000+ classes
just seems unwieldy and naively it just doesn't feel like the Smalltalk
way. I could be wrong, but I haven't seen such an example to my memory.
I don't know enough about Java to know if it is good Java form either.
When I have a reasonably fleshed out, tested and working solution, I
will make the source available under a MIT license. I would love to see
Squeak/Pharo become an out of the box viable option for trading
applications.
Advise and wisdom greatly appreciated.
Thanks.
Jimmie
More information about the Squeak-dev
mailing list
|