ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> Jython-dev
Jython-dev
[Jython-dev] My take on JSR 223
by Michel Pelletier other posts by this author
Jun 18 2003 12:21AM messages near this date
[Jython-dev] JYTHON V/s PERL | [Jython-dev] Re: [Jython-users] Scripting Pages in Java Web Applications
I've read:

http://www.jcp.org/en/jsr/detail?id=223

and would like to provide my opinion on the document from a Java and Python 
programmers perspective.

For background to those unfamiliar with Python/Jython:

Python is a high-level, object-oriented scripting language whose interpreter 
and many core modules are written in C.  From the perspetive of JSR 223, it 
is very much like any other scripting language like PHP or Perl.

Jython is an implementation of the Python language written in 100% Java.  
Jython compiles Python code directly into Java bytecode .class files that are 
indestinguishable to the JVM from .java compiled files.  For distinction, 
Jython programmers call the Python implementation written in C "CPython".  
JSR 223 does not really specify much about scripting languages implemented in 
Java itself.

Both CPython and Jython can benefit from something like JSR 223, but I think 
the scope of the JSR is too narrow and slightly off target.

The JSR focuses on web scripting, but this leaves out a huge amount of 
scripting language use cases.  Scripting languages are not just about web 
pages.  Much more often they are used as "rapid" application development 
languages,  "simple" configuration files, high level application glue, a tool 
for users to extend any kind of program, a tool for users to automate certain 
common tasks ("macro" uses) and many others.

The thought and effort that goes into this JSR will need to be duplicated, 
bacwarded against, or replaced by something new when the Java developers 
realize (and they *will* realize) that they need a general, non-web specific, 
standard API for other languages to BOTH interface the Java runtime (like 
CPython or Perl) and be implemented entirely in Java (like Jython).

I'm sure I'm repeating something you've heard over and over, because if you do 
a Google search for JSR 223, you will not find a link to the document on the 
first page.  You will instead get links to many different discussion boards 
and sites of various open source scripting languages; and almost all messages 
and articles on the subject say close to the same thing: JSR 223 is too web 
specific and ignores some very real issues of scripting language and Java 
integration; and I agree.

But JSR 223 can easily broaden its scope to include all genearl scripting use 
cases.  It could also easily focus on a standard, core API for languages to 
access all Java services, not just servlets through a narrow interface.  It's 
a step in the right direction but it's timid step in my opinion and needs to 
go farther.

Thanks for your time,

-Michel




-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
Jython-dev mailing list
Jython-dev@[...].net
https://lists.sourceforge.net/lists/listinfo/jython-dev
Thread:
Frank Cohen
Michel Pelletier
Samuele Pedroni
Samuele Pedroni
Michel Pelletier
Dennis
Michel Pelletier
Dennis
Anthony Eden
Anthony Eden
Don Coleman

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved