Tips   >   About   >   Books


Someone once told me, if you read books and information about your area of work for 30 minutes a day, you can become an expert in your field within 2 years. At the rate of change in the computer industry I'm not sure we can ever catch up, but the suggestion makes a lot of sense.

Why bother figuring out things the hard way, when there is so much good information out there to help you learn so much quicker?

This books section lists books which I've read and recommend for Omnis Studio developers.

If you have a book which you recommend as good reading for Omnis Studio programmers, please send me an email along with your review comments.

Code Complete

* Code Complete written by Steve McConnell is required reading for any programmer. This book is filled with nuggets of excellent suggestions from a developer who has been around a long time and studied the code. The good, the bad, and the ugly. The information in this book is not specific to any language, so it can easily be be applied to the code we write in Omnis Studio. The naming conventions and coding style which I use have been heavily influenced by Steve McConnell. This is a book I've read more than once.

Database Design for Mere Mortals

* Database Design for Mere Mortals (A Hands on Guide to Relational Database Design) by Michael J. Hernandez is great for developers who don't have formal database design training. If you are new to SQL, read this book before reading any books on SQL! I sure wish I'd read this book before I wrote my first Omnis Studio application. Michael's step by step approach forces you to take extra time with designing the database. That extra time at the front end more than paid for itself when you write the application. The books is not specific to any database which is good for Omnis Studio developers.

Mastering SQL

SQL was something I had to learn when moving from Omnis Classic to Omnis Studio. After reading a number of books on SQL I purchased Mastering SQL by Martin Gruber. This is the reference book which I turn to when I need to figure out a SQL script. Mastering SQL has depth, but doesn't assume too much knowledge on the part of the reader. A nice balance for programmers who are new to SQL.

The Object Primer

To use Omnis Studio you need to get your head into object-oriented programming. When I started using Studio I had no idea what object-oriented programming was. I flogged around on my own spending a lot of time writing the same type of code as I wrote in Omnis Classic. After my first Omnis conference I decided to learn more about object-oriented programming and picked up some books.

The switch to object-oriented programming is a paradigm shift of the brain! Object-oriented programming takes discipline. If you don't follow the object-oriented programming principles you will end up with a bunch of messy objects oozing with methods and parameters. Take the time to read and re-read object-oriented programming books until you understand it before you write a lot of code. Experiment and play around with objects, public methods, private methods. Take some training courses and talk to people who know object-oriented programming. The StudioWorks framework gives hundreds of Omnis Studio classes which are written using object-oriented programming principles.

In trying to learn object-oriented programming I purchased and read quite a number of books. Trying to find an object-oriented programming book that doesn't immediately focus on C++ or some other specific language is not easy.

The book I recommend is The Object Primer by Scott Amber. This book takes you through object-oriented programming terminology and designing an object-oriented programming application. A lot of time is spent on design using CRC cards. (Class-Responsibility-Collaborator) I use the CRC cards and find they work well for planning application design and for discussion the structure with clients.

There is a sequel to this book, also written by Scott Ambler, Building Object Applications That Work. If you find the first book helpful, read this one next. A lot of the fuzzy object-oriented understanding gained clarity as I read the second book.

If you get through those two object-oriented programming books and are up for a real challenge try reading Design Patterns, Elements of Reusable Object-Oriented Software by Gamma, Helm, Johnson, Vlissides. This book is a tough read. The first time I tried to read the book, I gave up half way through. The second attempt, a couple years later, more of the book was understandable for me. You need to have a decent amount of object-oriented programming experience and understanding before you tackle the Design Patterns book.