5.1 LANGUAGE CHOICE

Since the most commonly used programming language for developing trading platforms is C++ (or, at least, an object-oriented language), we will discuss design considerations assuming the object-oriented programming (OOP) environment. In particular, we will choose to provide examples almost exclusively in C++. This choice of examples does not imply an endorsement of the language for implementing trading platforms. In fact, OOP methodology, while holding considerable advantages as an ideal environment for developing trading platforms, also suffers from some significant weaknesses. These weaknesses are usually addressed using programming idioms and patterns. A more drastic approach to overcoming the weaknesses of OOP involves resorting to other programming methodologies. We will go through both these approaches later on in this chapter.

Writing a book on computer programming is always a difficult undertaking because the author has to guess and assume the level of programming expertise of his potential readers. My style is to assume nothing so that every reader of this book has a fair chance of following the ensuing discussion. However, this approach runs the risk of alienating those who are experienced programmers. Although they can safely skip over the introductory sections of this chapter, it may still be worth their time to go through this chapter in its entirety. This chapter starts with the often forgotten basics that may inspire novel and original approaches ...

Get Principles of Quantitative Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.