With each year, there comes a natural urge to reflect on the years past and forecast the coming year. And, like every annual transition, there are plenty of retrospectives and predictions about everything from weight-loss, or gain, to predictions for scientific achievements and medical advancements. However, the state of computer programming is often overlooked. This simply cannot stand.
Mobile Devices and the Integrated World
Gone are the days of programming simply for the desktop. Web development has matured into a truly vibrant programming medium and has stepped away from exclusively script and markup languages. Flash is out - HTML5 is in. Developers need to be versed in Android development, iOS development, and now Windows Phone development if they want to remain relevant in highly demanded fields of mobile development. And these systems are maturing; Apple recently released the iPhone 5 and is consistently developing new versions of all their products. Android devices are flooding the market, and there has been a significant shift in its platform as it has moved to Honeycomb and beyond. Microsoft released the next iteration of the Windows Phone.
To make things even more exciting, and, frankly, complicated, it isn't just tablets and phones that are generating buzz on the consumer level. Smart TV's, appliances, and other electronic devices are storming the market in an effort to stay cutting edge and a massively and truly integrated electronic world is fast approaching. Gone are the days of simply programming for a computer. Industry is demanding developers to specialize in a myriad of devices, and programmers are eagerly learning these new technologies. Today, there are many resources to learn programming online as well.
The Cutting Edge
What was once revolutionary is now commonplace. Artificial Intelligence is no longer science fiction. Self-driving cars are being demoed at the Consumer Electronics Convention and the keyboard and mouse are making their first steps into antiquity.
As boundaries get pushed, new ideas take root. Neural Networks, Collaborative Filtering, Symbolic AI are now studied not as brand new ideas, but instead as maturing fields of specialty. Seed AI and Computer Vision are at the forefront of the industry, now.
Indeed, even the way we interact with our programs is changing. Touch is quickly replacing the mouse. Voice-recognition is quickly becoming more widely used as the technology has progressed in recent years. The future imagined in once fantastic worlds such as Minority Report, Star Trek, and others seems as though it might be a decade, or less, away.
Change in Demand
With the proliferation of need, computer programming has become a dichotomous profession. Depending on the field, programmers need to be either extremely specialized, such as for specific devices or proprietary operating environments. Opposite this, web developers, mobile developers, and others are seeking to broaden their skills to remain relevant in the emerging programming landscape.
Computer programming, though no longer the newest of disciplines, is vibrant, growing quickly and moving beyond its adolescence. 2013 and beyond should see a new world for developers, industries, and consumers alike. The question is: What will tomorrow bring?