Recommended reading
If you want to contribute to the code effort then get the latest version of the code from Git. You'll discover that LyX is written in C++. We would expect, therefore, that you have some skill with C++ and Object Oriented programming.
Since LyX version 1.1 the Standard Template Library (STL) is being used for most data structures. See some online references recommended by our developers. We also have some simple coding rules that we try and adhere to.
We also recommend that you read some of these books:
Author(s) | Title | Review |
On STL | ||
David Musser bookpool | STL Tutorial & Reference Guide | Comprehensive tutorial and reference on STL |
Matthew H. Austern bookpool — amazon | Generic programming and the STL | For advanced STL users. It covers the STL in much more detail and depth. |
On Object Oriented Design | ||
Erich Gamma et al. bookpool | Design Patterns, Elements of reusable OO software | Patterns play the same role in OO Design as in architecture and engineering; helping to build complex systems. |
Ivar Jacobson et al. bookpool — amazon | The Unified Software Development Process | It goes beyond mere object oriented analysis & design to techniques that support the complete software development life cycle. |
Grady Booch et al. bookpool | The Unified Modeling Language User Guide | Suitable for developers unfamiliar with the UML and useful to experienced developers who wish to learn how to apply the UML to advanced problems. |
James Rumbaugh et al. bookpool | The Unified Modeling Language Reference Manual | The definitive reference to the UML from the original designers. |
On C++ | ||
Scott Meyers bookpool | More Effective C++ | Introduces a number of tricks, like smart pointers and ways of handling multiple dispatch etc. |
Jeff Alger amazon | Secrets of the C++ Masters | This book is almost entirely dedicated to smart pointers and the wonderful things you can do with them. He also talks about homomorphic class hierarchies. |
Bjarne Stroustrup bookpool | The C++ Programming Language, Third Edition | Provides comprehensive coverage of C++ language features and standard library components. A basic reference. |
Herb Sutter bookpool | Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Exception-Safety Solutions | Excellent book gives lots of insight. |
Online references
On C++
The C++ annotations book recommended for those that know some C programming, and want to learn C++ without spending a fortune on a book: http://www.icce.rug.nl/documents/cplusplus/
More C++ courses and tutorials online:
http://www.desy.de/user/projects/C++/Learning.html
http://www.cs.wustl.edu/~schmidt/C++/.
Some interesting C++ related articles: http://pobox.com/~oleg/ftp/c++-digest/
On STL
The SGI STL documentation (very good for STL): http://www.sgi.com/tech/stl/
A site by David Musser: http://www.cs.rpi.edu/~musser/stl-book/