Mar 09 2012
So I recently spent the past 3 weeks creating a program from scratch in Java with no prior knowledge, reading no books on the subject, and no tutorials:
It all came about because keeping a record of the homebrew wine I occasionally make somewhat outgrew the spreadsheet it was originally kept in. Cue a search of the internet looking for a proper program that does the same thing, records brews, notes, recipe’s, pictures, has various calculators and info. All I could find at the time was a couple of outdated websites that looked like they were made in the 90′s, a few programs for storing homebrew beer data (doesn’t quite fit the needs of wine brewers… different processes), and a rather large and expensive program for more professional vineyards/winery’s, which was somewhat overkill for my needs (I did later find BrewTrax which is basically what I ended up writing a very simple version of, but more on that later).
So failing to find an appropriate bit of software at the time and definitely needing one, I fired up Eclipse and thought “how hard can it be?”… turns out, not very! If you want to learn programming don’t bother reading anything, just have a project with an end goal and then just start. First problem was obviously “how do I make a window?”, google it, insert result into your program. Next problem; “how do I add some buttons/text to that window?”, again google it, insert result into program. That’s where I was when I had that (lol):
…a very Java looking application with a rough idea of the buttons I wanted and zero functionality. Next problem then; “how do I make the buttons do stuff?”, google again, use result. And so on, how do I store data in a database, how do I retrieve data etc. etc. Just keep furiously googling everything until you have a working program that does all you need! Then once you’re at that point you just have to make it look pretty and fix all the bugs (there will be bugs, there are always bugs), et voilà:
An entire perfectly working (minus 2 cosmetic bugs that I have no idea how to fix) open source program that doesn’t look like poo and does exactly what I need it to without any bloat (even works on linux and mac)! Made as I said above, with no prior knowledge, no books, no tutorials, just a whole lot of googling! All in the space of 3 weeks too, god knows how long it would have taken to get that done in an actual office environment with professional qualified programmers… even simple things like a text change can take weeks in some companies I’ve worked, lol.
As for that BrewTrax thing I mentioned earlier, it pretty much is a far more complex version of what I made. I paid for it because I wanted to check it out, and on paper it sounds great, but in practise it was far more effort to use than I cared for. Not to mention if what seems like half of the application is taken up by menu’s and toolbars then something’s gone horribly wrong. See below (green highlighted bits are the bits of the program that aren’t menu/toolbar):
I could list the other silly design decisions (no search function, only endless “filters” for example), but then it’d just turn into a long winded rant, lol. So back to the original point of my post…
You don’t need to be a programmer to make a program!
Anybody can do it with a bit of googling. Now if only drawing ability could be acquired through a quick google!
Edit: On further playing with BrewTrax it’s not too bad once you change the layout, pick what columns you want, set your filters and then hide the filter box. Still could do with smaller icons/padding though. And it seems there *is* a search function, just not particularly obvious at first, lol. Now if only it had more users so that their live data thing and online recipe’s etc. had more use.