I am creating a new application for personal use and would like to solicit some input on what languages/libraries/etc I should use.
I am making a little program to help me schedule my landscaping chores to end the needless killing of innocent plants (paper schedules aren't cutting it).
I need to have:
1. GUI to make it easy to use
2. OO so i can have planter classes, plant classes, etc.
3. A Calender library so I dont need to do all those calculations myself
4. Some form of persistence (since I need to be able to store info even when the app isnt running.)
I am most experienced in C++ since that is what I used most in college, but so far JAVA seems like my best bet. Unfortunately I don't know what I should use to handle the persistence issue (XML, JDBC ...).
I have experience with relational databases, but I have a feeling that may be overkill for a simple app like this.
Initially I want it to be like something you could make using PHP/MySQL, but I want it to be standalone and not browser based.
Java would be fine, free and relatively simple. You can use streams to manage file input/output with very little effort. Java provides the ObjectInputStream and ObjectOutputStream classes for reading and writing of serialized data. Meaning that any class you write should include the Serializable interface (conveniently, it requires no method implementation). The syntax is simple, similar to C++, minus the headaches such as multiple inheritance, memory allocation, etc. An extensive set of libraries exist (packages, see java.sun.com APIs) for data structures, common algorithms, I/O, GUIs through Swing, and more. NetBeans is an IDE that provides a visual GUI creation interface along with other nice features such step-through debugging and (to borrow a Microsoft term) intellisense. Eclipse is another such IDE, though you would have to dig around for a drag and drop GUI.