Ever since I started tinkering around with coding again I just cannot stop. If you have followed this site, I have recently modified a WordPress theme and gave the site a makeover. I have always enjoyed coding since my school days (took computer science as one of my core subjects) and it is the pure joy that comes from solving problems and fixing bugs that keeps me going. It can get frustrating at times especially when things simply not work even when everything seems perfectly right to you. But boy oh boy that sense of achievement when you finally crack the problem. It is superbly satisfying.
I cannot say that I’m great in any programming languages as the lessons taught in school were rather basic and foundational. The most I’ve done with Java was creating an application that stores data. The hardest part of it was actually getting the GUI (graphical user interface) done as it was completely outside of school syllabus. Nevertheless, I took the time and effort and managed to produce a simple but decent application. I’ve also worked with developing some kind of simulation queue program for a research paper. You cannot imagine the amount of anxiety I had when I submitted the final paper. The problem was that when I proceeded further in my research, I realize my approach was too basic and to actually do a proper in-depth simulation, I needed a lot more than what I have. It was way beyond my comprehension. All that math and algorithms was simply crazy. That said, I submitted my fairly basic paper and obtained a “B” (“A” being the best). I guess I was thinking way too much and the markers know that to be further in-depth required much higher knowledge and understanding.
I’ve studied Java in school and recently started with CSS and PHP. The current way I do things isn’t exactly proper because I simply jump straight into creating things while not learning the basics. Things like proper indentation and documentation (while seemingly unnecessary) are definitely important foundation that needs to be one within the coder. Oh well, I simply enjoy creating things that actually have uses rather than go learn everything from step one. Hopefully this doesn’t come back to bite me in my ass in the future.
Programming in general isn’t difficult. It is all about logical sequences. On the surface, programming is basically translating actions into code that the computer can understand. The way I go about doing things is to describe briefly (in English or whatever spoken language) how I am going to solve the particular problem. I then break them down further into different steps and further add on to the details. Once that is done, you simply have to translate that into code.
For example: How many apples are there in a basket that has both apples and oranges. The first step, describe the solution in spoken language. First, I will take the basket. Second, I will pick up the fruit in the basket. Third, I will see if the fruit is an apple or an orange. Fourth, I will take mental note of the amount of apples until the basket is empty. Once that is described, you can simply translate it into code. The basket is an array. The fruits are elements within that array. Simply run through the whole basket and take down whenever the fruit is an apple. Once basket is empty, report the final number.
The listed problem is definitely extremely basic but hey, it basically works like that. With that said, I am currently developing a site to keep note of all the game bundles out there. I do have an always updated list of game bundle sites but I feel that having an always updated list of game bundles will be more effective. I also feel that with the huge amount of bundles available in this day and age, a site like that will be pretty useful. The site will require manual work in terms of inputting the bundles and games but there will be many things automated as well. More details about the site once it is ready for some kind of release. I am actually really excited to launch the site as soon as the basic functions are working.
So yeah, back to coding and totally enjoying it! If you have some free time, you should learn to code too! Maybe this video on programming will inspire you to do so.
[first photo by: Yuri Samoilov via Flickr]