From: Barre B. <ba...@ho...> - 2001-01-30 15:56:12
|
Hey... I think most of you seem to be missing the point somewhat. Let me explain: There are certain reasons why languages such as Java and other OO languages have evolved. Such as stability, reusabilty/modularity, ease of use, security etc. Object Orientation exists because people wanted have a way to do easier abstraction of problems, and representing them in a more human-like fashion. Now what DynLayer tries to do is simulate parts of this whilst providing funcionality for robust, consistant and simple dHtml creation. But how can you create a complex API such as DynAPI without having some fundamentals already in place? Such as a fast, stable, easy and safe way of creating a class hierarchy/implementing basic OOP functionality. I mean, how long has this "current" release been in a debugging phase ??! Do you not think that this could have been avoided, atleast in part, by having a more stable coding ground to develop with? True, Javascript's prototype based OO provide some functionality for creating "classes". But this approach is inherantly slow, memory consuming and error prone, since some of the most fundamental OOP functionality is not supported (such as encapsulation). Why go halfway, sort of do OOP, but not really, because it's too hard ? It's not! In the long run it's much simpler. Which is the exact point of DynAPI in the first place. There is a longer learning curve before you can use it, but when you do, your efforts are greatly simplified and accellerated. What you would want, is somekind of Object providing the remaining OOP functionality that Javascript does not inherantly support, so that you don't have to recreate the wheel everytime you develop somekind of JS application or extension to it. Pascals DynObject and Eytans SuperObject, are examples of what I'm talking about. DynObject provides better modularity for DynAPI, and a SuperObject would provide the tools with which to better build a more modular DynAPI (there are infact a couple of more people that have developed a SuperObject/SuperClass). Yes, you could argue that this would only lead to more bugs, and that you should rely on JavaScript's built-in way of handling OOP, and that this should be a API for designers, not for programmers and what have you... But this is simply not true. 1. DynAPI is a programming tool/interface for creating dHtml. Now programming is the key word here. No matter what, you still have to PROGRAM. If you would want to create a simpler interface for creating dHtml (a WYSIWYG for instance), there still has to be somone who creates this interface, and I guarantee you, it won't be a designer! ;) 2. Having a SuperClass that provides basic OOP functionality, would provide the PROGRAMMER with the tools nessessary to create DynAPI with a lot more ease (again,this is the goal of OOP). For example, say that you would want to split up DynAPI per browser basis and make this seamless for the end programmer. If you would not have fundamental OOP functionality in place, this would be HARD! True, the SuperClass would have to be flawless and completely without bugs for this premise to work. But this is not impossible. I know, because I'm in the finishing stages of creating a comprehensive SuperClass myself (I might even create an opensource forum for it ;D ) SuperClass is, and should be, inherantly separate from DynAPI, and you should be able to create whatever class hierarchy you would want, including DynAPI. So in closing, I hope that the coin will finally drop, and what I've said to sing in ( i.e not just be flamed) ;) Alea Jacta Est, Bart |