MONTGOMERY VILLAGE, MD, January 16, 2014 – Mental health professionals, elaborating about the fascination of many for computer games (including console games), have said that the attraction is in what they offer the user. Computer games usually provide a universe with set rules differing in complexity and tools to accomplish a challenge. In fact, they create a universe that the player can easily understand, different than what life offers.
Everyday persons of all ages, educational backgrounds and economic settings take time off from the complexity of life to spend hours playing. Today they can be found in almost any platform, from the smart phone to the super computer. The word escapism comes to mind when evaluating the fascination of many for computer games.
Of course, like anything in life that has acquired a level of sophistication, computer games are different as they strive to fit different needs. Some people engage in simple games that fill in time otherwise spent in a transportation venue, a doctor’s office or the Motor Vehicle Administration. These games usually take the place of books and magazines that were the de facto in these places.
Other computer games create virtual universes that morph and evolve according to the sophistication of the player. The player needs to immerse him/er self in it to reach the objectives. The buildup, arc and resolution of each episode or game may take several hours of intense concentration in the part of the player.
Computer programming provides the tools needed to create the ever evolving realistic settings of computer games. Millions of lines of code go into creating even the simplest game. In programming the user is seen as the enemy that is out to wreck the wonderful work done by the programmer. To protect themselves, the programmers have to create a defense for every possible situation the user wants to get into. If there is user input, validation is used to prevent the user from wrecking the game and in fact any application. In many games/programs/applications, the code used for validation of input can be significant.
Computer programming can be construed as the computer games for geeks. The programmer has to have a clear objective in site, develop a plan to accomplish the objectives, have the weapons to accomplish the plan and understand the rules of the programming language. A possible difference is that in programming there may be many ways to code the application, some more elegant than others. In fact, the “Integrated Development Environment” or IDE, that some programming languages offer can actually analyze the code and make suggestions how to make it more efficient or elegant.
For those of us who started programming using just the compilers/readers and a reference book, these new IDEs are heaven-sent. Microsoft provides built in debugging for how code should be written in the form of “Intellisense”. As one writes the code, the IDE provides all possible commands that one can use. Programs like Eclipse can be configured to provide similar IDEs for Java, Android development and other popular languages.
Many have been exposed to computer programming in high school or college. Some liked the abstraction and structure that programming entails, others were not interested. It is curious that while most technical disciplines like engineering, physics and mathematics channel students into programming; other careers do not, but some end up taking up programming. One good example of the latter is Philosophy. Many programmers came to programming from Philosophy. One can speculate that learning to think logically is an advantage to programming.
Even when a person is not a professional programmer, some knowledge of it can make life better. If you use a computer for more than browsing the Internet, watching videos and using email, automating some of the repetitive actions can save you time. For example, all Microsoft applications use Visual Basic for Applications (VBA) to automate them. Built in capabilities (libraries) provide tools to execute actions that otherwise would take a lot of time. For example one can build in a contacts data base in Access that can be associated with email, appointments, conflicts, analysis, mass mailings and things like providing a map and directions to a service provider, all from within a simple data base with some VBA added.
MS Word and Excel offer “macros” which are nothing more than a way to “record” all the steps to automate repetitive tasks. These macros are automatically created in VBA and can be easily edited to improve or repurpose.
The author wrote an application using Access and VBA that would find the distance between all water plants in a state to try to integrate laboratories services to save funds. The data base included more than 110,000 plants nationwide.
If you have been thinking of learning or refreshing your computer programming skills, many community college offer enrichment courses for reasonable costs. Montgomery College in Montgomery County, MD has several venues where short length courses are taught. Of course, colleges and universities offer semester-long courses in any computer language you want to learn/improve.
One of the participants in a recent programming course, when asked why she was taking it, responded that she wanted to write and app that would make her a millionaire. Who knows?
(The image above is of a segment of code in C# that the author wrote related to dates manipulation. Please send a note to the author [email protected] if you want the final application accompanied by the code in C#.)
Mario Salazar is in Facebook (Mario Salazar) and Twitter (@chibcharus).