Want more...Magic

Posted by on in Blogs
Programming is magic.  Developers are pulling software rabbits out of their hats every day. At the same time, what we do is also very real to our users.  When my daughters were young they played Magic the Gathering card game by Wizards of the Coast.  I would buy the card packs and individual cards for them and they would spend hours assembling their game play decks.  They would also trade cards with each other and with their friends.  They would play against each other and also go to the local hobby store and play against other kids.

Playing Magic the Gathering games taught my daughters about strategic thinking and preparation for battling opponents.  In software development we also have to prepare for our projects, build a strategy, assemble a team, and start the battle.  In programming, we create something from nothing. That sure sounds like magic.  The users of software often have no idea what is going on inside the computer, so to them what build is magic.  On some tough projects, in my career, it was magic that they were ever completed and worked.

Some of the best magic quotes come to mind as I am writing code.  Here are three of my all time favorites:

  • "Magic is believing in yourself, if you can do that, you can make anything happen." - Wolfgang Von Goethe

  • "One man's 'magic' is another man's engineering. 'Supernatural' is a null word." - Robert A. Heinlein

  • "Any sufficiently advanced technology is indistinguishable from magic." - Arthur C. Clarke


In programming and our industry, we have magic numbers, magic quadrants, magic methods, magic squares, magic literals, computer magicians, computer magic tricks, and more.  The magic of computer programming allows every developer to build the best software, design the best user interfaces, create the fastest algorithms, and take advantage of the magical hardware advances.

Stanley Kubrick once said about movies, "The screen is a magic medium. It has such power that it can retain interest as it conveys emotions and moods that no other art form can hope to tackle."  Behind the computer screen, many developers are building software that is changing our world, solving business problems, and entertaining users.  To see two huge examples of software (and hardware) take a look at the magic that Pixar and Industrial Light and Magic create for the movies.  Both companies have won numerous awards for the software and the technology they create.

In his blog post, Manoj Thulasidas writes about the "Magic of Object Oriented Languages". Some of his comments try to take the magic of programming down a few notches.  I believe that the collective work of programming language designers has added tremendous power, flexibility, and expressiveness that every developer uses each day.  Another recent blog post, "Magic considered harmful: teaching the first programming language", talks about experiences in teaching object oriented programming to first time programmers.

In the movie, "2010" (the sequel to "2001: a Space Odyssey"), HAL 9000 asks Dave Bowman "What's going to happen?"  Dave replies "Something wonderful". There is magic being developed at Embarcadero Technologies that I soon will be able to blog about.  All of these blog posts during July are definitely leading up to something.  In the meantime, what programming magic have you conjured up lately?


About
Gold User, Rank: 1, Points: 2466
David Intersimone (known to many as David I.) is a passionate and innovative software industry veteran-often referred to as a developer icon-who extols and educates the world on Embarcadero developer tools. He shares his visions as an active member of the industry speaking circuit and is tapped as an expert source by the media. He is a long-standing champion of architects, developers and database professionals and works to ensure that their needs are folded into Embarcadero's strategic product plans. David holds a bachelor's degree in computer science from California Polytechnic State University at San Luis Obispo, California.

Comments

  • Guest
    Wilfred Oluoch Friday, 29 July 2011

    Magic is when customers click one button and it executes 1000 or more lines of code behind a progress bar that ends an a business problem solved. And at that point, endless nights of Delphi coding that have been reduced to one dialog box and one click come together. And the customer pats you on the back and says "Well done!".

  • Guest
    david howes Friday, 29 July 2011

    Returning to earth for a moment; the magic ceases to be magic when the magician keeps dropping his props. Less cryptically pretty please, can the new 'magic' be tested properly before this release.

    The current 'Delphi XE' magic tricks include:

    * Pick a file any file, and then see where clicking a hyperlink in source will actually take you.
    * Marvel at the mystery of the red squigly lines that appear under perfectly code.
    * Ponder the wisdom of the one called 'compiler' who will decide wether or not to generate an internal error based on the time of day, weather etc.

    Don't get the me wrong, I'm excited to see what the magicians come up with.

    Just think I'll wait until a good few people have seen the acts before I buy tickets this time...

  • Guest
    zeroc8 Friday, 29 July 2011

    In computing, I want less magic. I want understanding, which is much easier when there is less magic.
    I've switched away from bloated IDEs and gone back to simple text editors plus grep and friends.
    And to an OS that allows me to see how things are done. It's liberating.

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: