It's been a long time since I've actually programmed a computer and I've realised how much I miss it. Technically speaking I program regularly due to creating so many websites but those for the most part are visually created and it's not very often I delve into program code.
While programming is pretty much a science there's a lot of art than goes into it too. To convert a task into multiple small steps, converting a problem into a sequence of commands, to complete that said task is an art form in itself. Two programmers for example could write programs that perform identical tasks yet the way they in which solve them could be vastly different. Then there is style to think about. Should the program be designed to run as fast a possible? Should it occupy as little amount of memory as possible? Should it be neat and easily readable? Should all the variables be structured for possible future updates? There's a lot to think about before the program is planned.
I was one of those programmers who pretty much specialised in BASIC. There were lots of variations to BASIC some vastly different that others but my favourite was SamBASIC, albeit that only applied to one computer, or a Windows PC if running an emulator. I also dabbled with Assembly language, C++, Pascal and Fortran. I always liked to keep ahead on the latest programming languages as well as the older ones. The only one that I've failed to get a grip of is C# unfortunately.
Computer programming is one of those odd professions where it's more about the personality of the user rather than their academic prowess that makes them a good programmer, patience being the main virtue. There have been incidences where people have been master programmers without realising only to discover their talent later in life. The story of a vicar comes to mind who created databases as well as a secretary who made printer drivers. In fact I think computer programming should be routinely taught in schools to discover if anyone has such prowess and to also teach people how complex programming actually is.
Programs can often appear vastly complicated, resembling long chemical formulas in some instances, but while complex as a whole each step is simple instruction. I have fond memories of sitting down in front of a computer and imagining all the program variables moving around inside my head resulting in a simple side scrolling video game. I get a warm fuzzy feeling when seeing a computer program listed upon the monitor but I don't get that feeling with visually created programming such as using a web editor.