I’m going to be showing my age here a bit but I remember when Visual Basic (VB) was born. To this day I still recall memories of using v3.0 (circa 1993) to add an icon to a bland gray beveled button whose action was to retrieve data from an Access v1.0 DB (thank you JET drivers) and thinking "this is a big deal." There was something to be said for the good ol’ days (DLL Hell anyone?) but I think the quote of “it was the best of times, it was the worst of times” sums it up quite nicely.
A few gray hairs later and the industry for software development couldn’t be brighter. Whether your passion revolves around mobile, web or rich client side development, the tools available to create an application/system are simply phenomenal.
Starting with the foundation that truly everything is built from, let’s discuss the evolution of Visual Studio (VS). Long gone are the days of incompatible integrated development environments (IDE) and now are replaced with one cohesive place to develop basically any project, in any language that you choose. A truly remarkable accomplishment given such an enormous task.
Using VS for mobile development with the SDK for the recently released WP7 couldn’t be easier. Phone emulator, XAML editor and all the goodness that VS offers is just a click away. Having to do multiple installs and change configuration files in the hopes that everything works when the planets align just right are a distant memory. Add in a sprinkling of Windows Communication Foundation (WCF) services, bake at high for a pre-determined time frame and what should come out are some nice juicy bits that will be deliciously consumed by end users.
While mobile and native development have expanded tremendously, the web has grown to such an extent that its presence is intertwined with our very existence. Having an application/system that’s not web-enabled is almost unheard of. To that end, organizations who used to invest heavily (and still do to some degree) in complex data centers with intricate redundancies can now focus on the bigger picture by leaving the infrastructure to someone else. Enter: Azure.
Windows Azure, or cloud computing as a whole for that matter is just the tip of the iceberg when it comes to high performance computing. This topic is mammoth and I certainly couldn’t do it justice in a one paragraph synopsis but having scalability, flexibility and a myriad of other options at one’s fingertips (i.e. AppFabric, Content Delivery Network [CDN], Storage, etc.) will propel a vision into reality.
Although mobile and web development are garnering the greatest attention as of late there’s something to be said for software that gets installed via a setup package or by some other means (e.g. Click-Once). Windows Presentation Foundation (WPF) applications are the steroid using big brother to the old Windows forms applications. Building applications that have stunning visual effects (e.g. UI for a media player) and incorporating high resolution images/videos has never been easy; that is until now.
There’s no denying the fact that in such a short period of time software development (and hardware as well) have made great strides by empowering those who are responsible for creating such tantalizing products and devices. I can only imagine what the next few years or decades will bring regarding the tools and technologies available but one thing is for certain: it’s a great time to be a part of the software industry.