My first recommendation would be to go out and buy the book 'Mastering Data Modeling' by John Carlis and Joseph Maguire (http://www.informit.com/store/product.aspx?isbn=020170045X). Read it and use the tools and techniques to map out your data model for the database FIRST. The book is extremely easy to read, with lots of examples and stories about using the techniques described. It will really help you understand your company's data and what's important to be stored. (Full disclosure: John Carlis taught my Master's database course, and I freely admit that I "drank the Kool-aid". So yes I am a bit partial, but his opinions on data modeling do make sense.) Next, as others have suggested, consider Ruby On Rails for the "GUI". Everyone has a web browser so you don't have to worry about deploying the GUI. Also, Rails provides tools that make accessing the data very easy, so you don't have to spend time writing that database interaction code. Probably the biggest issue will be resolving the conflict between what 'Mastering' and Rails use for conventions: singular vs. plural entity/table names and natural vs. just-use-integer sequence primary keys being the two biggest. My advice would be to just use Rails' conventions when you get to the implementation stage. The point with the techniques in 'Mastering' is that you get a good understanding of your data before you start writing a bunch of code that assumes something that will change drastically later. Coey Christopher Small writes: > > Background: > > I'm interested in building a database for my company so that we can > store information on accounts, work orders, production records, > experimental data, etc. My programming experience started with > Mathematica, was followed by LaTeX, then by Matlab, then Maple, then > Labview and most recently, I've started learning Ruby. I really like > Ruby as a functional language, though I haven't gotten my feet too wet > with languages of that sort of ilk yet. I haven't been programming with > it (or any of the other) for very long, but I've found that with my > mathematics background I've been able to pick up all of these languages > very quickly, and feel quite confident that (with some work, to be sure) > I can build a database and GUI which will meet our companies needs for > an easy to use and highly flexible database. > > > Questions: > > Having not had much experience in the sort of languages which would be > suitable for such an endeavor, I don't know what the pros vs. cons of > using Ruby to develop such a program would be. My impression is that > with Ruby's rich class structure and flexibility it would be a good > language to use. What I don't know is if there are things that I need to > consider before getting too far down along this path. For instance, I've > read that the linguistic structure of Ruby was created with the > programmer in mind, not the computer. Does that mean that a ruby program > of the sort in question might be too fricken slow to deal with all the > info? I know that MATLAB is famed for it's array handling - is there a > way that embedded C compilations of matlab programs may be able to drive > an array based storage and retrieval scheme with more speed than Ruby > alone? Are there other problems that I haven't thought about? Have > others made programs like this with Ruby? Were they successful? > > The other concern of mine is making the GUI. Labview has a pretty simple > drag and drop style GUI development structure - that's all I've used on > that front. I tried working with visual basic once, but didn't get very > far, mostly because for what we were doing Labview was easier and > someone at my work was able to teach it to me (Incidentally, I've ben > learning Ruby for fun on my own time). As I understand it, there are a > few options for getting a Ruby-GUI. Ideally, this would be runnable on > either windows or mac (at work we use win but I run a mac on my > computer). I've downloaded Shoes, but haven't really used it at all yet. > It doesn't seem to be tailored for designing complex GUIs. As I > understand Cocoa is a great way to go if you want to run on macs - is > there a way to get a Cocoa script to run on PCs? How do programs like > iTunes work on PCs? In general, what would the best (or at least some > good) multi-platform language(s) be for embedding Ruby within a GUI? > > > Any and all help/comments/suggestions are welcome! Thanks. > -- > Posted via http://www.ruby-forum.com/. > -- Coey Minear Senior Test Engineer (651) 628-2831 coey_minear / securecomputing.com Secure Computing(R) Your trusted source for enterprise security(TM) http://www.securecomputing.com NASDAQ: SCUR *** The information contained in this email message may be privileged, confidential and protected from disclosure. If you are not the intended recipient, any review, dissemination, distribution or copying is strictly prohibited. If you have received this email message in error, please notify the sender by reply email and delete the message and any attachments. ***