My First Full Project – Lee’s Simple Book Database

 

The program in action

So, my first ever full project that I have ever written is a simple database program used for storing basic information about books is finally finished, and I am proud of it. It may not be much, but this is the first personal project that I have made that isn’t a clone of an existing program like I did when working with the ReactOS project. This has also been my very first experience with the VALA programming language. For those who don’t know, VALA is a high-level language similar in syntax to languages like Java or C#, but instead of the final program running in a virtual machine, it instead converts it into standard C code, and then compiles it that way. Getting used to the syntax was mostly straightforward, but it did take some trial and error to figure out certain features. For instance, I learned that if you write a function with parameters that you wish to output, you need to specify the out keyword so the compiler knows to do that.

Aside from VALA, I also learned the basics of the SQLite library so I knew how to send information to a database. Since the syntax is pretty much the same as other major databases out there (MySQL, PostgreSQL, etc.), finding documentation on it wasn’t difficult. The only major problem that I faced was when I was getting the ability to modify entries implemented. I wanted the ability to change as one or more fields, which means that I had to use a comma to separate which values to add. Since even one misplaced comma causes a syntax error, I had to find a way to keep this in consideration without writing too much redundant code that would take too long to figure out and debug. I don’t think there are any corner cases to worry about, but then again, I didn’t do that much extensive testing on it.

I’m not sure where to go from here though. I’m thinking of making it into a full GUI program now, but then again, I might create something else as well. My major obstacle is to make sure that my next project doesn’t grow too ambitiously in scale. It’s easy to start out with a simple idea, and then have the idea balloon out of control until you are essentially making a clone of Microsoft Excel for a simple table program. That is one of the reasons why my work has been so slow over the years. The idea grows out of control in my head, and I end up never making the program in the first place because it would take so long to make.

Comments