Hey everyone. I do a bit of programming in my spare time, and I've been on hiatus for a while due to taking up a second language. Now that I am taking computer science classes, I'm back into programming. Admittedly, they're far too easy for me, and I find myself overdoing everything and addressing possible sources of error. It is however, thanks to the classes that I was introduced to a few useful tools and visual basic with it's ease of creating GUIs (I know C++ and a few other languages, but haven't found one which leaves me only the back-end to worry about). While brainstorming for a program I'd like to make, I realized why I rarely do programming on my own.
I don't know how to create files. More particularly, I am only into storing information of a larger complexity than a simple variable, so I find the simpler ways to save files inadequate. For example, I often consider programs that serve the function of associating data and organizing it into classes for fast reference. One such example I have considered is a crafting recipe organizer with links to constituent parts, in-game info, and images for each recipe and a search option. Another more recent one is a language parser. I imagine these to such a depth that I understand the parts, but the data far exceeds my knowledge of higher level programming functions and tools. I need the capability to save classes and associations, rather than simple one-to-one associated variables.
My skill at the moment is quite good as far as procedural programming goes, especially for logic games and input-output. The problem is, I think dynamically and find simple programs far too easily understood. A question I have held in particular about files and databases is whether they hold raw data, or raw executable code. Moreover, I do not know of many languages that make GUIs easy to program (preferably to make visually). Ruby and C++ are my two favourite languages, but I could not get ogre to run for C++ and creating GUIs in windows is a nightmare full of code that distracts from the data I wish to display. Ruby seems the easier path, but I do not know how to use it to make anything more than a console application (though I know the syntax well and can make any number of text-based programs).
What I essentially need in order to improve are two distinct things. One, I need a simple way of rendering a GUI with minimal headache. Two, I need a way to save data as classes and objects and a way to search through this. In particular, I am interested in programming programs capable of compiling their own data and maintaining it (given a procedure to do so and input data to interpret), for which I need an easy way to manipulate these databases the AI will need. I excel at making simple applications, but I really need to have better, higher-level tools if I'm to have an easier time improving my dynamic programming. If it were not for struggling with filetypes and GUIs (and the errors that arise from inadequate knowledge of the forementioned topics), I would already be capable of such programs.
Thanks in advance, and I hope you understand the necessity of having the right tools if I intend to improve my code-crafting.