You can not write enterprise-class, secure, web-centric software with PHP or RoR. The jury is still out on Python.

To gain the benefits of Java you would need to turn the PHP language into - Java. So far, all projects that try to spit out bytecode via a non-Java language have failed.

Writing enterprise-class software is difficult. There is no way around it. The idea of "running PHP on Tomcat" should be taken out back and executed Sopranos-style.

- Jim

----- Original Message ----- From: "Clifton Brooks" <[EMAIL PROTECTED]>
To: "Dev Tomcat" <dev@tomcat.apache.org>
Sent: Tuesday, June 17, 2008 9:22 AM
Subject: JRuby sucked up the bath water but left the baby behind.


Instead of binding Ruby to Java as in JRuby, or Python to Java as in Java, we have to find a way to compile Ruby on Rails applications, .py files, and
PHPs into java servlets.

Although I adore programming in Java, most web developers simply find it too difficult to learn. They prefer PHP, RoR, and Python because all three are easier to learn and use without understanding. These languages don't scale as well and sacrifice run time efficiency for development time efficiency.

The greatest advantages of servlets include:
1. The fact that they parse requests and generate responses through method
calls instead of operating system processes or Fast CGI.
2.  JNDI connectivity, particularly database connection pooling.
3. WORA and platform independence. (More a factor compared to .NET than
the open source technologies.)

Sadly, JRuby and Jython are just interpreters written in Java and they run
more slowly than the original binary interpreters.

If, instead of interpreting JRuby, PHP, and Jython, Tomcat, or some
extensions for it, could compile programs in these languages into java
servlets, then all of the advantages of the Java world will instantly become accessible to these popular languages. This suggestion is analogous to the .NET model which compiles any language into Windows only byte code. Here,
any language compiles to platform independent, Java bytecode.

I love Java as a language, and almost always prefer to develop in it, but maybe it's greatest virtues aren't syntax and grammar. Most web application
developers prefer PHP for reasons similar to those which make RoR
appealing.  However, the technologies underneath these languages don't
measure up to the JVM and Tomcat or other Servlet containers. This causes all sorts of scalability problems, and it slows down the entire internet.

When and how can we grant Java infrastructure to PHP developers? When and how can we compile PHP, Ruby, Python, and other web application languages
into Servlets?

I dont know about the feasibility of this, some clever person can figure it out, but there is definitely a market for PHP in tomcat. The question comes up in the user groups. I imagine there are practical challenges to that and the half cocked Servlet solutions out there seem to be reinventing PHP in JNI, and doing a fairly bad job.

I was wondering if an extension to the Apache runtime would not be a better way to go... APR + PHP_R kind of idea. And then just look for some cool but simple interop. Like a servlet can forward to PHP, and visa versa. ie you can just use TC for your PHP, and you can get it integrated to some degree with servlets. ... ie take two great technologies and bring them a little closer, not a competitive product, just closer coop. Make servlets and PHP better bed mates. The idea is that as Apache PHP is developed further, TC gets the leverage, with a few perks.

"Damn thats a nice WIKI in PHP... I'm going to drop it into TC, add the PHP_R engine to TC and forward requests to it from my servlet"... something like that. If PHP starts a session in this env, servlets see it as well... so theres a little engine overlap, but otherwise Apache TC are 100% compat.
Bean passing with primitive types would add a creative dimension to it.

JRuby is cool, but I feel if you want to write a powerful site all in j script... well, you get what you made. I think that any leverage in that area will come from the JRE itself, now that Sun is backing ruby, in the form of a JIT Script engine or something like that in the JRE, so I think, not worth the investment. The compilation of scripts to Java could first be attempted external to TC... if they get it right, well its just a java class that TC can use.

Servlet + PHP as bed mates == most internet solutions
Now that product like Netbeans are bringing in PHP editors, allowing for hybrid solutions makes even more sense.

Just a thought ;)

---------------------------------------------------------------------------
HARBOR : http://www.kewlstuff.co.za/index.htm
The most powerful application server on earth.
The only real POJO Application Server.
See it in Action : http://www.kewlstuff.co.za/cd_tut_swf/whatisejb1.htm
---------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--
Jim Manico, Senior Application Security Engineer
[EMAIL PROTECTED] | [EMAIL PROTECTED]
(301) 604-4882 (work)
(808) 652-3805 (cell)

Aspect Security™
Securing your applications at the source
http://www.aspectsecurity.com


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to