Netscape and ActiveState To Cooperate on Development

Wednesday May 24th, 2000

Bill Stilwell writes, "Found this over at daily - Netscape and ActiveState have announced a deal where they will cooperate on their development projects. ActiveState gets Javascript, while ActiveState will donate its Python and Perl work to the Mozilla project.

"JavaScript will join Perl and Python as supported languages in ActiveState's powerful Komodo integrated development environment. This will allow Web developers to edit, run and debug their JavaScript programs in a professional-class development tool fully oriented to the Web, while maintaining a close integration with the browser. In turn, Perl and Python will join JavaScript as programming languages in Mozilla, thereby making it easier for Open Source programmers to use the Mozilla framework, and giving Mozilla developers access to additional scripting technologies."

#1 BAM!

by jesusX

Wednesday May 24th, 2000 1:10 PM

Well, my programming abilities under Mozilla just doubled, and gave me another top reason to push my clients on Mozilla. This is great news!

Detail questions arise though. What exactly does "ActiveState gets JavaScript" mean? What is there to "get" to JavaScript? And how is Perl (and Python) being integrated into Mozilla, that is, what will the usability be?

#3 Re: BAM!

by was

Wednesday May 24th, 2000 1:59 PM

I think mainly what activestate is doing is building an IDE *from mozilla*:

From the press release: ActiveState is building a Perl, Python and JavaScript integrated development environment (IDE) called Komodo. Komodo will use the Mozilla application framework and thus will have the benefit of being cross-platform and fully supportive of Windows and Linux amongst others. The IDE will offer features familiar to users of any modern IDE such as a rich language-aware editor, an interactive debugger and an interactive shell. The Komodo IDE source code will be freely available and will leverage Internet standards such as XML, CSS, RDF, FTP, WebDAV, and HTTP. This will make it easy for users to extend the IDE as well as learn how a complex Mozilla application is built.

#2 Cool!

by basic

Wednesday May 24th, 2000 1:23 PM

More reason for me to learn Perl. And in other news, IE might become a seperate company.

#4 What is this?

by burtonator

Wednesday May 24th, 2000 2:31 PM

What does "ActiveState gets JavaScript" mean???! Also, how can ActiveState "donate" Perl and Python to Mozilla when they are both Open Source anyway.

I am confused! Rhino is OSS and so are Python and PERL so this is like saying "here, I will give you this free programming language for free, now... Let's do a press release!" :)

#5 Re: What is this?

by was

Wednesday May 24th, 2000 2:36 PM

Read the press release!


"As part of this process we expect to make several contributions to the Mozilla code base, especially in the area of cross-language communication and extending the XPCOM component model," said Dr. David Ascher, Senior Developer and Project Lead, ActiveState. "By providing bridges between Perl and Python and the Mozilla framework, we are giving the Perl and Python Open Source projects deep access to the power of Mozilla."

Basically, it sounds like activestate will be doing all the gruntwork of making mozilla fully scriptable from perl and python. Fun stuff!

And if you want to indulge in some really crazy thoughts, remember that the current perl "pumpking", Gurusamy Sarathy, works for active state. Maybe mozilla will end up embeded in perl! ;-)

#10 They better WORK, girl...

by jesusX

Wednesday May 24th, 2000 6:20 PM

This late in teh game, either they're not going to try for NS6 final / Moz1.0, or they're going to throw a bunch of developers on this to get it up to speed FAST...

#13 Re: Re: What is this?

by gwalla

Wednesday May 24th, 2000 8:20 PM

> And if you want to indulge in some > really crazy thoughts, remember that > the current perl "pumpking", Gurusamy > Sarathy, works for active state. > Maybe mozilla will end up embeded in > perl! ;-)

I thought he was the Python guy. And mozilla could never be "embedded" in Perl *or* Python, although someone could write packages in either that could contain Mozilla code.

#14 Damn MozillaZine messed up my qoutes! (n/t)

by gwalla

Wednesday May 24th, 2000 8:21 PM


#6 Is this Perl scripting?

by theuiguy

Wednesday May 24th, 2000 2:43 PM

Anyone know if this additional support for Perl and Python is just hooks into Mozilla to provide access from other languages? Or is it Perl and Python scripting in the client, much like JavaScript? Having PerlScript support in Mozilla would be cool, but I question whether we need three scripting languages, especially if they aren't universal to all browsers. ActiveState has more information about PerlScript

#7 Fantastic

by eXv

Wednesday May 24th, 2000 2:55 PM

This sounds great so far. I've always liked how you can use just about any language with IE and all that automation stuff, however flawed an implementation and insecure some may feel that it is.

I'm wondering how they will go about allowing multiple scripting languages for event handlers. One nice way I've seen is in Prototype:

Click on the Scripting link in the frame.

You'll notice this code looks a lot like XUL, but instead of embedding code into an attribute, they use a tag that has attributes to signify the target language:

<?xml version="1.0" ?> <!DOCTYPE Window SYSTEM "proto.dtd"> <Window Id="App1" Title="Hello World" Width="200" Height="120"> <Panel id="p1"> <Text Id="Text1" Pos="10,10,170,20"></Text> <Button Id="But1" Pos="45,45,105,30" Caption="Press Here!"> <!-- the setText is a method available for the target object, in this case a JTextField from the JFC. This method can be any method of this class or from one of the superclass of this object. See Bean notes below --> <onMouse Event="Clicked" Target="Text1" Language="BEAN"> <script>setText("Hello World") </script> </onMouse> </Button> </Panel> </Window>

He gives examples of TCL, Python, and use of JavaBeans as well on that page.


#9 Re: Fantastic

by thelem

Wednesday May 24th, 2000 3:29 PM

onclick.perl="" would seem sensible to me...

Obviously onclick.ecmascript/javascript would be added, and onclick would assume javascript.

How does IE do it?

#11 Re: Re: Fantastic

by stephan

Wednesday May 24th, 2000 6:21 PM

IIRC, you can specify the scripting language by using the proprietary LANGUAGE attribute.

#15 W3 current stuff and reserved-for-future-use stuff

by eXv

Wednesday May 24th, 2000 8:34 PM

I just looked around the w3's DOM docs, and found this:

They have a few attributes reserved for future use in the SCRIPT tag, namely "event" and "htmlFor". Maybe this could develop into something.

As for current stuff, looking at:

They give examples of things like:

<button...> <script language="text/tcl"> .... <script> </button>

Looks like they're just using it in that location for convenience because they manually assign the tcl procedure to the onclick property of the element after writing it. (But I didn't notice them doing that in the vbscript example??)

etc etc..

They also talk about ways to set the "Default" scripting language in the meta information.

Hopefully most of that stuff should suffice.


#8 What does this mean for page authors?

by kb7iuj

Wednesday May 24th, 2000 3:26 PM

I'm sure this must be a really dumb question, but does this mean we'll be able to say something like:

<SCRIPT Language="perl"> <!-- ... //--> </SCRIPT>

in our HTML/XML documents?

#12 Yes [n/t]

by uksi

Wednesday May 24th, 2000 6:50 PM

no text

#16 /me is wary

by vinn

Wednesday May 24th, 2000 11:31 PM

<P> I'm a huge fan of Perl and all. But unless you have some really strict rules regarding security you're going to run into trouble. I'd rather have it "secure by default" than to make it easier to script. We all know what happens when we plug more and more scripting into programs - witness last weeks .vbs fiasco.

<P> I'd love to see a <B>small</B> subset of Perl make it in. Something like the regex support, the text manipulation, maybe some DBI stuff, but I could do without any sort of filesystem access unless it had to use XPConnect methods.

#19 Re: /me is wary

by asim

Thursday May 25th, 2000 7:28 AM

Perl has a "taint" switch, whch basically stops your program from using any data obtained from an outside source (file, STDIN, Enviromental vars) to affect anything w/o "clearing" it first. For instance, you could not pass "rm -r -f *" directly to the system if you put it in a query string on a form -- you have to check the value in a regular expression (presumbly checking for such dangerous strings first). This is an old, old function of Perl, predating it's use as a CGI tool, and is quite robust. It won't save a stupid programmer by itself (you have to choose to use it), but it can _definitly_ help. Python, I would wager, has somthing similar. There is a "miniperl", as well, designed just for embedding. But I don't think it's too necessary to take a lot out -- most of the mass in in the libaries, which you'd simply pick and choose from. On my system, my perl binary directory is about 2 Megs, with the perl.exe being 50k. I have 20 Megs of libaries, but I have a LOT of extranous stuff.

#17 How useful would this be?

by gwalla

Thursday May 25th, 2000 12:15 AM

I wonder if this would really have an impact. Sure, Perl and Python are great. But JavaScript works in all scripting-enhanced browsers (if you play your cards right). If Perl and/or Python make it in, I think they'd be fairly ghettoized, like how HTML-embedded VBScript is now. They would also cause some serious bloat.

There are good reasons for a single, standard web scripting language.

However, making mozilla scriptable *by* Perl and Python seems like a good idea. Additionally, does anyone know what AppleEvents Mac Mozilla supports besides the four basics, if any? AppleEvents allow scriptability on Macintosh by any language, including AppleScript.

#20 Re: How useful would this be?

by asim

Thursday May 25th, 2000 7:37 AM

You're right, I don't see it as very useful on the browser-scripting side for now. In the future? Who knows.

I concur with you, the focus of this will be in connecting Perl/Python to the Mozilla system. That's obviously, with the IDE announcment, where ActiveState is going, and it's a VERY good thing. Perl people are notorious for hacking _everything_; there's a napster client written in Perl, interfaces to AIM, a SMTP server, and so on...look at for examples.

Now, imagine the extentions that the Perl and Python communities can provide for Mozilla. Junkbuster? No problemo. Bookmark manager? A couple of hours.

WOW. I'm drooling already.... :) So, yes, I agree 100%

#23 Re: How useful would this be?

by amasri

Tuesday May 30th, 2000 6:39 PM

Mozilla's AppleScript dictionary includes 20 core commands, plus LoadUrl and Do JavaScript. It should be sufficient for most purposes.

#18 Can you say Perl and Python COMPONENTS?

by hto

Thursday May 25th, 2000 4:00 AM

For many developers writing XPCOM components in C++ is a big hurdle. Even for experienced programmers it is tedious and error prone. And no "serious hacker" thought JavaScript was worth anything until Mozilla.

Perl and Python on the other hand...

#21 Re: Can you say Perl and Python COMPONENTS?

by jesusX

Thursday May 25th, 2000 2:07 PM

Either you haven't spent a lot of time in Javascript, or you're prejudiced. JavaScript is extremely powerful. It surprises me constantly when I see something new and very creative that I never dreamed of. With Mozilla, it's better than ever. It's just that Mozilla is the biggest, most public project to make extensive use of Javascript, to show a huge number of people just how powerful it is.

#22 Re: Re: Can you say Perl and Python COMPONENTS?

by hto

Tuesday May 30th, 2000 4:41 AM

Note that is said *before Mozilla*. For example, I never thought JavaScript was good for anything else except twiddle this and that on a web page.

When I started with Mozilla I learned some javaScript. Ok, it can do more in a web page than I thought, especially with DOM. Still no biggie, although mucho cool.

XPConnect? Now this is starting to look interesting - make my real stuff with C++ and call JS to execute it.

Then comes along JS components, which really opened my eyes. JavaScrit has finally earned its place among other "real programming languges" in my book.

XPConnect and JS components are the things that make JS powerful in my view. They did not exist before Mozilla.