If I do real well I won’t have a job

Working for Visual Studio I’ve become convinced that, in reality, the ultimate mission
of my team is to put developers out of business.  On the Visual Studio web site
you won’t find that exact statement.  The closest vision you get is “Rapidly
build applications for Microsoft Windows, the Web, and mobile devices” or maybe you’ll
stumble on a presentation entitled “Tools to Power Your Vision”.  I can’t exactly
tell what Ari means by “Powering” your vision.  I would adjust it to “Tools to
turn your visions into reality.” Where am I going with this?

In X years there will no longer be a need for programming languages.  Instead
the tools will speak the language of the person who has the software vision rather
than simply that of the person who knows how to translate that vision.  This
is not to say I haven’t met developers that wouldn’t be capable of designing great
end user software, but generally speaking, the talents required for this goal are
not the same talents required to write the most efficient algorithms.  I’ve run
these comments by a few people who looked at me a little odd, maybe the same way you’re
looking at me now.  Think about it. 

First machines spoke 1 and 0, then they spoke assembly, then high level languages
like C came along (complete with their own automated “translators”), and more recently
the rise of “interpreted” languages such as Java, VB, have been all the rage. 
Interpreted really just means that the language is close to the language we would
use to describe what something is doing so it has to be translated an extra time before
the machine knows what we are talking about.  Sometimes you could interpret the
goal of Visual Basic as “Remove the barrier of coding from the developer.” I think
Microsoft called it RAD.  I see all this progress and it makes me realize that
what we are really doing is enabling more people to, as the commercials say, “realize
their potential” without having to speak a low level language.  

Don’t ask me which version of Visual Studio will first have the option to remove what
we would currently call code completely, but its coming and IMO that’s what our true
vision is.  It’s not a bad thing by time it’s here I’ll probably have either
found something else to do or I’ll be retired. 

What led me to write down my wacky prediction?  2 frustrating hours spent writing
a 1 page SQL query on a poorly designed database in an attempt to save 10 minutes
a day of my time.  It had been a while since I “spoke” SQL and the computer didn’t
yet understand my explanation of “But all I want is to cross reference these ID numbers
with string information stored in several tables across two databases”.  It also
didn’t respond to pounding or my threats to turn it off.  In the end I was triumphant
and was able to watch the results of my query fly by only to realize that the database
I was going against was not ‘live’ enough data to save me my 10 minutes a day.  
I’ll be happy when there is no need to learn new languages. 

Thanks for reading,


Comments (4)

  1. J.P. says:

    your right….sort of.

    The only kink in the problem is that whatever translation happens between whatever future language and/or environment exists in the future that will convert to the language that machines understand. Can never be optimal for EVERY situation. I know compilers are crazy good, but once you throw more and more abstraction layers in, more and more junk gets thrown in thats not really needed. Thats how I see .net right now, and why I hesitate to keep writing .net code. I think I will go back infact because of all the other crap the framework uses that my code doesn’t really need.

    SOOO, you will still need people that know the machine language (or some closely abstracted simile) so that people programming in this high level pipedream can know how much mcahine resources they are wasting ;-).