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?
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...
Please login first in order for you to submit comments
- Page :
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!".