Corba was totally fucked up and doomed to suck, long before Java was invented. The part about EJB compatibility came a long time later. Are you old enough to remember all the earlier bullshit about DOE and NEO and OpenStep compatibility? CORBA is a fashion victim, and after TNT, XView, OLIT, MOOLIT, Motif, CDE, Fresco, DOE, NEO, OpenStep and TCL fell out of fashion, EJB eventually became fashionable, and they changed the standard to reflect that, too.
Does anyone remember Mark Linton's C++ user interface toolkit called Fresco (based on his earlier work on Interviews), which was at one time supposed to become the official display services for DOE? What ever happened to that? (Not to be confused with the more recent Fresco which was just a new name for Berlin -- or do they actually share any code or architecture?)
Fresco(TM) is being developed by a working group within the MIT X
Consortium. It is a platform and language independent environment
for constructing applications. Specifications have not yet been released
from the working group, but certain decisions have been made public,
to wit: 1) Fresco interfaces will be specified using the Object Management
Group's Interface Definition Language, 2) the system is intended to support
"distributed embedding", and 3) it defines a notion of structured graphics.
OMG was always so confused about what their user interface and "Display Services" would be -- everybody went off in different directions, that they eventually abandoned:
From the
Common Desktop Environment (CDE) Frequently Asked Questions:
Subject: 4.5 Is an object-oriented GUI toolkit like Fresco in the
works for CDE?
I have not heard anything about Fresco by name, but OpenDoc,
OpenStep, and Taligent are on the minds of (i.e., being finacially
supported by) those who are the sponsors of COSE. There has not
been any public mention of the plans for transition from CDE as it
is today to an object-oriented environment, but one is certainly
needed since the COSE sponsors are heading down that path.
The potential problem is that the new object-oriented environment
from Sun (i.e., OpenStep) does not interoperate with the environment
from IBM (i.e., Taligent) and that they have a different "look and
feel." This is precisely the problem that CDE is supposed to solve.
In a session at Xhibition '94, Sun held a developer's meeting in
which they described the future desktop environment with CDE
windows, OpenStep windows, WABI windows, etc. as a desirable
thing. Sun went further to state that (and I am paraphrasing here)
that developers could choose between rapid application development
(and all the other good things from the object-oriented paradigm)
using OpenStep or cross-platform portability with CDE. Of course,
it might be nice to have both.
Versions 1.0-1.2 of the OMG CORBA Specification [3], which existed from 1991-1995, contained a language mapping only for C. Unfortunately, given CORBA's OO (object-oriented) nature, writing CORBA programs in C was tedious and error-prone. However, given that CORBA was strongly influenced by C-based RPC systems such as the Apollo NCS (Network Computing System), standardizing a C language mapping first was easiest for those blazing the CORBA trail.
Even as the first versions of CORBA were being published in 1991, however, the need to
I was disgusted with the way CORBA was going in 1991, when I worked for Sun, and I still am. The article was a welcome vindication of the beliefs I've held for 15 years. In all that time, CORBA has never stopped sucking, so don't hold your breath.
What's all this crap about Sun "finally grasping the revolution in the market" and "deciding to do so" and "having an obligation to the community" and "stepping up to the plate" and "figuring out that they have a very real oblication to the future"? Did you have Exctacy and back-rubs with Scott McNealy or something?
I quit working for Sun because they believe their own bullshit and expected me to repeat their lies to our customers. Don't tell me you actually believe all that bullshit about Sun being the good guys who live up to their corporate responsibility, without being well paid to repeat that kind of crap? Or do you believe and spout all that crap because you work for Sun?
Here's John Wainwright's page on MaxScript 101.
MaxScript has a lot of really cool ideas built into the language that make it easy to script 3D graphics construction and animation (like treating transformations, time, etc as nested scopes that you can temporarily enter and exit, and directly supporting animation).
I dont't mean to confuse anyone by talking about two different pieces of software called "Max" (and not "Macs"), but here goes:
You should take a look at what Cycling 74 has done with their venerable visual programming language MAX/MSP (which supports a huge ecology of of binary plug-ins as well as visually scripted extensions), and Jitter, their 3d/video/image processing extension. Jitter supports writing extensions in JavaScript, and has full access to OpenGL from JavaScript as well as the visual programming language. You can even emit and consume JavaScript data structures on the wires flowing between Max data processing icons! But MAX is proprietary, and incredibly complex and arcane, due to its age. That can also be said for 3D Studio Max, as well.
I'm excited about applying ideas from successful or well designed proprietary systems to future versions of OpenLaszlo, targeting 3D runtimes instead of Flash. One reason I'm sure Flash is doomed is because it doesn't already support 3D, and if Adobe/Macromedia ever gets around to adding it, rest assured it will be a horrible kludge. I want to develop and run OpenLaszlo applications in a well designed full 3D real time environment, and use it to implement visual programming languages like Max, and user interface builders like HyperNeWS. OpenLaszlo's independence from Flash makes that possible.
Hi, Andrew! It was fun working with you after Sun, on ScriptX at Kaleida. ScriptX was even more lisp-like and object oriented than NeWS PostScript. Did you know that after Kaleida shut down, John Wainwright (an architect of ScriptX) went on to implement a plug-in scripting language for 3D Studio Max called "MaxScript", that's remarkably similar to ScriptX! It worked so well that Kinetix bought it from him, and made it the official 3dsmax scripting language. It's still in common use, for programming 3dsmax tools, importers, exporters and user interfaces. It was quite powerful because it supported all kinds of ways to integrate other software: DOS command lines, OLE automation, and dynamically loaded C++ extensions for the scripting language itself.
It sucked having NeWS and ScriptX canceled out from under me, while I was having so much fun with them.
So no more proprietary platforms for me, thank you. These days, I prefer programming python, and I use SWIG to plug it into C++ and C libraries. I like to use OpenLaszlo on the client side, which supports Flash now and DHTML soon. But I will never fall for something proprietary like FLEX, ever again. In a few years, Flash will be as obsolete as Director, ScriptX and NeWS are today, so it's a bad idea to put all your eggs in that one basket.
The incredibly fucked up NeWS/CORBA/DOE/Slowlaris situation was why I left Sun, too.
I took a job at Sun in 1990, because James Gosling posted this message reaffirming Sun's commitment to NeWS, and during my job interview assured me that Sun was going to publish the NeWS source code in the public domain. (This was before the term "open source" was popular.)
Unfortunately, John Gilmore was right to be skeptical: "I'm glad that people believe James Gosling about NeWS more than they believe me. Check his message for specifics, though. Weed out the
promises and soothing noises and what is left?" The only hope was to make NeWS free, so I grilled Gosling about whether Sun would make NeWS free, and he assured me they would, so I took the job with Sun, based on his word. But James Gosling let our team down. Which is why I've never trusted anything he said about Java.
To Sun, making NeWS free meant charging $1000 for media, and prohibiting anyone from distributing "free NeWS" it without buying the $1000 tape from Sun. (Yes, the person who posted that message is the infamous Pat Naughton.)
Sun actually wanted to cancel the NeWS project, but instead of telling us the truth, they said that they were going to use NeWS as "Display Services for DOE", which we all knew was a crock of shit.
-Don
Phase Relationships in the Standardization Process
on
The Rise and Fall of Corba
·
· Score: 3, Interesting
This is a moderately sarcastic note on the phases that the standardization process goes through, and the relationship between the level of technical and political interest in a topic. It is purely a personal view.
Toshi Doi of Sony describes the standardization process in terms of the diagram at left. The i axis describes level of interest and the t axis describes time. Ti describes technical interest, and Pi describes political interest. As time passes, technical activity declines as the technology becomes understood. Similarly, generally fueled by economic pressures, the political interest in a technology increases in some period.
For a standard to be usefully formed, the technology needs to be understood: technological interest needs to be waning. But if political interest in a standard becomes too large, the various parties have too much at stake in their own vested interest to be flexible enough to accommodate the unified view that a standard requires.
In this model, Ws is the `window of standardization' where technical interest is waning (i.e. the technology has become understood), but the political situation hasn't become too hotly contested for constructive negotiating.
This model has many interesting insights, but there is more complexity in the situation that can be explored. In the original model, the T and P curves are open ended. The situation is more like the diagram at left. These curves, Ta and Pa, represent technical activity and political activity. In general, technical activity precedes political activity. Both types of activity go through phases of different intensity. As these activities proceed, they produce results. The result curves are the integrals of the activity curves.
The integrals of these two curves are drawn at left. The integral of Ta is K (knowledge) and the integral of Pa is C (calcification - revealing a strong personal cynicism). Ss, the sensibility of standardization, is just K-C. The optimum time for standardizing a technology is when Ss is at a maximum, which will be in a region where knowledge is high, but calcification has not yet set in.
A very interesting quantity to observe is the phase relationship between Ta and Pa. When the maximum point on Pa follows the maximum point on Ta by a sufficient distance, there is a wide Ss window. A sensible standard can be fairly easily set since the political activity which leads to the standard has the necessary technical knowledge in hand when needed. If Pa lags Ta sufficiently, Ss will have a long high flat top, which forms a convenient table on which to work.
Consider moving Pa left, closer to Ta. When it is close to Ta, Ss will have a shallow and flat region where the upward slope of Ta matches Pa approximately. This region is the time of chaos. Before calcification builds up, there isn't enough knowledge to do anything sensible, by the time that there is enough knowledge, there's too much calcification to allow a sensible compromise to be reached. In between, the region is flat enough that there isn't a clearly defined optimum moment for developing a standard, so there is instead a drawn out period of chaotic bargaining and soul searching.
Consider moving Pa even farther left, until it is to the right of Ta. This is the worst case: Ss is always negative. The long flat minimum region is the time of panic where the political/economic process has decided that a technology needs to be standardized, but no one understands it. Standards get set by making random guesses that are not grounded in any technical reality, but are instead grounded totally on political expedience.
The case described in the previous diagram is impossible in practice. The very act of setting a standard inhibits technical activity
If CORBA is any better than COM, then instead of using CORBA, why does Mozilla develop and use XP/COM, which is an open source cross platform clone of COM?
COM and XP/COM have their limitations, but COM is actually very nice for what it's designed to do (which is much less than CORBA is designed to do). But DCOM (Distributed COM) is a lot more than basic COM. The more appropriate comparison is between CORBA and DCOM. And also there's IBM's SOM (not distributed, like COM), DSOM (distributed, like DCOM), and OpenDoc (a component system, like OLE). But Microsoft has moved on from DCOM to web services and SOAP. Which is the point of the article. And that doesn't suck. I'd call it progress.
I wouldn't give up on COM (and its derivitives like XP/COM) -- they're still great for non-networked integration. But I gave up on CORBA and its ilk, a long time ago.
I'm disappointed that Apple has reverted to the circa-1986 NeXTSTEP window system (Cocoa), instead of continuing their pioneering efforts with HyperCard, OpenDoc, CyberDog, Smalltalk, etc. Why can't you flip any Cocoa application into edit mode, then modify, remix and script its user interface, just like good old HyperCard?
Cocoa's tired old NeXT interface builder seems like such a huge step backwards from the wonderful world of dynamic end-user-editability and plug-together components that users could build and customize at run-time, which Apple delivered with HyperCard, and promised with OpenDoc and CyberDog, before canceling those projects (and others, like Dylan, Sk8, ScriptX, etc).
Apple (and IBM) developed all this great component software stuff, then abandoned it for a rehash of something that seemed great in 1986, but is seriously behind products Apple already shipped. A lot of wonderful stuff has happened since NeXTStep was designed, but Apple's still stuck with the same old obsolete 1986 architecture, just appealingly renamed Cocoa and polished up with shiny graphics.
At least IBM kept their eye on the ball, developed Eclipse, and made it open source. IBM's stroke of genius was to name it something that pissed off Sun, so Sun wouldn't participate in the project even though they were invited. Sun missed out on all the good karma and fun and credibility and happy developers, because the name "Eclipse" got between Sun and their customers.
Back around 1990-1991, there were also a bunch of HP and Apple people involved with OMG. Some of the HP people migrated over to Sun, and tricked Sun into starting Project DOE (Distributed Objects [Practically] Everywhere).
Michael Powell was "Mr. DOE" at Sun. Before going to Sun, he worked on a Modula-2 compiler . He thought C++ had a really beautiful object model ("once you get past all that other stuff"), and didn't think anybody could understand Lisp (and didn't want anything to do with it). Nobody in the company actually knew what DOE really was but Michael Powell, so if you wanted to know, you had to go ask him, and he'd tell you what he thought you wanted to hear at the time, because he hadn't ever bothered to write it down. That was how he consolidated his power and kept a grip on his position as the architect of DOE, because nobody could pin him down about anything. So after years of development, DOE was so late and bloated that Sun finally released it on *TWO* CDROMs (unheard of at the time).
Arthur van Hoff (who previously developed HyperLook for NeWS, and later wrote the Java compiler in Java, and founded Marimba) didn't think DOE was usable, so he sat down one day and rewrote a tiny version of DOE from scratch called "DOE-Lite", which everybody in their right mind used instead of the official bloated DOE release. Arthur then proceeded to use DOE-Lite to make a distributed object trading demo which Sun demonstrated on the show floor at Object World. Ironically, he implemented using the (then canceled) NeWS window system, instead the officially sanctioned DOE user interface toolkit (because the official DOE gui was vaporware).
Sun put a lot of different colors of lipstick on that fat old pig, DOE: they renamed it "NEO", and then they tried to pawn it off as a back-end to OpenStep (NeXTStep, which they later gave up on), and eventually they tried to imply that it had something to do with Java.
I'd love to know what happened to DOE architect Michale Powell since his reign at Sun back around 1991! (No he's not Colin Powell's son, head of the FCC.) Had anyone heard from Michael Powell ever since? Where is he now? Does he have anything interesting to say about what went wrong with DOE?
...So you're saying you think you could install the software more than a finite number of times for more than a finite number of computers? Better get started!
NAV 2005 may contain enforcement technology that limits the ability to install the software on a computer to not more than a finite number of times for a finite number of computers, and you consent to the use of such measures.
Who in this universe has an infinite number of computers, or would install a piece of software an infinite number of times? Why don't also they require me to agree not to perform an infinite number of other impossible tasks? Why are so concerned about preventing people with infinite numbers of computers and patience installing their software?
The reason magic_quotes_gpc is so horrible, is that it is a FALSE SOLUTION. It doesn't provide any safety net at all -- merely the ILLUSION of a safety net, which encourages programmers to assume they're safe, and be sloppy. That's MUCH WORSE than not providing a safety net at all, and forcing programmers not to be sloppy, without giving them a false sense of security.
Magic Quotes
Given the potential harm that can be caused by SQL injection, PHPs automatic input escape
mechanism, magic_quotes_gpc, provides some rudimentary protection. If enabled, magic_
quotes_gpc, or "magic quotes", adds a backslash in front of single-quotes, double-quotes, and
other characters that could be used to break out of a value identifier. But, magic quotes is a
generic solution that doesnt include all of the characters that require escaping, and the fea-
ture isnt always enabled (for reasons outlined in the first chapter). Ultimately, its up to you to
implement safeguards to protect against SQL injection.
Q: Is anyone in particular danger?
A: Applications using Far East encodings (SJIS, BIG5, GBK, GB18030, and UHC) which use ad-hoc methods to "escape" strings going into the database, such as regexes, or PHP3's addslashes() and magic_quotes. Since these bypass database-specific code for safe handling of strings, many such applications will need to be re-written to become secure. (Note that the PHP team deprecated addslashes() and magic_quotes in version 4.0 because of the security risk. Unfortunately, it still appears in a distressing number of freeware PHP applications online.)
The designers of PHP have a long track record of making foolish decisions that competent language designers would have never considered in the first place. Then they make it even worse by coming up with half-assed kludges that try to address the symptoms, but fail to cure the disease, with side-effects that are much worse than the problem they were trying to solve!
For example: PHP originally had only deep structure copy semantics (pass by value of arrays and objects, by deeply copying them instead of passing references): when you pass an array, the ENTIRE deep array is recursively copied, instead of being passed by reference, like in almost every other programming language. So then they half-bake a horrible idea they called "references" into the language to paper over the problem, which are entirely unlike references in any other language (even Perl!), even more confusing, and are notorious for causing many bugs in user code as well as crashing the interpreter itself!
PHP's deep copy semantics were such a bad idea, that many programmers don't even realize it works that way, and don't catch on until it causes bugs and extreme inefficiencies in their code. So to kludge around the problem, PHP merely provides the ILLUSION of a safety net, by mimicking and syntactic appearance and name of references in languages like C++ (which are rigorously designed and well defined in terms of pointers), but PHP's references are totally fucked up, and cause more problems than they solve.
So any C++ programmer who reads or writes PHP code is likely to think something totally different is going on, and be surprized when their code doesn't behave as expected, and the PHP interpreter dumps core. The decisions to make PHP copy semantics and references work the way they do were WRONG. But what was even WORSE was to call that half-baked kludge "references", and make them look identical C++ references, so they totally mislead people into misunderstanding how they work, and making many bugs, crashes and security holes, which otherwise would not hav
A vice grip is just a tool, and it ruins everything it touches.
A nuclear bomb is just a tool of failed diplomacy.
Stop whining and making excuses for a horribly designed language. PHP is a piece of shit and you know it. There's no excuse for refusing to learn and use something better.
Of course Perl sucks even worse than PHP, but that's because PHP was designed as a reaction to Perl, and it's no excuse for PHP sucking too. PHP should have chosen a better language to react to. Or better yet, it should have been DESIGNED in the first place, instead of simply and naively APING something that is infamous for sucking.
I think you're trying to handwave and redefine your way out of the cold hard fact that FLEX locks you into Flash. Flex is a proprietary knock-off of OpenLaszlo, that purposefully neglected to imitate the most important thing about OpenLaszlo, which is its platform independence. OpenLaszlo came before FLEX, and it was designed from day one to be platform independent. FLEX is never going to support alternate runtimes like DHTML, Avalon, SVG, or anything better that comes down the pike like 3D graphics runtimes. OpenLaszlo is designed to outlast Flash.
The VM's for Perl, PHP, Python, etc are Free Open Source Software, but the VM for Flash is NOT. Unless you have any earth shaking announcements to make about Adobe open-sourcing Flash. If I want to port the latest version of Python to the Pocket PC, I can. But I've got to live with the obsolete version of Flash on the Pocket PC, because Adobe hasn't bothered to update it, and FLEX 2.0 applications that only run on SWF9 won't support the Pocket PC until Adobe gets around to updating Pocket PC Flash. Please tell me when Adobe's releasing the latest version of the Flash player for the Pocket PC -- I'd love to know, although I'm not holding my breath.
There are certainly free open source VM's for Java, and yes I have a problem with the fact that Sun's Java VM is NOT really Free Open Source (although they keep promising to make it free, then redefining what they mean by "free").
I'm quite disappointed by how most web application programming languages work (or rather, the many ways they DON'T work, and how badly they're designed). Take Cold Fusion for example: it's HORRIBLE! There's no reason web application programming language should suck so bad. If you think all web programming languages should be as badly designed as Cold Fusion, or lock you into one one particular proprietary platform like FLEX does, then you're suffering from Cargo Cult Programming.
C++ is also a commonly used web application programming language, and useful for all kinds of other stuff too. Most C++ compilers target many different instruction sets and runtimes. That's not rocket science. Why do you think that web application programming languages should lock you into one platform, or necessarily be any worse than other normal programming languages?
Adobe used to say that SGV was here to stay, so why did they let it wither on the vine and die? (My theory is because they bought Flash, so now they don't care about SVG any more.) Why should we trust what they say about Flash, if they lied about supporting SVG?
The Adobe SVG Page they say that "Adobe has taken a leadership role in the development of the SVG specification and continues to ensure that its authoring tools are SVG compatible."
Is that still true? Will FLEX ever support more than importing a trivial static subset of SVG at compile time, and will it ever run on the SVG player? Why doesn't Adobe continue developing the SVG player, if it's not yet capable of supporting the requirements of FLEX? If Adobe is dumping SVG, then why don't they put the source code for their excellent SVG implementation out there as Free Open Source Software? Are they afraid it will compete with Flash?
On the same page, Adobe also says "Open standards promote choice, provide lower-cost solutions, and facilitate interoperability." That I agree with! So now that Adobe's given up on SVG and moved on to Flash, will Adobe ever submit the Flash specification to an open standards organization so it can be openly standardized like SVG? Will Adobe ever publish the complete source code of the entire FLEX system and Flash as Free Open Source Software? Will Adobe at least make a statement that they won't sick their legal team on people who implement free open source Flash-compatible runtimes?
The archive from 2001 says:
"Adobe's intention is that future releases of the Adobe SVG Viewer will strive to achieve support for the full W3C SVG specification." What ever happened to that plan? Does Adobe's current SVG player fully support the W3C SVG specification, 5 years later? We've heard the lip service, now where's the beef?
The archive from 2004 says: "Discover the open-source future of graphics with Scalable Vector Graphics." So what's the open-source future of graphics, now? I think that describes OpenLaszlo pretty well, because it's future-proof by not locking you into any one platform like Flash! Will Adobe be open-sourcing FLEX and Flash? How about at least making the SVG player open source, instead of quietly killing it and dumping its body like a forgotten bastard stepchild?
The NeWS window system was programmed in PostScript, and was the original "AJAXian" window system, except that it used PostScript instead of JavaScript, PostScript instead of XML, and PostScript instead of DHTML, so it was much more consistent and vastly better designed than JavaScript and AJAX.
Some people didn't prefer programming directly in PostScript, so there were several projects to compile high level languages into PostScript code for NeWS:
In 1987, Dave Singer at Schlumberger wrote LispScript, a Lisp to PostScript compiler for NeWS.
In 1988, Rehmi Post at UniPress wrote C2PS, an C to PostScript compiler based on the Amsterdam compiler kit.
In 1992, Arthur van Hoff at the Turing Institute (the same guy who later wrote the Java compiler in Java) wrote PdB, a C++ to PostScript compiler.
OpenLaszlo compiles the high level Laszlo programming language (which is a combination of JavaScript embedded in XML) into Flash byte codes, as well as JavaScript that runs in web browsers.
This idea has been around for a LOT longer than the term "AJAX", or the JavaScript language.
You've been ignoring what I say and forcing me to repeat myself many times, and you actually complained that I posted too many messages to the discussion about my own article, because you made me repeat myself so often by not listening to what I said. But you're not pissing me off, you're just making me laugh.
"Regarding speed and framework": I will again repeat myself and say that OpenLaszlo is targetting the new SWF9 player (Flash 8.5), and taking advantage of its advanced features. So yes, they do target the same SWF9 player. If you had read what I wrote, I wouldn't have to repeat myself.
"Regarding "*FREE*"": (as you punctuated it, without disclaimers). The prices are not even announced yet, but they are much greater than zero, and the source code is proprietary. Unbundling parts and gerrymandering the definition of what FLEX is doesn't cut it. There is a world of difference between true "Free Open Source Software" and "*FREE*" as you define it with all the disclaimers you were forced to add later.
Are you going to try to make the same argument as the astroturfing Adobe employee on the FLEX team who tried to claim that OpenLaszlo wasn't really "true open source" because it didn't satisfy his own personal definition (that also excluded Linux)? Scott spanked him and he hasn't tried that argument again. And then you flip-flop around and apply your TOTALLY DIFFERENT definition of "*FREE*" to FLEX, which is absolutely a proprietary product?
You're not pissing me off, you're making me laugh with your back-pedaling rationalizations about how, well, you know, oh, no, you personally aren't actually interested in the "under $10,000" FLEX product because it's useless and duplicated by open source software, so that justified calling it "*FREE*". If they charge "under $10,000" for something useless, then can you please explain why? Are they trying to DISCOURAGE developers from using it because they're planning on scuttling the product, just like they scuttled SVG? You're the one raising these uncomfortable questions for Adobe with your ridiculous statements.
Free in the sense used by OpenLaszlo mean the ENTIRE source code of the compiler and all other parts of the system is available under an approved Free Open Source License. Ironically, you're trying to apply a much worse and more constrained definition of "*FREE*" to FLEX, while at the same time an Adobe employee is trying to question the well understood definition of "Free Open Source Software" as applied to OpenLaszlo. We can have this discussion when Adobe publishes the entire source code for all parts of FLEX under an approved Open Source license, but right now there is no discussion.
"But... but the server is free with Laszlo!!!" By your very own argument, for a long time FLEX wasn't free, and now parts of it are. Sounds like a REACTION to OpenLaszlo being true Free Open Source Software to me. Is OpenLaszlo tained because they used to charge a lot of money for it? Then FLEX is just as tainted, too! Is it evil for OpenLaszlo to go from a proprietary pricing model to Free Open Source Software? Then Adobe is even more evil, because FLEX isn't even open source, and you can't get or modify the source code. What good is that, anyway?
"Flex 2 teh vendor lock-in! 1111": Laszlo was DESIGNED to target multiple runtimes, from BEFORE the first line of code was written. The fact that it first targeted Flash is beside the point. There HAS to be a first runtime. GCC first targeted 68000
Importing a subset of SVG graphics without supporting scripting or animation is a whole different story than deploying FLEX applications that run in an SVG player instead of the Flash player. The page you refered me to said that the FLEX tool (but not runtime) only supports importing SVG images, not running applications in the SVG viewer, nor scripting nor animation:
Flex supports a subset of the SVG 1.1 specification to let you import static, two-dimensional scalable vector graphics. This includes support for basic SVG document structure, Cascading Style Sheets (CSS) styling, transformations, paths, basic shapes, and colors, and a subset of text, painting, gradients, and fonts. Flex does not support SVG animation, scripting, or interactivity with the imported SVG image.
It's disappointing that Adobe, who pioneered interactive SVG with animation and scripting, is now back-pedaling and only supporting importing a subset of static SVG without scripting and animation, which is the most interesting aspect of SVG. Does it at least support any of those wonderful SVG pixel filter features like drop shadows and 3d shading to make puffy buttons, which SVG is so nice for?
There are people who are claiming that FLEX doesn't lock you into Flash, which makes me wonder if they have some inside knowledge about Adobe's plans to deploy FLEX applications on other runtimes than Flash. Will FLEX applications ever run in the SVG viewer or DHTML web browsers without the Flash player? Have you heard anything about alternate runtimes for FLEX, or is it true that FLEX is designed to only support Flash, and no other runtimes?
OpenLaszlo was designed from the start to target multiple runtimes, like (currently) DHTML and (theoretically) the SVG player. In an ideal universe where SVG thrived, OpenLaszlo might have supported SVG as an alternate to Flash, except for the fact that in this universe SVG is pretty much dead, thanks to Adobe's promising the world then dropping the ball. The last nail in the coffin of SVG was the way that the Adobe SVG plug-in caused Mozilla 1.0 to hard crash. So any web page that used the SVG viewer caused all Mozilla based browsers to dump core and close all windows.
Dude, I think you're more afraid of standing up for your own words, than you're afraid of me. Grow some guts.
FYI, I posted 22 comments because the discussion was about an article I wrote, and it was my web server that got slashdotted. I was simply answering questions and correcting mistakes. You made a lot of big mistakes, so I posted several replies to correct you. You still haven't addressed your biggest mistake: claiming that FLEX does not lock you into Flash. It's an obviously false and ridiculous statement for you to have made, and I'm calling you on it, but you keep try to avoid answering perfectly legitimate questions about your own words. Do you take it back, or can you answer the simple questions I asked?
Since you work on the FLEX team, could you please tell us if Adobe will continue to support SVG, and if FLEX will support SVG as an alternative runtime? And how much the developer tool and server will cost? Stuff like that...
Disclaimer: I worked on Laszlo Mail as a contractor for Laszlo Systems. I've also developed several SVG projects, so I'm interested to know if Adobe's still supporting it. Does Adobe's SVG plug-in still hard-crash Mozilla/Firefox? That's why I gave up on SVG.
This back-pedaling rationalization really makes me laugh:
The server component in this release was isolated and its functionality is very limited. It offers mostly connectivity useful for big enterprises and its functionality is duplicated by open source project like AMFPHP.
OK, so Macromedia has broken FLEX up into three parts: the SDK, which is "*FREE*" as you say, a developer tool, which is "under $1,000 per developer" as rumors have it, and the server component, which is "under $10,000 per server" as rumors have it. The official prices aren't announced, but they ARE NOT free, and NONE of the system is "Free Open Source Software".
Now here's the hillarious part: you're claiming that the "under $10,000 per server" part is actually "isolated and its functionality is very limited" and that its functionality is duplicated by open source projects. So can you please explain why they're charging so much money for it??? Are they actually trying to discourage developers from buying it, by charging so much for something that you claim is practically useless and duplicated by true Free Open Source Software??!
Can anyone please explain what the "under $10,000 per server" FLEX product does that's worth that much money? Your claim that it doesn't do anything useful raises the legitimate question: Is Adobe really committed to FLEX in the long term, or are they preparing to dump it?
If Adobe is really as committed to SVG as they used to claim, then why don't they modify FLEX so it also supports the SVG runtime, as well as Flash? Maybe because they've also dumped SVG, and it's just on artificial life support but they haven't officially notified the family of SVG developers yet? I really love SVG, but I got over grieving its death a long time ago.
Too bad Adobe won't pull the plug on PDF they way they scuttled SVG. The new version of PDF starts up in "twice the time" of the old version, but that still locks up the system for at least 30 seconds. My worst nightmare is that Adobe will modify FLEX to support PDF as an alternate runtime to Flash!
Kid, you are completely missing the point. Go back and read the fucking article. OpenLaszlo is a high level XML/JavaScript based language that COMPILES into SWF, and now also COMPILES into DHTML/JavaScript. It's INDEPENDENT of Flash, because it targets other runtimes, including browsers WITHOUT the Flash plug-in.
Your misunderstanding is like complaining that C++ locks you into 68000 machine language, because the first version of CGG initially targeted 68k. C++ is a (moderately) high level language that can be compiled to many different platforms. GCC in no way dependent on the 68000 processor, and it doesn't directly expose any 68000 specific features, so code you write in C++ can compile to any processor that the compiler supports. Do you see the analogy?
To take the analogy a bit further, Cygnus made their money by supporting GCC and porting it to other platforms like the Sony Playstation, in many cases paid for by the developers of the platforms themselves. Laszlo Systems uses a similar open source model, developing OpenLaszlo applications like Laszlo Mail for big corporate customers like Earthlink, and enhancing OpenLaszlo to support popular platforms like DHTML and the latest version of Flash.
On the other hand, FLEX is like a proprietary version of GCC that only compiles code written in a non-portable platform-specific language that only runs on one vendor's processor, and the code you write is by design NOT portable to any other platform, and you're NOT allowed to look at or modify the compiler source code, NOR modify it to support other platforms. And that's a lot less useful than an open source platform independent language like OpenLaszlo. FLEX is a textbook example of vendor lock-in, because it's purposefully design so it doesn't support any other platform than Flash.
Adobe has a long track record of using vendor lock-in to tie customers into their products, and then quietly dropping their support for products without warning developers that they're about to have the rug pulled out from under them. Case in point: SVG. The SVG generated by Adobe's tools only works in Adobe's SVG viewer, and do you really think SVG has a future at Adobe, now that they've bought Macromedia and moved onto Flash? Adobe was the main company propping up SVG, just because they were fighting against Macromedia Flash, and that's over now. The fat lady has sung, and SVG is dead.
Corba was totally fucked up and doomed to suck, long before Java was invented. The part about EJB compatibility came a long time later. Are you old enough to remember all the earlier bullshit about DOE and NEO and OpenStep compatibility? CORBA is a fashion victim, and after TNT, XView, OLIT, MOOLIT, Motif, CDE, Fresco, DOE, NEO, OpenStep and TCL fell out of fashion, EJB eventually became fashionable, and they changed the standard to reflect that, too.
Does anyone remember Mark Linton's C++ user interface toolkit called Fresco (based on his earlier work on Interviews), which was at one time supposed to become the official display services for DOE? What ever happened to that? (Not to be confused with the more recent Fresco which was just a new name for Berlin -- or do they actually share any code or architecture?)
According to Chuck Price at Sun:
OMG was always so confused about what their user interface and "Display Services" would be -- everybody went off in different directions, that they eventually abandoned: From the Common Desktop Environment (CDE) Frequently Asked Questions:
Here's another interesting article from DDJ about Object Interconnections: The History of the OMG C++ Mapping.
I was disgusted with the way CORBA was going in 1991, when I worked for Sun, and I still am. The article was a welcome vindication of the beliefs I've held for 15 years. In all that time, CORBA has never stopped sucking, so don't hold your breath.
What's all this crap about Sun "finally grasping the revolution in the market" and "deciding to do so" and "having an obligation to the community" and "stepping up to the plate" and "figuring out that they have a very real oblication to the future"? Did you have Exctacy and back-rubs with Scott McNealy or something?
I quit working for Sun because they believe their own bullshit and expected me to repeat their lies to our customers. Don't tell me you actually believe all that bullshit about Sun being the good guys who live up to their corporate responsibility, without being well paid to repeat that kind of crap? Or do you believe and spout all that crap because you work for Sun?
-Don
PS, Andrew:
Here's John Wainwright's page on MaxScript 101. MaxScript has a lot of really cool ideas built into the language that make it easy to script 3D graphics construction and animation (like treating transformations, time, etc as nested scopes that you can temporarily enter and exit, and directly supporting animation).
I dont't mean to confuse anyone by talking about two different pieces of software called "Max" (and not "Macs"), but here goes:
You should take a look at what Cycling 74 has done with their venerable visual programming language MAX/MSP (which supports a huge ecology of of binary plug-ins as well as visually scripted extensions), and Jitter, their 3d/video/image processing extension. Jitter supports writing extensions in JavaScript, and has full access to OpenGL from JavaScript as well as the visual programming language. You can even emit and consume JavaScript data structures on the wires flowing between Max data processing icons! But MAX is proprietary, and incredibly complex and arcane, due to its age. That can also be said for 3D Studio Max, as well.
I'm excited about applying ideas from successful or well designed proprietary systems to future versions of OpenLaszlo, targeting 3D runtimes instead of Flash. One reason I'm sure Flash is doomed is because it doesn't already support 3D, and if Adobe/Macromedia ever gets around to adding it, rest assured it will be a horrible kludge. I want to develop and run OpenLaszlo applications in a well designed full 3D real time environment, and use it to implement visual programming languages like Max, and user interface builders like HyperNeWS. OpenLaszlo's independence from Flash makes that possible.
-Don
Hi, Andrew! It was fun working with you after Sun, on ScriptX at Kaleida. ScriptX was even more lisp-like and object oriented than NeWS PostScript. Did you know that after Kaleida shut down, John Wainwright (an architect of ScriptX) went on to implement a plug-in scripting language for 3D Studio Max called "MaxScript", that's remarkably similar to ScriptX! It worked so well that Kinetix bought it from him, and made it the official 3dsmax scripting language. It's still in common use, for programming 3dsmax tools, importers, exporters and user interfaces. It was quite powerful because it supported all kinds of ways to integrate other software: DOS command lines, OLE automation, and dynamically loaded C++ extensions for the scripting language itself.
It sucked having NeWS and ScriptX canceled out from under me, while I was having so much fun with them. So no more proprietary platforms for me, thank you. These days, I prefer programming python, and I use SWIG to plug it into C++ and C libraries. I like to use OpenLaszlo on the client side, which supports Flash now and DHTML soon. But I will never fall for something proprietary like FLEX, ever again. In a few years, Flash will be as obsolete as Director, ScriptX and NeWS are today, so it's a bad idea to put all your eggs in that one basket.
-Don
The incredibly fucked up NeWS/CORBA/DOE/Slowlaris situation was why I left Sun, too.
I took a job at Sun in 1990, because James Gosling posted this message reaffirming Sun's commitment to NeWS, and during my job interview assured me that Sun was going to publish the NeWS source code in the public domain. (This was before the term "open source" was popular.)
Unfortunately, John Gilmore was right to be skeptical: "I'm glad that people believe James Gosling about NeWS more than they believe me. Check his message for specifics, though. Weed out the promises and soothing noises and what is left?" The only hope was to make NeWS free, so I grilled Gosling about whether Sun would make NeWS free, and he assured me they would, so I took the job with Sun, based on his word. But James Gosling let our team down. Which is why I've never trusted anything he said about Java.
To Sun, making NeWS free meant charging $1000 for media, and prohibiting anyone from distributing "free NeWS" it without buying the $1000 tape from Sun. (Yes, the person who posted that message is the infamous Pat Naughton.)
Sun actually wanted to cancel the NeWS project, but instead of telling us the truth, they said that they were going to use NeWS as "Display Services for DOE", which we all knew was a crock of shit.
-Don
Phase Relationships in the Standardization Process, James Gosling, August, 1990. [see link for illustrations]
Toshi Doi of Sony describes the standardization process in terms of the diagram at left. The i axis describes level of interest and the t axis describes time. Ti describes technical interest, and Pi describes political interest. As time passes, technical activity declines as the technology becomes understood. Similarly, generally fueled by economic pressures, the political interest in a technology increases in some period.
For a standard to be usefully formed, the technology needs to be understood: technological interest needs to be waning. But if political interest in a standard becomes too large, the various parties have too much at stake in their own vested interest to be flexible enough to accommodate the unified view that a standard requires.
In this model, Ws is the `window of standardization' where technical interest is waning (i.e. the technology has become understood), but the political situation hasn't become too hotly contested for constructive negotiating.
This model has many interesting insights, but there is more complexity in the situation that can be explored. In the original model, the T and P curves are open ended. The situation is more like the diagram at left. These curves, Ta and Pa, represent technical activity and political activity. In general, technical activity precedes political activity. Both types of activity go through phases of different intensity. As these activities proceed, they produce results. The result curves are the integrals of the activity curves.
The integrals of these two curves are drawn at left. The integral of Ta is K (knowledge) and the integral of Pa is C (calcification - revealing a strong personal cynicism). Ss, the sensibility of standardization, is just K-C. The optimum time for standardizing a technology is when Ss is at a maximum, which will be in a region where knowledge is high, but calcification has not yet set in.
A very interesting quantity to observe is the phase relationship between Ta and Pa. When the maximum point on Pa follows the maximum point on Ta by a sufficient distance, there is a wide Ss window. A sensible standard can be fairly easily set since the political activity which leads to the standard has the necessary technical knowledge in hand when needed. If Pa lags Ta sufficiently, Ss will have a long high flat top, which forms a convenient table on which to work.
Consider moving Pa left, closer to Ta. When it is close to Ta, Ss will have a shallow and flat region where the upward slope of Ta matches Pa approximately. This region is the time of chaos. Before calcification builds up, there isn't enough knowledge to do anything sensible, by the time that there is enough knowledge, there's too much calcification to allow a sensible compromise to be reached. In between, the region is flat enough that there isn't a clearly defined optimum moment for developing a standard, so there is instead a drawn out period of chaotic bargaining and soul searching.
Consider moving Pa even farther left, until it is to the right of Ta. This is the worst case: Ss is always negative. The long flat minimum region is the time of panic where the political/economic process has decided that a technology needs to be standardized, but no one understands it. Standards get set by making random guesses that are not grounded in any technical reality, but are instead grounded totally on political expedience.
The case described in the previous diagram is impossible in practice. The very act of setting a standard inhibits technical activity
If CORBA is any better than COM, then instead of using CORBA, why does Mozilla develop and use XP/COM, which is an open source cross platform clone of COM?
COM and XP/COM have their limitations, but COM is actually very nice for what it's designed to do (which is much less than CORBA is designed to do). But DCOM (Distributed COM) is a lot more than basic COM. The more appropriate comparison is between CORBA and DCOM. And also there's IBM's SOM (not distributed, like COM), DSOM (distributed, like DCOM), and OpenDoc (a component system, like OLE). But Microsoft has moved on from DCOM to web services and SOAP. Which is the point of the article. And that doesn't suck. I'd call it progress.
I wouldn't give up on COM (and its derivitives like XP/COM) -- they're still great for non-networked integration. But I gave up on CORBA and its ilk, a long time ago.
I'm disappointed that Apple has reverted to the circa-1986 NeXTSTEP window system (Cocoa), instead of continuing their pioneering efforts with HyperCard, OpenDoc, CyberDog, Smalltalk, etc. Why can't you flip any Cocoa application into edit mode, then modify, remix and script its user interface, just like good old HyperCard?
Cocoa's tired old NeXT interface builder seems like such a huge step backwards from the wonderful world of dynamic end-user-editability and plug-together components that users could build and customize at run-time, which Apple delivered with HyperCard, and promised with OpenDoc and CyberDog, before canceling those projects (and others, like Dylan, Sk8, ScriptX, etc).
Apple (and IBM) developed all this great component software stuff, then abandoned it for a rehash of something that seemed great in 1986, but is seriously behind products Apple already shipped. A lot of wonderful stuff has happened since NeXTStep was designed, but Apple's still stuck with the same old obsolete 1986 architecture, just appealingly renamed Cocoa and polished up with shiny graphics.
At least IBM kept their eye on the ball, developed Eclipse, and made it open source. IBM's stroke of genius was to name it something that pissed off Sun, so Sun wouldn't participate in the project even though they were invited. Sun missed out on all the good karma and fun and credibility and happy developers, because the name "Eclipse" got between Sun and their customers.
-Don
Back around 1990-1991, there were also a bunch of HP and Apple people involved with OMG. Some of the HP people migrated over to Sun, and tricked Sun into starting Project DOE (Distributed Objects [Practically] Everywhere).
Michael Powell was "Mr. DOE" at Sun. Before going to Sun, he worked on a Modula-2 compiler . He thought C++ had a really beautiful object model ("once you get past all that other stuff"), and didn't think anybody could understand Lisp (and didn't want anything to do with it). Nobody in the company actually knew what DOE really was but Michael Powell, so if you wanted to know, you had to go ask him, and he'd tell you what he thought you wanted to hear at the time, because he hadn't ever bothered to write it down. That was how he consolidated his power and kept a grip on his position as the architect of DOE, because nobody could pin him down about anything. So after years of development, DOE was so late and bloated that Sun finally released it on *TWO* CDROMs (unheard of at the time).
Arthur van Hoff (who previously developed HyperLook for NeWS, and later wrote the Java compiler in Java, and founded Marimba) didn't think DOE was usable, so he sat down one day and rewrote a tiny version of DOE from scratch called "DOE-Lite", which everybody in their right mind used instead of the official bloated DOE release. Arthur then proceeded to use DOE-Lite to make a distributed object trading demo which Sun demonstrated on the show floor at Object World. Ironically, he implemented using the (then canceled) NeWS window system, instead the officially sanctioned DOE user interface toolkit (because the official DOE gui was vaporware).
Sun put a lot of different colors of lipstick on that fat old pig, DOE: they renamed it "NEO", and then they tried to pawn it off as a back-end to OpenStep (NeXTStep, which they later gave up on), and eventually they tried to imply that it had something to do with Java.
I'd love to know what happened to DOE architect Michale Powell since his reign at Sun back around 1991! (No he's not Colin Powell's son, head of the FCC.) Had anyone heard from Michael Powell ever since? Where is he now? Does he have anything interesting to say about what went wrong with DOE?
-Don
Hey, I've hated CORBA/OMG/DOE at least since 1992, so I really loved that article. The author hit the nail on the head!
From: Don Hopkins
Date: Sat, Feb 27 1993 4:17 am
Email: hopkins@cs.cmu.edu (Don Hopkins)
Groups: comp.object
Svante Kleist (etxs...@garboa03.ericsson.se) wrote:
Well, there was the Strategic Defense Initiative (Star Wars), but they kind of cooled it on that once Reagan was out of office.
-Don
-Don
Why does the Google Pack EULA ask me to agree not to do something that's physically impossible?
From the Google Pack EULA:
Who in this universe has an infinite number of computers, or would install a piece of software an infinite number of times? Why don't also they require me to agree not to perform an infinite number of other impossible tasks? Why are so concerned about preventing people with infinite numbers of computers and patience installing their software?
-Don
You might be able to write a 64000 line app in BASIC, but try writing a 65537 line program, and see what happens!
-Don
The reason magic_quotes_gpc is so horrible, is that it is a FALSE SOLUTION. It doesn't provide any safety net at all -- merely the ILLUSION of a safety net, which encourages programmers to assume they're safe, and be sloppy. That's MUCH WORSE than not providing a safety net at all, and forcing programmers not to be sloppy, without giving them a false sense of security.
MySQL Guide to Security:
PostgreSQL: 8.1.4 et. al. Security Release FAQ
The designers of PHP have a long track record of making foolish decisions that competent language designers would have never considered in the first place. Then they make it even worse by coming up with half-assed kludges that try to address the symptoms, but fail to cure the disease, with side-effects that are much worse than the problem they were trying to solve!
For example: PHP originally had only deep structure copy semantics (pass by value of arrays and objects, by deeply copying them instead of passing references): when you pass an array, the ENTIRE deep array is recursively copied, instead of being passed by reference, like in almost every other programming language. So then they half-bake a horrible idea they called "references" into the language to paper over the problem, which are entirely unlike references in any other language (even Perl!), even more confusing, and are notorious for causing many bugs in user code as well as crashing the interpreter itself!
PHP's deep copy semantics were such a bad idea, that many programmers don't even realize it works that way, and don't catch on until it causes bugs and extreme inefficiencies in their code. So to kludge around the problem, PHP merely provides the ILLUSION of a safety net, by mimicking and syntactic appearance and name of references in languages like C++ (which are rigorously designed and well defined in terms of pointers), but PHP's references are totally fucked up, and cause more problems than they solve.
So any C++ programmer who reads or writes PHP code is likely to think something totally different is going on, and be surprized when their code doesn't behave as expected, and the PHP interpreter dumps core. The decisions to make PHP copy semantics and references work the way they do were WRONG. But what was even WORSE was to call that half-baked kludge "references", and make them look identical C++ references, so they totally mislead people into misunderstanding how they work, and making many bugs, crashes and security holes, which otherwise would not hav
A vice grip is just a tool, and it ruins everything it touches.
A nuclear bomb is just a tool of failed diplomacy.
Stop whining and making excuses for a horribly designed language. PHP is a piece of shit and you know it. There's no excuse for refusing to learn and use something better.
Of course Perl sucks even worse than PHP, but that's because PHP was designed as a reaction to Perl, and it's no excuse for PHP sucking too. PHP should have chosen a better language to react to. Or better yet, it should have been DESIGNED in the first place, instead of simply and naively APING something that is infamous for sucking.
PHP is one of the worse examples of Cargo Cult Programming Language Design.
-Don
I think you're trying to handwave and redefine your way out of the cold hard fact that FLEX locks you into Flash. Flex is a proprietary knock-off of OpenLaszlo, that purposefully neglected to imitate the most important thing about OpenLaszlo, which is its platform independence. OpenLaszlo came before FLEX, and it was designed from day one to be platform independent. FLEX is never going to support alternate runtimes like DHTML, Avalon, SVG, or anything better that comes down the pike like 3D graphics runtimes. OpenLaszlo is designed to outlast Flash.
The VM's for Perl, PHP, Python, etc are Free Open Source Software, but the VM for Flash is NOT. Unless you have any earth shaking announcements to make about Adobe open-sourcing Flash. If I want to port the latest version of Python to the Pocket PC, I can. But I've got to live with the obsolete version of Flash on the Pocket PC, because Adobe hasn't bothered to update it, and FLEX 2.0 applications that only run on SWF9 won't support the Pocket PC until Adobe gets around to updating Pocket PC Flash. Please tell me when Adobe's releasing the latest version of the Flash player for the Pocket PC -- I'd love to know, although I'm not holding my breath.
There are certainly free open source VM's for Java, and yes I have a problem with the fact that Sun's Java VM is NOT really Free Open Source (although they keep promising to make it free, then redefining what they mean by "free").
I'm quite disappointed by how most web application programming languages work (or rather, the many ways they DON'T work, and how badly they're designed). Take Cold Fusion for example: it's HORRIBLE! There's no reason web application programming language should suck so bad. If you think all web programming languages should be as badly designed as Cold Fusion, or lock you into one one particular proprietary platform like FLEX does, then you're suffering from Cargo Cult Programming.
C++ is also a commonly used web application programming language, and useful for all kinds of other stuff too. Most C++ compilers target many different instruction sets and runtimes. That's not rocket science. Why do you think that web application programming languages should lock you into one platform, or necessarily be any worse than other normal programming languages?
-Don
Adobe used to say that SGV was here to stay, so why did they let it wither on the vine and die? (My theory is because they bought Flash, so now they don't care about SVG any more.) Why should we trust what they say about Flash, if they lied about supporting SVG?
The Adobe SVG Page they say that "Adobe has taken a leadership role in the development of the SVG specification and continues to ensure that its authoring tools are SVG compatible." Is that still true? Will FLEX ever support more than importing a trivial static subset of SVG at compile time, and will it ever run on the SVG player? Why doesn't Adobe continue developing the SVG player, if it's not yet capable of supporting the requirements of FLEX? If Adobe is dumping SVG, then why don't they put the source code for their excellent SVG implementation out there as Free Open Source Software? Are they afraid it will compete with Flash?
On the same page, Adobe also says "Open standards promote choice, provide lower-cost solutions, and facilitate interoperability." That I agree with! So now that Adobe's given up on SVG and moved on to Flash, will Adobe ever submit the Flash specification to an open standards organization so it can be openly standardized like SVG? Will Adobe ever publish the complete source code of the entire FLEX system and Flash as Free Open Source Software? Will Adobe at least make a statement that they won't sick their legal team on people who implement free open source Flash-compatible runtimes?
The archive from 2001 says: "Adobe's intention is that future releases of the Adobe SVG Viewer will strive to achieve support for the full W3C SVG specification." What ever happened to that plan? Does Adobe's current SVG player fully support the W3C SVG specification, 5 years later? We've heard the lip service, now where's the beef?
The archive from 2004 says: "Discover the open-source future of graphics with Scalable Vector Graphics." So what's the open-source future of graphics, now? I think that describes OpenLaszlo pretty well, because it's future-proof by not locking you into any one platform like Flash! Will Adobe be open-sourcing FLEX and Flash? How about at least making the SVG player open source, instead of quietly killing it and dumping its body like a forgotten bastard stepchild?
-Don
The NeWS window system was programmed in PostScript, and was the original "AJAXian" window system, except that it used PostScript instead of JavaScript, PostScript instead of XML, and PostScript instead of DHTML, so it was much more consistent and vastly better designed than JavaScript and AJAX.
Some people didn't prefer programming directly in PostScript, so there were several projects to compile high level languages into PostScript code for NeWS:
In 1987, Dave Singer at Schlumberger wrote LispScript, a Lisp to PostScript compiler for NeWS.
In 1988, Rehmi Post at UniPress wrote C2PS, an C to PostScript compiler based on the Amsterdam compiler kit.
In 1992, Arthur van Hoff at the Turing Institute (the same guy who later wrote the Java compiler in Java) wrote PdB, a C++ to PostScript compiler.
OpenLaszlo compiles the high level Laszlo programming language (which is a combination of JavaScript embedded in XML) into Flash byte codes, as well as JavaScript that runs in web browsers.
This idea has been around for a LOT longer than the term "AJAX", or the JavaScript language.
-Don
Don't be fooled by the "truth" disguise. Science is a serious attack on Christianity.
-Don
Then stop saying you're never going to reply to me again, then replying to me!
Here's a web site just for you, suv4x4: http://www.fuh2.com/
-Don
You've been ignoring what I say and forcing me to repeat myself many times, and you actually complained that I posted too many messages to the discussion about my own article, because you made me repeat myself so often by not listening to what I said. But you're not pissing me off, you're just making me laugh.
"Regarding speed and framework": I will again repeat myself and say that OpenLaszlo is targetting the new SWF9 player (Flash 8.5), and taking advantage of its advanced features. So yes, they do target the same SWF9 player. If you had read what I wrote, I wouldn't have to repeat myself.
"Regarding "*FREE*"": (as you punctuated it, without disclaimers). The prices are not even announced yet, but they are much greater than zero, and the source code is proprietary. Unbundling parts and gerrymandering the definition of what FLEX is doesn't cut it. There is a world of difference between true "Free Open Source Software" and "*FREE*" as you define it with all the disclaimers you were forced to add later.
Are you going to try to make the same argument as the astroturfing Adobe employee on the FLEX team who tried to claim that OpenLaszlo wasn't really "true open source" because it didn't satisfy his own personal definition (that also excluded Linux)? Scott spanked him and he hasn't tried that argument again. And then you flip-flop around and apply your TOTALLY DIFFERENT definition of "*FREE*" to FLEX, which is absolutely a proprietary product?
You're not pissing me off, you're making me laugh with your back-pedaling rationalizations about how, well, you know, oh, no, you personally aren't actually interested in the "under $10,000" FLEX product because it's useless and duplicated by open source software, so that justified calling it "*FREE*". If they charge "under $10,000" for something useless, then can you please explain why? Are they trying to DISCOURAGE developers from using it because they're planning on scuttling the product, just like they scuttled SVG? You're the one raising these uncomfortable questions for Adobe with your ridiculous statements.
Free in the sense used by OpenLaszlo mean the ENTIRE source code of the compiler and all other parts of the system is available under an approved Free Open Source License. Ironically, you're trying to apply a much worse and more constrained definition of "*FREE*" to FLEX, while at the same time an Adobe employee is trying to question the well understood definition of "Free Open Source Software" as applied to OpenLaszlo. We can have this discussion when Adobe publishes the entire source code for all parts of FLEX under an approved Open Source license, but right now there is no discussion.
"But... but the server is free with Laszlo!!!" By your very own argument, for a long time FLEX wasn't free, and now parts of it are. Sounds like a REACTION to OpenLaszlo being true Free Open Source Software to me. Is OpenLaszlo tained because they used to charge a lot of money for it? Then FLEX is just as tainted, too! Is it evil for OpenLaszlo to go from a proprietary pricing model to Free Open Source Software? Then Adobe is even more evil, because FLEX isn't even open source, and you can't get or modify the source code. What good is that, anyway?
"Flex 2 teh vendor lock-in! 1111": Laszlo was DESIGNED to target multiple runtimes, from BEFORE the first line of code was written. The fact that it first targeted Flash is beside the point. There HAS to be a first runtime. GCC first targeted 68000
Importing a subset of SVG graphics without supporting scripting or animation is a whole different story than deploying FLEX applications that run in an SVG player instead of the Flash player. The page you refered me to said that the FLEX tool (but not runtime) only supports importing SVG images, not running applications in the SVG viewer, nor scripting nor animation:
It's disappointing that Adobe, who pioneered interactive SVG with animation and scripting, is now back-pedaling and only supporting importing a subset of static SVG without scripting and animation, which is the most interesting aspect of SVG. Does it at least support any of those wonderful SVG pixel filter features like drop shadows and 3d shading to make puffy buttons, which SVG is so nice for?
There are people who are claiming that FLEX doesn't lock you into Flash, which makes me wonder if they have some inside knowledge about Adobe's plans to deploy FLEX applications on other runtimes than Flash. Will FLEX applications ever run in the SVG viewer or DHTML web browsers without the Flash player? Have you heard anything about alternate runtimes for FLEX, or is it true that FLEX is designed to only support Flash, and no other runtimes?
OpenLaszlo was designed from the start to target multiple runtimes, like (currently) DHTML and (theoretically) the SVG player. In an ideal universe where SVG thrived, OpenLaszlo might have supported SVG as an alternate to Flash, except for the fact that in this universe SVG is pretty much dead, thanks to Adobe's promising the world then dropping the ball. The last nail in the coffin of SVG was the way that the Adobe SVG plug-in caused Mozilla 1.0 to hard crash. So any web page that used the SVG viewer caused all Mozilla based browsers to dump core and close all windows.
-Don
Dude, I think you're more afraid of standing up for your own words, than you're afraid of me. Grow some guts.
FYI, I posted 22 comments because the discussion was about an article I wrote, and it was my web server that got slashdotted. I was simply answering questions and correcting mistakes. You made a lot of big mistakes, so I posted several replies to correct you. You still haven't addressed your biggest mistake: claiming that FLEX does not lock you into Flash. It's an obviously false and ridiculous statement for you to have made, and I'm calling you on it, but you keep try to avoid answering perfectly legitimate questions about your own words. Do you take it back, or can you answer the simple questions I asked?
-Don
PS: BOO!
Since you work on the FLEX team, could you please tell us if Adobe will continue to support SVG, and if FLEX will support SVG as an alternative runtime? And how much the developer tool and server will cost? Stuff like that...
Disclaimer: I worked on Laszlo Mail as a contractor for Laszlo Systems. I've also developed several SVG projects, so I'm interested to know if Adobe's still supporting it. Does Adobe's SVG plug-in still hard-crash Mozilla/Firefox? That's why I gave up on SVG.
-Don
This back-pedaling rationalization really makes me laugh:
OK, so Macromedia has broken FLEX up into three parts: the SDK, which is "*FREE*" as you say, a developer tool, which is "under $1,000 per developer" as rumors have it, and the server component, which is "under $10,000 per server" as rumors have it. The official prices aren't announced, but they ARE NOT free, and NONE of the system is "Free Open Source Software".
Now here's the hillarious part: you're claiming that the "under $10,000 per server" part is actually "isolated and its functionality is very limited" and that its functionality is duplicated by open source projects. So can you please explain why they're charging so much money for it??? Are they actually trying to discourage developers from buying it, by charging so much for something that you claim is practically useless and duplicated by true Free Open Source Software??!
Can anyone please explain what the "under $10,000 per server" FLEX product does that's worth that much money? Your claim that it doesn't do anything useful raises the legitimate question: Is Adobe really committed to FLEX in the long term, or are they preparing to dump it?
If Adobe is really as committed to SVG as they used to claim, then why don't they modify FLEX so it also supports the SVG runtime, as well as Flash? Maybe because they've also dumped SVG, and it's just on artificial life support but they haven't officially notified the family of SVG developers yet? I really love SVG, but I got over grieving its death a long time ago.
Too bad Adobe won't pull the plug on PDF they way they scuttled SVG. The new version of PDF starts up in "twice the time" of the old version, but that still locks up the system for at least 30 seconds. My worst nightmare is that Adobe will modify FLEX to support PDF as an alternate runtime to Flash!
-Don
Kid, you are completely missing the point. Go back and read the fucking article. OpenLaszlo is a high level XML/JavaScript based language that COMPILES into SWF, and now also COMPILES into DHTML/JavaScript. It's INDEPENDENT of Flash, because it targets other runtimes, including browsers WITHOUT the Flash plug-in.
Your misunderstanding is like complaining that C++ locks you into 68000 machine language, because the first version of CGG initially targeted 68k. C++ is a (moderately) high level language that can be compiled to many different platforms. GCC in no way dependent on the 68000 processor, and it doesn't directly expose any 68000 specific features, so code you write in C++ can compile to any processor that the compiler supports. Do you see the analogy?
To take the analogy a bit further, Cygnus made their money by supporting GCC and porting it to other platforms like the Sony Playstation, in many cases paid for by the developers of the platforms themselves. Laszlo Systems uses a similar open source model, developing OpenLaszlo applications like Laszlo Mail for big corporate customers like Earthlink, and enhancing OpenLaszlo to support popular platforms like DHTML and the latest version of Flash.
On the other hand, FLEX is like a proprietary version of GCC that only compiles code written in a non-portable platform-specific language that only runs on one vendor's processor, and the code you write is by design NOT portable to any other platform, and you're NOT allowed to look at or modify the compiler source code, NOR modify it to support other platforms. And that's a lot less useful than an open source platform independent language like OpenLaszlo. FLEX is a textbook example of vendor lock-in, because it's purposefully design so it doesn't support any other platform than Flash.
Adobe has a long track record of using vendor lock-in to tie customers into their products, and then quietly dropping their support for products without warning developers that they're about to have the rug pulled out from under them. Case in point: SVG. The SVG generated by Adobe's tools only works in Adobe's SVG viewer, and do you really think SVG has a future at Adobe, now that they've bought Macromedia and moved onto Flash? Adobe was the main company propping up SVG, just because they were fighting against Macromedia Flash, and that's over now. The fat lady has sung, and SVG is dead.
-Don