|
Excel supports this traditional sequential top-down approach in the VBA codes (see the example on the previous page) and additionally it provides a very new, fresh and revolutionary opportunity as well. Working on the worksheets, programmers can use the two dimensions of the sheets, and they can use the directions absolutely freely.
This means that the algorithms can be encoded horizontally (see the 1st figure where the steps of the 3D transformation is interpreted from left to right) or from bottom to top or even in L-shaped knight's move. Excel does not force you into traditional top-down sequential coding -- therefore it provides exceptional freedom for programmers.
It can be said that Excel opens totally new dimensions in the representation of algorithms. We cannot even see the borders of these new opportunities! Soon we may measure not only the length of the source code (see SLOC) but the width of it as well (what will complement the SLOC numbers?). Furthermore, it may open the way to n-dimensional source code, and we might talk about the depth or height of the source code, too.
Excel breaks with the sequentiality of the source code interpretation with another new feature as well: with cell references programmers can see the dependencies of the source codes easier, not only row-by-row but simultaneously, and can quikly overview the source code.
Cell references allow the programmer to check what other data affects a selected variable (e.g. Figure 10 shows how the 3D transformation matrix is determined by the cosinus of the X and Y rotation angles) and they can check what other variables are affected by selected data (e.g. the selected transformation matrix element affects all the 3D values). If it is needed then the chain of the impacts defined in the algorithms can be shown in both directions.
Figure 10: Cell references help to create an overview of the dependencies
Non-sequential debugging
Termination of the sequentiality can be observed during the debugging process as well. With the current development tools programmers must follow the execution of the program step-by-step to observe the real (and not only the intended) behaviour of the program and the algorithms.
They can use some useful tools (breakpoints, step in/step out, etc.) to make this process faster and more comfortable but sequentiality is built into our programming paradigm and it slows down the debugging process.
Opposing to this Excel's Autocalc function shows the execution of the algorithms ”unfolded” and the effects of all steps in all variables can be seen immediately without the need of step-by-step debugging. This feature drastically decreases the overhead times and increases the productivity of the programmers.
Instant feedback
Probably all programmers experienced that annoying and obsolete trait of actual development tools -- like the results of the modifications cannot be seen immediately, and some sequential steps must be performed to get these results.
In a typical situation a programmer has to...
- Save the modifications
-
Compile the saved files
-
Link the compiled files
-
Run the executable by typing in a command line, clicking on an icon, or running a browser and typing a URL, etc.
...and will get the result only after these steps.
These steps can consume such a huge amount of time that specialized tools increasing the speed of the compilation (e.g. Incredibuild) became very popular. In case of small and frequent modifications this workflow can lead to a huge amount of overhead compared to the substantive and useful work.
We are so used to this workflow that we do not even expect it to be easier.
Not surprisingly Excel breaks with this workflow and uses a revolutionary approach again. Thanks to its Autocalc function the editor, the compiler, the linker and the runtime environment are integrated on such a high level that is unpaired among current tools.
After changing a formula in a cell the result is visible immediately without the need for performing the steps mentioned above. Programmers don't have to save, compile, link and run the executable and there is no need even to switch the active window.
There is no miracle of course: Excel works sequentially in the background but hides this sequentiality from the programmers.
In the previous chapters we have reviewed how Excel queries the justification of the sequentiality and what a revolutionary answer it gives for the problem. Notice that eliminating sequentiality is not only a buzzword but a radically new approach which can change our programming paradigm in the future.
Afterword
Integration of computer games and spreadsheets has tightened during the evolution of computer technology.
At an early stage this integration among the the games and spreadsheets was comical, e.g. they were installed on the same hard disk, or the purchased games were listed in an Excel sheet. Later the integration has tightened, as some games introduced a built-in spreadsheet (accessible by the "boss key" feature) - or Excel contained some built-in 3D games as Easter Eggs.
Now we have arrived at the next step of this integration, as Excel's cutting-edge 3D functionality is not hidden in Easter Eggs anymore but can be accessible publicly and easily. Excel has grown up and started its conquest as a revolutionary 3D game engine.
|
By the way, th etop level of letters on a keyboard were also arranged to make spelling TYPEWRITER easier for typewriter seles men who went door to door demonstrating their usage.
And while Excel may not be a modern GPU, it, like the DS, Flash, Shockwave, etc, can be used be used as a commonly available easy to program engine that new programmers and designers can use to make simple games and help ease their way into more meatier and significant projects. They need not worry about graphics, models, or other time consuming assets but purely the scripting and design. Perhaps in some ways, it's the equivalent to MS Paint for artists.
ps: I also used word as a programming editor - styles, outlining, autotext, templates, grammar checking, macros years and years before visual studio. In a lot of ways word is still a better programming editor than any other, even now...
http://youtube.com/watch?v=_whSnPErl7c
However, if you have a specialised tool available, it usually beats Excel by a fair margin.
Also, thanks for the Dvorak plug! Having typed with it for almost 20 years, I'm sorry so many people continue to hurt their hands with Qwerty!
Lastly, go ahead and flame me, Ian, but you're dead wrong about Word. If you were really that heavy a coder that far back, you would never have used *that* sucky a program.
Word Perfect was THE choice for anyone who typed until 'doze took over. The old DOS Word was absolutely terrible. (You want to stick in all this formatting crap, but don't give me Reveal Codes? Come on...)
The 'doze version of Word may be today's standard, but it still blows dead bears.
However, even with WP's excellent macro abilities & keyboard re-mapping, I would never have considered using it for coding.
Qedit all the way!
http://www.microtron.org.uk/~craig/Microtron/Projects/XL3Drender/XL3Drender.xls
There are other shapes in that directory that can be rendered.
If I'm understanding this correctly, though, wouldn't it be possible to have 60 sheets and emulate the "60 frames per second" staple we have in traditional video games today? It would certainly sort out the issue of fluidity.
Are you retarded? The author of this article is trying to demonstrate the proof of concept for a change in paradigm with regard to coding structure. He was not attempting to compare the performance of excel data calculations to hardware matrix manipulations. Plus, hardware graphics processes are limited in the size of matrices which can be operated on. Try to work with matrices with thousands, or millions of rows/columns as is done in high energy physics simulations/reconstructions and your GPU is about as as worthless as a Ti-89. Charles Babbage envisioned a "universal machine" which has yet to come to realization. A step away from architecture based paradigms is inevitable. Your gamer oriented thinking is so hardware-centric that it has blinded you from seeing the big, long term picture.
Anyways, this was an awesome artilce, I look forward to the first Excel MMORPG!
http://www.reason.com/news/show/29944.html
That "Excellence" video by Ananasmurska is pretty impressive. It isn't really a 3D engine, but an interesting example of what intelligent people with too much free time can do, with any tool. :)
http://www.gamasutra.com/db_area/images/feature/3563/figure4.png
Indeed *that* is what is genius about the article: the way that it is written! All of the little details and arguments are similarly structured to papers, all-the-while being preposterous when actually considered. While the idea/implementation may not be new, it's the article that is the real cleverness.
The idea is clever, but it is the writing that is truly superb.
It was the only time in my college career that a prof marked a paper "A+++" like it was eBay feedback.
http://www.eeggs.com/items/719.html
And you can fc play these games at work - this is another strong advantage of Excel gaming engine :)
programming that makes good use of your Excel program. It doesn't
matter what your skill level is -- anyone can use it