What Does the Future Hold?
By Elden Nelson
Yesterday, my 8-year-old son, Nigel, wanted to show me a computer game he had just "written" (see Figure 1). To me (and to you, I'm sure), it looked like just a bunch of folders. That's his game, though, and - if you'll allow for some parental indulgence - it's a pretty clever one.
Figure 1. Here's my son's first computer game. No programming required.
According to Nigel, the game is called "The Game." The board is made of four concentric rectangle paths. When you click on a folder, then press and hold the letter it starts with, Windows cycles through selecting all the folders in that rectangle, like a roulette wheel. The object is to let go of the key when the "youwin" folder for that rectangle is highlighted. You then get to move on to the next, smaller rectangle. There, the cycling goes faster, and it gets harder to land on the right folder. The person who can get all four "youwin" folders in the fewest tries, wins.
I doubt "The Game" has the Xbox people shaking in their boots, but it's a pretty fun game and Nigel didn't write a single line of code to create it; he simply used the tools that exist on the Windows Desktop in a creative way.
This got me thinking: Development tools are becoming increasingly sophisticated and automated, and that's not going to stop. By the time my 8-year-old is 23, how much development will actually be of the hand-coded variety? If he chooses to be a computer programmer, will he create his applications entirely visually, kind of like he is now? Or will he still need to know a programming language? Essentially, what will being a "developer" mean in the year 2017?
Bear in mind that this question applies to more than just the kids who'll start programming - at least professionally - years from now. Most of us will still be in the workforce for a good long while yet, so this question applies to us, too. So get out your crystal ball and tell me: What do you think your job will be like in 15 years? Pretty much the same? Or wildly different? I'm interested in your thoughts. E-mail me at [email protected].
In the Much Nearer Future ...
Data access is the single most requested topic in asp.netPRO, so I'm confident you're going to love our special year-end blowout November/December double issue. Here's a mere sampling of what you'll find (yes, there's even more than what I'm mentioning here):
- Look into the data technologies crystal ball: Dave Reed, general manager of XML and data technologies at Microsoft, discusses where data technologies are headed.
- Integrate XML with SQL Server 2000: See how to use the FOR XML T-SQL extension with the SELECT statement to retrieve publishers and their titles. Use the FOR XML EXPLICIT mode to hand-craft your own custom XML schema. Pass an XML stream to VS .NET using a SQL Server stored procedure. Even learn to improve the performance of your Web server by leveraging cached data.
- Defend your database: Know the four major disciplines you must acquire to defend your sites' database interactions effectively. If you understand the major concepts underlying your defense plan, you can identify and adapt to new threats as they arise.
- Generate code to call a stored procedure: Creating the code to call a stored procedure can be pain. Using the info and code from this article, though, you can build a standalone utility (or download the add-in) to query a SQL Server database for the parameters of a stored procedure and write the code to call that stored procedure.
- Get the message out with SQL Server Notification Services: Learn to use XML, SQL, and the Microsoft .NET Common Language Runtime (CLR) to build a scalable notification app quickly. You'll be able to generate messages that go to a wide variety of channels, including Short Messaging Service (SMS), e-mail (Simple Mail Transfer Protocol, or SMTP), Instant Messenger (IM), and .NET Alerts.
Elden Nelson is editor-in-chief of asp.netPRO and its companion newsletter, asp.netNOW. E-mail him at [email protected].
Tell us what you think! Please send any comments to [email protected].