Update on Cat in JavaScript (and the lack-of native SVG support in IE 7.0)
The current Cat in JavaScript, with enhancements and improved portability provided by Takashi Yamamiya , is at http://www.cat-language.com/interpreter.html . I am considering extending this implementation with graphics. I think it would make the online version very attractive, and an interesting tool for teaching programming. Unfortunately there is no good standard for actually drawing in a browser. SVG is very attractive, but unsupported by IE !? The Adobe SVG viewer is going to be abandoned on January 2008 (or is January 2009? Adobe contradicts themselves). It would be fun to simply abandon support for IE altogether, but I am not sure that it would be a smart choice, because I would be simply alienating a huge percentage of my potential audience.
So why isn’t Microsoft supporting SVG? There have been no shortage of requests. Clearly the IE developers know of the intense desire, and that their closest competitor supports it. I believe it’s because providing native SVG support would steal thunder from Microsoft’s Silverlight project. Just consider this post on hacking SVG support in IE using Silverlight and keep in mind that Microsoft has invested a lot of money into Silverlight. From a business perspective they can’t afford to undermine Silverlight right now by providing alternative means to implement Silverlight.
I wonder if Microsoft can dig a hole so big, that even they can’t climb out of? Wouldn’t it be nice if the web were to become dominated by open standards again?
So there are clearly some hacks to provide a layer to support SVG on both major browsers. This seems too time consuming for me. Another obvious option is to simply use a Java applet. Then it is no longer Cat in JavaScript, but at least it would be an online version of Cat. This is probably an acceptable option, and by creating signed applets I can allow file I/O as well.
I’d like to hear your thoughts on the Cat mailing list.