4 Web Scripting Languages Compared
monkey crunch writes: "ZDNet is running an article comparing PHP, ColdFusion, JSP, & ASP. Although they don't show the script sources, it's interesting to note that PHP garnered the highest performance of the bunch. From the article, PHP: 49pps, ASP: 43pps, CF: 29pps, JSP: 13pps" PHP did gather the highest pps, but it's interesting to also note what the article gave top honors. In any case, it's an interesting topic, but remember: use what's best for you. Don't use what you feel you "have" to.
Here's a link
The preview thing fux0rz things up! Fix it plz! Here is the prettier post:
At Security Space you'll find all sorts of interesting stats, such as what kind of servers people use, what modules apache servers use, what technologies people make use of and what people author their stuff in.
It's a really good site, which I use a lot to point out how many sites run open source products. Strangely I cannot find Tomcat there... Odd?
Any technology distinguishable from magic, is insufficiently advanced.
- The database connectivity is far from perfect, and ODBC isn't the magic bullet some people like to think it is. While you can use ODBC to connect to an Oracle database, it will offer significantly lower performance than using the ora_functions.
OK, but the same applies to the other languages. Using ODBC performance will be lesser, and using custom database access will be less portable. The article singled out PHP by saying that its database access was portability-unfriendly.Believe with me, my saplings.
You can write ASP in PerlScript, JScript, Python, VBScript, etc. And ASP+, Microsoft's next "version" of ASP, will support, among other languages, C#, which is just alias java c#
I could not justify my existence if I were a turkey farmer. Would I terminate myself? Undoubtably, yes.
As an experienced Java server coder I can vouch that the idea that using Tomcat 3.2 as a benchmark is utter stupidity. Tomcat developers and all benchmarks agree that either Resin or Orion server delivers the best performance for JSP. Tomcat is murderously slow in comparsion (ZDNet tipped it off when they said ASP was faster, which by no means matches my experience or general concensus). I have coded components (Bean) and extensions (taglibs) for JSP a few times and I have yet to come across a better general web scripting technology than this. Now I know that /. is the home of a lot of perl/C lovers but can all those companies who are ignoring M$ solutions and going for the Java solution really be that wrong. Anyway to get to the point a java compiled JSP/Servlet container running a web application of JSPs, Servlets, taglibs and Bean, is a very good and portable solution (I am still forced to develop on Windozer but we deploy on Linux as well as Win2k and WinNT).
"Think of something cool and tell yourself it`s my sig" -me adapting a quote from BtVS
A person is smart, people are deeply stupid
Fortunately VB7 will support try/catch/finally blocks.
I could not justify my existence if I were a turkey farmer. Would I terminate myself? Undoubtably, yes.
"and it is very difficult to maintain"
100% recycled BS. I am the only one who tires of this complant. Perl is not hard ot maintain, bad programming and design structure is hard to maintain. I have been involved in 25K LOC projects with an established coding standard and naming convention and variable scoping rules. Ease of Maintainance exceeded any C project I have ever worked with and a 25K LOC Perl project is probably worth 35k of C or C++ code for equivalent functionality.
did you have any source control? i sure hope so. Visual Interdev integrates nicely with VSS- you can check files in and out directly from VID. Did you ever need to check the MSDN for help with your ASP? if you have the MSDN installed (which you should if you are working on a fairly large project using ASP/COM), just press F1 in VID and viola, whatever you have highlighted automagically pops up in the MSDN help files. Or what about deployment? didn't you need to deploy over multiple servers? VID simplifies this process nicely since you connect directly to the web server. hit save and the file is already updated on the server. open up the the test server as a separate project in the same window, drag and drop- bam- you just deployed to the test server. what about database access? you can browse the db directly from VID without ever opening up a SQL window.
it sounds like you didn't even attempt to use VID for anything more than an HTML editor. forget the autogenerated junk- that's crap. but if you know how to write web code, you shouldn't need or want any of that anyway. VID offers a ton of productivity enhancers if you take the few moments to learn and use them.
you are correct that ASP isn't a language, but you seem to be searching for the correct way to define it, so here it is: ASP is an ISAPI filter on the web server that interprets any file with a .asp extension. all that means is that it's a DLL (asp.dll) that does the work if a .asp page is requested.
Give me a break. You can generate dynamic GIF/JPG and PDF with all of the scripting languages in the article. PHP, being the kitchen sink of a language that it is, chose to bundle the GD library, and several PDF generation libraries into the language, and that's about all that makes it slightly advantageous in this respect. It's fairly trivial to create dynamic GIF/JPG images with JSP/servlets (Jason Hunter's servlet book had some examples), and there are at least three Java PDF generation class libraries that you can use to generate PDF from JSP/servlets.
I will no even get started about ASP and CF-both can readily access COM objects, which opens up a whole bunch of opportunities since there are so many libraries available. PDF and GIF/JPG is definitely not a problem with any of these technologies.
Whenever you're designing a comprehensive reporting application at work, coming up with a decent library to generate good-looking business charts is a problem with technologies like PHP, however. There is so much free and commercial Java and COM libraries available for JSP/Servlet and ASP or Cold Fusion developers, but not for PHP.
Zigbee Central: A Zigbee weblog
Say anything you want about what's better, what's worse ... but I'm sticking with this mealticket for right now. ColdFusion is great ... it's fast, easy, fairly elegant, and pays really well!!!
Of course, ASP shares these same problems, as JSP was modeled after it. The real solution to this problem is to use a scripting language which doesn't allow the intermingling of Java code and presentation. An example would be WebMacro or Velocity, template engines which use a very simple scripting language to access bean properties to display a page. A servlet inspects the HTTP request, performs all logic for deciding how to handle this request, constructs a bean representation of the data requested, and then passes this data to the template for display. This seperation is clean--the servlet is written by a Java programmer, the template by a graphics artist. They only need to communicate about what data will be passed between the two. It also enforces good style of not allowing arbitrary code to appear in your presentation layer--something which requires a fair amount of discipline--especially with junior developers--when working with JSP.
The main thing JSP has going for it right now is market push. JSP was just a clone of ASP in an attempt to win mindshare by providing something familiar. {A,J}SP really isn't very well thought-out, but most people don't realize this because they don't know much about the alternatives. Compound this with the fact that developers don't mind mixing code and content, and you've got a pretty strong force in favor of something which can make web monkey's lives a living hell. It's really a good idea to look at the alternatives. Unfortunately, none of them have really reached the critical mass of users yet, but as sooner we make the transition, the faster they'll mature!
All of these scripting languages are available on both Windows and Linux (some on other OSes too). They took into consideration how easy it is to code in CF, why not take into consideration which OS a scripting language best runs on?
Interestingly enough Tesco (a massive uk chain of supermarkets) are implementing their newest checkout apps in linux! Conversely Sainsbury's (their major rival) use NT. I was amused to notice this when upon seeing familiar messages ona few checkouts in Sainsbury's I looked closer to see that Dr Watson had detected appplication errors and seen fit to close the checkouts.
--
you have just proved that sig ads work! Email me for a written quotation.
You can't separate the tool from the kind of craftsman and job it is intended for. The reason I mention this is that comparing these scripting languages this way abstracts out the most critical details
Thus, when you look at the "cost (Developer time)" score, what you are really looking at depends on the composition your team. It's just plain stupid to rank JSP/servlets as "C" and ASP as "B"; there are applications a skilled programmer can do with JSP that would be nearly impossible in ASP. In that case, JSP would be "A" and ASP would be "D". On the other hand, if you are relying your already overtaxed and underskilled Microsoft only IT app development department to deploy some very simple dynamic content, then ASP would rate "A" and JSP would rate "D" for cost.
By the way, about a and a half year ago I took my small company kicking and screaming to Zope. I built a standard page framework with consistent but customizable layout, navigational elements and decorations. Was this costly -- you bet. We wasted untold time arguing over content that users provided that had hard coded positions, dimensions, font sizes, and IE only HTML extensions. However, once I got these people out of the layout business into the content business, we ended up with a web site that is consistent, professional, and constantly updated with no technical skills required at all.
Moral: the cost to deploy is not necessarily related to the cost to maintain.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
I use PHPLIB for its Template class.
And, AFAIK there is no template functionality built-in to PHP4... yet.
Why do I need a sig? I never post.
Just to let you know, JSP actually will let you use other languages as well. It's not commonly implemented, but Resin from caucho.com can use either java or javascript ...
;-)
However, JSP is definitely slanted towards java
Actually, if you plan your displays before implementing them in xsl, and nail down your xml formats, xml/xsl is a very elegent, extremely maintainable way of managing display on very large sites. If your working on a site large enough to justify it, then the processing overhead isn't a big concern, you have the iron for it. And as for the added level of complexity at initial development... like all development tasks, the better you do it the first time, the easier it is to maintain on into the future.
On the other hand, if all your doing is web counters, message boards, and fancy dhtml crapola... then you care about this [] much.
Old truckers never die, they just get a new peterbilt
If you are intersted in web scripting languages similar to Cold Fusion, you may want to check out http://www.steelblue.com SteelBlue is a fully free and open source application server designed to produce dynamic database driven web applications.
The core design of the language is similar to Cold Fusion in that regular HTML is extended with special purpose tags for doing things like SQL, data type checking, making select boxes, etc. This is supplemented with a "Eval" language that is similar in syntax to C. There is also a library of a few objects that can be manipulated to do things like parse XML or manipulate JPEG files.
In addition hooks have been built to allow easy extension of the core language by anone who can write C or C++.
This code is newly open sourced, so we are looking for whatever feedback we can get...what we have gotten so far has been good, so people seem to like it. Now all we need to do is get more people to see it! -Al
Is it just me or does ZDNET usually manage to select the most expensive, slowest product?
I guess open source just doesn't buy enough advertising. We probably should be grateful that they even mentioned perl.
Average Intelligence is a Scary Thing
... shows their cluelessness.
ColdFusion is not an OO language, it is not even a structured programming language (you can't write functions that you call elsewhere in the same file). This means that any non-trivial web apps rapidly grow into an unmaintainable mess of code.
And in spite of their benchmarks, any procedural code in CF is dog slow. If you hit on a bug (and there are quite a few) that causes problems with what you trying to do, you cannot switch app server vendors as you would with JSP.
It may have been faster that Tomcat, as configured by them, but this does not mean that ColdFusion is faster than JSP. ColdFusion is interpreted, more so than Java, and is not nearly as optimised and researched as Java virtual machines are.
The one thing I would give ColdFusion credit for is DB access, which is extremely quick and easy. You configure a DB connection in the CF administration interface, and you then refer to it by name in the code, no specifying all the connection info. This allows you to create dynamic webpages that show DB records much more quickly than with the competitive systems.
In this regard, ColdFusion does for Web Apps what VB did for Windows desktop client apps, in that it allows very rapid development of frontends for databases. Arguably it is "the VB of web development", even more so than ASP+VBScript. But as you can imagine, the resulting code frequently ends up about as maintainable as a lot of VB apps.
${YEAR+1} is going to be the year of Linux on the desktop!
I'd have to agree with the article that ColdFusion has a quick development time and is easy to use. Also, and I saw this refuted above, but it is also extremely easy to maintain and more portable than you'd think.
I develop web applications for the USPS, and we use ColdFusion in the project I'm currently on; there are no portability issues to speak of with the basic cfml code. There *are*, however, portability issues concerning the CFX tags (ColdFusion extensions written in C++ and compiled as shared objects) and *anything* that mentions Java. I attribute the Java problem with the fact that it's an environment nightmare to get anything written in Java to run on different machines. The CFX problem was unintended, but Allaire made an error when they compiled the server using Sun's native C compiler (for the Solaris version). If you use gcc to compile your libraries, forget it; it will ungracefully crash and burn.
So what are the downfalls? The same pitfalls come with ColdFusion as with anything not open-sourced. They don't fix their own bugs in a timely manner. I have personally discovered two bugs, one of which is really getting in the way of development (and stability), Allaire has officially recognized both and escalated the situation, but there are *no* patches to fix these problems and no sign of any help.
If PHP had problems as large as these, were notified about it, and didn't have it fixed with amazing haste, I'd be disappointed.
That's worth a lot more to me than being able to teach an idiot how to code and make it work, which seems to be the focus of corporate opinions.
Source code is a lot like a parachute; it needs to be open in order to function properly.
A good web development team, no matter which language or platform you choose, will have a mix of people coming all the way from the pure inteface guys (including here the designers) down to the bare metal guys (including the usual daily-kernel-compiling guy). All projects larger than toys I have been working on for two years have had this configuration.
:)).
As for ASP, the mix ASP/COM is the Microsoft-blessed way to use the technology since the beginnings of 1999 (almost two years ago). So, yes, you must have a good C++ guy in your team, otherwise you will be unable to scale up for too long with ASP. PHP will take you a bit higher before entropy takes over. Python is even better (now if only Guido would put the braces back where Nature intended them to be...
1. Not sure if I'd say Java is 'open' and 'non-proprietary'. There are apparently a lot of things developers would like to see in Java, but Sun is not implementing. I don't know specifics offhand, but one of the guys here does a lot of Java stuff and fills me in on the details now and then. Yes, you can see code, and yes, it's cross-platform, but I wouldn't say 'non-proprietary'.
It's proprietary to Sun's specs. There just happens to be a large enough user base out there to make it seem common.
2. A lot of packages don't, either. Or if they do, it's more 'java bandwagon' hopping than true support. Our latest experience is with the Adobe Acrobat 'bean'. Adobe seems intent on making it as hard as possible to do PDF work on non-MS platforms (no acrobat 4 for unix, for start) and the 'bean' they released is pretty low quality.
They had a press release in summer 1999 saying how they were supporting Java through this PDF bean thing - the code we see in the Java itself is all marked 1998, and it's not been updated since.
Not saying all developers are like this, but do some research before jumping into Java - just because people say 'works with Java!' doesn't mean it actually does.
4. There are some inconsistencies we've come across between platforms that don't lend themselves to 'write once run anywhere' java mythology. Keyboard issues, for one. Also, Windows Java support is different than Linux, for example. I'm sure it can all be 'worked around', but it's not simple. (these are more 'graphic' issues, perhaps not important for server-side java work).
creation science book
Python, Perl: How do you write a serious article about web scripting languages leaving these two out?
the article mentions both python and perl on the 3rd page.
Perl is the mother of all scripting language
the article actually calls perl "The granddaddy of open-source Web programming languages".
OK, would someone mind telling me why ZDNET refuses my connection when I'm running SLackware Linux but not when I'm running Windows 95?
It makes absolutely no sense!
Glückwünsche, haben Sie Slashdot ermordet, indem Sie zum korporativen Druck beugten und Subskriptionen einlei
Depends on your point of view. CF can easily be extended with C, Delphi, etc.
The Game Guy
- Yes, I talk about recompiling. Recompiling takes time, especially with Java. Rule of thumb by a fellow Java developer (who, btw, loves Java): No matter what kind of hardware you throw at it, the JDK will make your system slow down to a halt.
I'm a professional servlet developer (feels so good to say that - haven't been for longBelieve with me, my saplings.
We've been using Roxen for nearly a year now. And it really is a very productive environment. Roxen is hard to be categorized since it's both a webserver and contains its own scripting/markup language AND still works with other scripting languages.
I'm suprised by the developer cost/learning score they gave to PHP. I always thought PHP was very easy to learn, even easier than ASP. PHP always takes less code than ASP in my experience. You don't end up with the "Response.Write" when all you mean is "print". Don't get me started about "MoveNext". Arg!
On the other hand, I do think PHP needs a more consistent DB API. (I think they are working on it.) But ASPs is only consistant because there is only really one direct way, ODBC. If you only used ODBC on PHP all your code would be more portable among DBs. But it's much more fun to use FreeTDS to hit a MS SQL server with a Linux/Apache/PHP server than an expensive ODBC driver.
I've also found that all of our contractors that we have hired that know ASP learn PHP very quickly. They all have the same comments about the PHP code being much smaller and easier to read. VBScript that is used in most ASP pages just doesn't quite fit the web as well as PHP.
And another thing. ColdFusion is the cheap way to start a web project? I guess that fits if you rate PHP hard to learn and expensive to develop, but $5000 is a hard price to take up against free for almost anything else. Sounds like Dilbert logic to me. The most expensive product will obviously make our programmers more productive.
For the first time the benchmarks where not the main focus of the article, but the ease of uses and development time in getting to market. I do stand behind their opinion of ColdFusio being something that is easy to get going and something built in one weeks time, but then you will run into the same problem w/PHP.. a bunch of code that is not reusable.
Tomcat/JAVA is a great development platform. The PagePerSecond is not that relavent because you can load balance hardware and
I do agree that there are some performance issues with Tomcat, but those are easily fixed by using something like Resin (GPL) or Orion (Commercial). Lots of small companies are looking for quick and dirty solutions that fit the budget. (Free)
--------------------
I've been developing with most of these "web" scripting languages this past year, and I can tell you one thing about all of them:
They suck.
Yes, it's true.. ColdFusion is nice for rapid, small applcations, but anything over that you will be grinding your teeth because of limitations of the language.
PHP.. PHP is in the same boat, but you can develop middle-sized applications before grinding your teeth. The language itself feels likc one giant hack and there is WAY to much built-in, no module support to speak of, and the "unified" DB driver sucks (ODBC has a performance hit). It's shoddy OOP and function support causes headaches.
Java Servlets take FOREVER and a day to develop; ColdFusion and PHP beat the pants off of Java anyday; However, like I was telling my boss, "With Java, everything looks like a nail..."
Can't speak for ASP, but I can say...
Python. It's a better language (syntax, semantics, libraries, modules, OOP) than PHP any day.
Am I the only one who finds this statement on the second page of the article funny??
"When performance does become important, various techniques are available that can make dramatic differences in speed. For example, Microsoft Corp. has rewritten the Nile benchmark we used in these tests..."
So that's how you get the big speed, to hell with the application, rewrite the benchmark itself! *grin*
The point they were making is that it's a different interface to the same functionality, depending on what db you're using, and they're absolutely right. Since these languages are written (allegedly) for people who aren't exactly geniuses, that's a bad thing.
PHPLib actually does a pretty decent job of addressing this problem in php3, but php4 didn't take that particular lesson from phplib.
They didn't "single out PHP", they made some constructive criticism. All you slashdroids need to learn the difference.
--
"Don't trolls get tired?"
I participated in an evaluation of Cold Fusion a few years ago. It was decided not to use it because it generated really ugly HTML pages that were too difficult to debug. While Cold Fusion at the time had some featuers that made development easier, it was felt that all of the ease in development would be wasted when it came time to figure out why the pages didn't look t he way we wanted them to.
Any insight from users on the current product offering and whether or not this feature still exists??
I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
Who do you call at 3:00 in the morning for technical support on your site????
You're kidding, right? Why is it that I have been unable to get quality support from Allaire for any price?
Keep your support contracts. I'll keep my open source. Fair enough?
Depends on your means, I guess. Orion Server is very very good. It's free for non-commercial use but $1500 for commercial deployment. It does include a complete, standards-compliant EJB container though!
Also, the authors are often present on #Java on EFNet, so you get a lot of free, timely report. One bug I found was fixed within 2 hours of my reporting it and a patch was available for download!
-Ciaran
What we gain? Easy customization for ASP customers, good reuse of our existing application logic packaged into Perl-Modules, quick development model, ...
Mason just feels good.
JSP would've done better if they had used Caucho's Resin. It's lightning fast. I'd be interested to see the results of a more comprehensive test covering more app servers.
Okay maybe not. I have used ASP, and I did not find it all that. I have used PHP, and I liked it better than ASP, but I find both a bit slow and 'limiting'. ASP is usually done in VBScript, so if you have had any experience with Excel or Word Macros then you would feel right at home.
I think perl is actually better, but for true speed I'd use C.
I have heard of JSP servers going down when the garbage collection suddently kicks in. Think of a busy web server that does not have time to do its garbage collection. At some point it needs to do so and when it does, everything else stop or slows. This is just a part of Java though. It happens in any one of these languages that the authors mentioned too. Perl is better about garbage collection I think than Java, at least in my experience with the two.
DON'T use tcl, or you will regret it.
I don't want a lot, I just want it all!
Flame away, I have a hose!
Only 'flamers' flame!
You're forgetting something. There are a lot of web developers out there that simply don't hand-write their code. They usually have one or two guys in house that actually have enough skills to debug their garbage WYSIWYG output. Perl, in these situations, isn't going to be used because the one or two people capable of writing decent Perl stuff are too busy debugging the garbage output of other so-called "web developers."
Devolver's Homepage... more fun than a box of crackerjacks.
It still does. The main Problem with JSP's (& ASP's and CFM's) are that they are all the same. It is *possible* to design a good app using them, but the default paradim encourages lazy coding and mashing all of the Code & HTML & Data Store logic into one file. A gauranteed recipe for non-reuse, non-OO encapsulation, and headaches down the road.
Model-View-Controler (MVC) is the core of most good design patterns. It seperates out the display logic, from the business logic, from the data store issues. WebObjects has this design pattern in its DNA, they've been doing it since way back. Multi-tier logical seperation of functionality is a GOOD THING.
No matter what tool you are using, read Design Patters by the "Gang of Four" (tm) and Refactoring by Fowler. It will allow you to make a good design using any technology. Design Patterns was written and based on several peices of old NeXTStep technology (Foundation). And, they've been improving WebObjects constantly over the years. Check out the OmniGroup mailing list on WebObjects, a lot of Apple developers subscribe to it.
I think people should use the right tool for the job. I happen to use WO because it lets me be more productive than any other middle ware technology I've used (and I've used all the major ones). BTW: re Java - WebObjects supports pure Java (and will support Linux in the next version due out RSN).
-POIU
---
---
"Don't anthropomorphize computers. They hate that."
Of the four languages reviewed, I have to say that PHP sucks least, but it still sucks. The developers plainly couldn't spell orthogonality much less define it, the documentation is simply awful, the interpreter's ability to detect, localize, and identify errors is on a par with stuff I used back in the punchcard era, and mixing PHP code with HTML and SQL produces results that are grotesque. I wish to hell someone would crank out an Apache modules that would make it easier to plug calls to compiled C or C++ code into web pages.
--
Proud member of the Weirdo-American community.
In my view, both should be all-out contestants in any serious comparison. What would be the point of excluding Perl if, for instance, all platforms your analize were worst than Perl? If you exclude it as "old", how would you know?.
The exclusion of Python is also unforgivable. Just a look at Python's API is enough to notice how serious this language is becoming.
They at least mentioned perl toward the end of the article, but didn't mention BRL at all. BRL is not widely known yet, but provides all the advantages the article mentioned for JSP while embedding a much easier language.
Ok, every once in awhile I'll want to do something crazy, but for those cases, just load up http://php.net/manual/ it has GREAT searching capabilities, and I've yet to look for a function that doesn't exist, or that I can't compile in.
The reason that php has lack of a good solid API is because they simply call the mysql client libraries and give you access to them, or oracle 8i functions or whatever. The don't have all sorts of crazy wrappers to slow your app down. Php is made to be extremely modular, if you want a consitant db interface api, then make your OWN functions in php. It's these things called user definable functions, HELLO? COLDFUSION? :) So you say making your own wrapper functions is too difficult and time consuming to spend the extra day on? Then use ODBC if you really want, ya you can compile that into php also...
Just the other day I wanted to gzip some straight text data before storing it in the database, because I knew I wouldn't need that data much and I knew that it would be EXTREMLY compressible (640k down to 4.5k). So I lookup the zlib functions, compile them in, and voila, I'm using them 15 minutes later. I've done perl programming and cold fusion program and I've never found as nice and easy to use docs as php has. The comments on php.net really help a lot to. Chances are, if you want to do something, someone else has done it too and posted a comment helping you.
Oh, and if you ever get really stuck? There's always #php on efnet. You just gotta ask nicely, and made sure you did your homework before asking. :)
Argue with me all you want, but you'll have a really hard time convincing me to switch to anything else. I understand if your programming toysrus.com to not buckle under the load of the Christmas rush you might want to use coldfusion/jsp or whatever. But we just aren't programming anything of that caliber here. :)
---
Besides being supported by PHP, it also have Java servlets, and it's own language Pike (based on LPC (an object-oriented C dialect)). Very featurefull, and cross platform, and the source is available.
/ The Arrow
/ The Arrow
"How lovely you are. So lovely in my straightjacket..." - Nny
Kinda interested in seeing how perl matches up.
I prefer Perl to all the others because it can be coded almost exactly like C. (It can also be coded as a giant ball of string with everything re-mapped to sanscript thus revealing a mess that only frankenstine could love.)
Is there any comparasions for perl and these? Obviously perl can do it well, with slash as the perfect example.
Do not look at laser with remaining good eye.
We used VBScript for our code, and we wish it had try/catch keywords; without these, writing error-handling logic was more cumbersome because we had to do manual checks in the code to see if errors had occurred. (ASP also supports JScript, which has try/catch keywords.)
Doesn't On Error statement in VB Script work like try/catch? At least you don't have to do so many manual checks.
__
__
Men with no respect for life must never be allowed to control the ultimate instruments of death.
GW Bu
for several reasons. I am currently involved in setting up a new website that just got some money. It is currenly running an assortment of perl and python scripts on a Zeus Server. After looking at a couple of options we decided on PHP on Apache, why? at this point it's cost. ASP or CF on NT with MS SQL is a little too much up front. And for us that was the bottom line. Having said that I realize that 5 potheads financing a website with VISA doesn't exactly follow the same rules as 'Enterpise Computing' decisions but hey I just wated to get in my $ 0.02 CDN. As an aside the most interesting config we looked at was ASP using Python and MySQL on a NT box.
When someone yells "Stop" or goes limp, or taps out, the fight is over.
It seems like compiled web applications are all but forgotten. For my own use, I still believe in C/C++ cgi apps with various utility libraries.
Why are the various scripting languages in such overwhelming favor?
first of all, JSP and ASP are not scripting languages. JSP is Java and HTML (not "based on Java". it is Java). ASP is not even a language. It is an ISAPI filter on the web server- a .dll that interprets pages with a .asp extension. The languages used in ASP are scripting languages (Jscript, Javascript, or VBScript). But the next generation of ASP -- ASP+ -does not use any scripting languages. You may choose your programming language of choice (not sure about Java- prob not, but you can use VB, C++, C#, COBOL- and more)
And as far as JSP performance goes, i did not see it mentioned anywhere that JSP pages are compiled into servlets the first time the page is accessed. this means the first page view is extremely slow, but every page hit after that is significantly faster. ASP+ also will compile the pages as opposed to interpreting them on the fly as ASP does.
ASP, in my opinion, is easier to write mainly as a result of Micro$oft's extensive development tools (Visual Studio and it's close ties to MS servers). but JSP can run on almost any web server- with little or no code changes- and it's not that much more difficult to write. And now there is the J2EE spec which claims no code changes are necessary if the spec is followed (from experience this is not true, but *very* few changes were needed to move an app from NT/JRun to iPlanet). I haven't used the other languages mentioned, so i can't speak about them.
ColdFusion is their first choice? I dunno why, seems strange...
CF and ASP should be bottom, PHP should win, and JSP should be the web-scripting to come, I see huge potential in JSP, but it's so slow...
Porting the M$ ADO to PHP would be the greatest thing that has happened to PHP since the new scripting engine... But then again, we'd loose all our nice db classes =)
Any technology distinguishable from magic, is insufficiently advanced.
My experience with Tomcat is that it still has a lot of bugs/features under construction and is certainly not optimized for performance in the way that commercial servlet containers are. A more stable and robust servlet container (Allaire's JRun comes to mind) would have provided much more realistic numbers on JSP performance.
On reason I never read ZDNet anymore is they always leave major stuff out. If you don't consider Zope when choosing a web development platform, you're missing out big time.
Zope, although far from perfect, gives you excellent flexibility in how you go about creating active content. It is also entirely object-oriented in nature making modular design easy.
With Zope you can do your layout and simple logic with DTML. There are also many "products" you can add to Zope for major functionality. For example, Squishdot emulates a Slashdot-like web site. Smart objects like ZCatalog and ZSQL Methods make content searching and database querying functionality plug right in. Plus you can create your own object classes to behave however you want.
But, the real key is that when you need some heavy processing logic, you can fall back to Python and more recently Perl to do your bidding.
Other nice features include infinite undos and versions which allow you to work on a live server without breaking functionality. Plus Zope has an excellent community of developers and all around nice people. With Guido and company now in the fold at Digital Creations, it'll only get better.
Like I said, Zope is not perfect, but it is quickly maturing into a rapid web development platform that is second to none. If you are searching for a platform, do yourself a favor and check it out.
Neutron
I get my kicks above the
The speed of ASP is decent, and you can do a lot with it. Besides, companies are paying big chunks of change to those people they hire (and large signing bonuses) to do the programming. If you'd like to beef up your resume, I'd suggest learning ASP is a great way to get ahead of others who don't know it.
-Matt
With JSP's performance measurement may be a bit more of an art than with the others. Since the JSP container (eg Tomcat) is often configured to compile any .jsp that has changed, it may have a serious performance hit attributed to it. However, that _feature_ is meant for development and would be turned of in deployment: all the .jsp files are pre-compiled.
As well, the JVM used makes quite a large performance difference. The Win32 JVM with Hotspot, seriously outperforms some of the other JVM's (orders of magnitude difference). I don't really know about the Linux JVM's, but I have heard that they underperform relative to Sun's Win32 JVM.
Basically, the performance aspect of the article is completely bogus: utilizing two completely different OS platforms is just the start of the problems!
Helping with organizational effectiveness is our job.
I took a summer job at BT (the british telecoms company) two years ago, writing ASP's and backend code in VB - I have to say I was new to web scripting languages at that point and ASP was a bit of a revelation - it was like, 'yes! Now I can write my web sites in BASIC!'... of course VB isn't great, but it is easy to use (at least until it crashes). Then after graduating I took a job at a web design firm- they were using JSPs - I took one look and realised it was basically ASPs, but with Java, and was very very happy. JSPs perform great (the first time one runs it gets compiled into a servlet, which takes a second or so, after that access is just fine). JSPs have only got better since, though anyone looking at JSP should also think about XSLT, just for an alternative approach...
At my current (dot.com, internet travel) company, I'm writing Java once more, and it's a pleasure- the only problem is that the front end of our site is naked servlets, dating from pre-JSP days, and we use our own propriety template symstem to generate the html- the template system has really starting to creak at the seams and it's not flexible enough to cope with our needs... we'll be swtiching over to JSP (possibly mixed in with some XML/XLST) soon....
I write Cold Fusion all the time, every day, and I have to say it's damn easy to learn and use (and write badly, but that's something else). If all you know is HTML the tag structure won't confuse you and so on. BUT...I just picked up PHP a few months ago and I love it. So much nicer. So much easier to read. Even though my Cold Fusion is still much stronger than my PHP, I would never recommend using Cold Fusion.
I don't understand. I can take something coded in ado and move the databases and just change the connect string.... I moved one app from Access to something called to Pervasive SQL to Microsoft SQL and never changed the app code much at all...
---
DO NOT DISTURB THE SE
you need ajp13 (ie: from mod_jk) to support ssl.
Unfortunetely ajp13 is buggy right now.
I'm running a production site (moderate traffic) with tomcat 3.2b6 +patches/apache 1.3.14/mod_jk/ibm 1.3.0jvm on a rackspace.com rh6.2 box...
I'm pleased.
TCl is also used in Story Server and that program sucks. It is slow, it is not scalable, it forks processes as does ASP each time you go out of the . There are much better and faster things that tcl.
I don't want a lot, I just want it all!
Flame away, I have a hose!
Only 'flamers' flame!
Well, if you truly can't tell from the content, how "large" and "important" can the project be if it has a two week lifespan? Or are you just making stuff up?
"UNIX" is never having to say you're sorry.
All you slashdroids need to learn the difference.
:)
My apologise.
Believe with me, my saplings.
It was available all along on eWEEK's site, along with an Excel spreadsheet giving more detailed test configurations and the exact pages/sec numbers. ZDNet has the right to republish eWEEK content and didn't include the page with the associated downloads in their version. The page is http://www.zd net .com/eweek/stories/general/0,11011,2646732,00.html . Unfortunately, there is are some spaces in the name of the ZIP file that has the code: Mozilla and IE download the file fine, but Netscape 4.7 has a problem with the filename. I'll get that changed, and can also e-mail it to anyone who wants it.
I found out a few days ago that this story got posted on Slashdot and will post a response to address some of the questions that have come up as soon as I can get it done.
Regards,
Tim Dyck, eWEEK Labs
timothy_dyck@ziffdavis.com
Nothing like screwing up the link to your own product. PHPTriad.
LetterJ
The Glass is Too Big: My Take on Things
KISS is fine until your site becomes real busy and there is a need to make it more complex.
I think the attitude of making it easy on your developers will turn around and bite you in the ass when you need to do more than have the site running.
This article was for the most part superficial. I wouldn't take any of the advice to the board, especially if you're a part of a medium to large business.
It seems the premise of the article was "so you want to make your fantasy game site super cool?" Not "so you want to make the best all around choice for your enterprise web project?"
/Jarrod
Strict obedience to the law is the key to liberty.
When worried about mixing presentation layers, don't you really need to decide how long the web site will live in its current state? Whole sites are rewritten frequently, so spending too much time on interface separation costs your company unecessary dollars.
Now you can reply with the 'but what about big sites'? IMHO - large sites should use JSP and Servlets because they have larger staffs and easier separation of work. However, you can use other technologies to keep your presentation and data layers abstracted. PHP comes to mind.
"Fat, drunk, and stupid is no way to go through life."
"You're gonna need a bigger boat." - Chief Brody
Tht sure as hell has a lot of untyped stuff, must fly.
This tends to make my job harder, not easier. But then I cut my teeth on Pascal, C and Java, not VB. I, for one, don't like my variables shape-shifting on me (and they do that, just as they do in Perl).Well, the solution there is to use JScript, or write your error-prone stuff into functions (such as ADO SQL queries, object creation, etc.) so you only have to write the error-trapping code a minimal number of times. Code reuse = goodThey are? The only decent one I've found is Visual InterDev, and it's lacking a lot of features that other MS development environments have and developers come to depend upon. And it's only in its second version.
The biggest thing that they left out is the documentation. In some places, the ASP & VBScript docs are great, sometimes they suck, sometimes they're just plain wrong, or nonexistent. Every time I go into MSDN, it's a crapshoot unless I'm looking up something I had looked up previously and need a refresher on (like which is the search string and which is the string being searched in instr(); the tooltip just says "string, string2").
The article also glosses over some of the completely undocumented, or barely documented, things that really drive developers nuts. Like when will 4-digit years be displayed, and when will 2-digit years be displayed? Answer: unless you write your own function to split the date into its pieces (day, month, year) and compose a string, it depends on the server's regional settings and the currently-logged-on user's regional settings.
The code in each language is different in regards to many things, and each step is handled differently by their respective compiler/interpreter.
:).
This isn't like we're looking at just performance here, we also need ot be looking at what created teh code in each, and what benefits one have over the others...
For instance, I bet JSP would be the only solution where all of the other languages would fail.
Also, there are languages like perl and C which accomplish pretty much anything you want, but in the process leave "ease" and the 400 mysql_*() functions in PHP behind.... PHP won't do an IPC-speaking threaded daemon though. (at least, AFAIK). Writing a daemon for stuff that shows up a lot can significantly help deliverance (no pun intended
Allaire ColdFusion Server 4.5.1 Administrator Login Password DoS Vulnerability (vulnerabilities) url: http://www.securityfocus.com/bid/1314 Last modified on: 2000-6-7 - Relevance: 1.000000
Allaire ColdFusion 4.5.1 Cached File Request DoS Vulnerability (vulnerabilities) url: http://www.securityfocus.com/bid/1192 Last modified on: 2000-5-10 - Relevance: 0.999962
Allaire ColdFusion Path Disclosure Vulnerability (vulnerabilities) url: http://www.securityfocus.com/bid/1021 Last modified on: 2000-3-1 - Relevance: 0.999867
Allaire ColdFusion 4.0x CFCACHE Vulnerability (vulnerabilities) url: http://www.securityfocus.com/bid/917 Last modified on: 2000-1-4 - Relevance: 0.999788
Allaire ColdFusion Undocumented CFML Tags Vulnerability (vulnerabilities) url: http://www.securityfocus.com/bid/550 Last modified on: 1999-7-29 - Relevance: 0.999571
Allaire ColdFusion Remote File Display, Deletion, Upload and Execution Vulnerability (vulnerabilities) url: http://www.securityfocus.com/bid/115 Last modified on: 1998-12-25 - Relevance: 0.999274
Allaire ColdFusion Start/Stop Denial of Service Vulnerability (vulnerabilities) url: http://www.securityfocus.com/bid/274 Last modified on: 1998-5-19 - Relevance: 0.998975
Allaire ColdFusion CFCRYPT.EXE Vulnerability (vulnerabilities) url: http://www.securityfocus.com/bid/275 Last modified on: 1998-5-19 - Relevance: 0.998975
Compare this to PHP's record:PHP Error Logging Format String Vulnerability (vulnerabilities) url: http://www.securityfocus.com/bid/1786 Last modified on: 2000-10-12 - Relevance: 1.000000
PHP Upload Arbitrary File Disclosure Vulnerability (vulnerabilities) url: http://www.securityfocus.com/bid/1649 Last modified on: 2000-9-3 - Relevance: 0.999946
PHP3 'safe_mode' Failure Vulnerability (vulnerabilities) url: http://www.securityfocus.com/bid/911 Last modified on: 2000-1-4 - Relevance: 0.999614
PHP/FI mylog/mlog Vulnerability (vulnerabilities) url: http://www.securityfocus.com/bid/713 Last modified on: 1997-10-19 - Relevance: 0.998510
PHP/FI Buffer Overflow Vulnerability (vulnerabilities) url: http://www.securityfocus.com/bid/712 Last modified on: 1997-4-17 - Relevance: 0.998257
Not perfect, but considering the source is available for audit not too bad.The biggest problem with web scripting languages, is that they are just that - scripting languages. They're being pushed as more than they are. If you need great performance, and a REAL language, why not write your own server, or base one off of an already existing server? That means write your program to the API of a server - like apache - or if you need extreme specialization, code something your self. I'm getting to the point where I'd like to try something like Eiffel to help me to improve the security and stability of my web based applications.
Interesting they dind't include iHTML in their web scripting review.
Steve's Computer Service, Hobbs, NM
Actually after checking out the various links, I think you may have either intentionally misled or unintentionally misunderstood in regards to what an IDE is. Syntax highlighting does not an IDE make. What needs to exist (in ZD's mind) is something like Cold Fusion Studio or VC++ where you have some of the nifty auto complete and context tools. Personally I find syntax highlighting to be enough for me in vi.
On a side note, if someone were so inclined (maybe me when i have time) we could use mozilla to create a PHP Studio similar to what people are working on for zope.
"Fighting the underpants gnomes since 1998!" "Bruce Schneier knows the state of schroedinger's cat"
Aside from having shorter development cycles, scripting languages are also great for prototyping a website or portions of it. It's like writing a first draft. Considering how much your superiors change their minds without realizing the havoc it wreaks on your code, scripting languages are great to conceptualize and layout a site. When the design stabilizes, you can move to one of the compiled languages. It might sound like redundant work but too often is the case where you have to scrap your code to fit the needs of the bosses. And it's better to scrap a scripting language than it is to a compiled language.
My (limited) understanding of Zend and PHP4 is this is how it works too now, or at least can do.
I know that there are also ASP implentations that work like this - not Microsoft's but at least one of Halcyon or Chilisoft's ASP products is very similar to JSP in structure.
"don't fall into the fallacy of believing that Perl can solve social problems. Maybe Perl 6 can, but that's a ways off"
Sigh. The article is, er, factually deficient. For example:
They claim that a major shortcoming of PHP is a lack of a standard database API. Yet PHP has an excellent ODBC layer!
Alas, this seems to be another "I can justify my own language preferences with a lot of hand waving" article.
"It is our blasphemy which has made us great, and will sustain us, and which the gods secretly admire in us." - Zelazny
I don't know what all this nonsense about web scripting languages is. Any "safe" programming language that you would use for programming in the large is likely to be a good choice for web programming. You wouldn't write general purpose code in PHP would you? Then don't use it for web pages. You would use Scheme/Smalltalk/Eiffel/Lisp for general purpose programming? Then why not use it for web scripting too. For my money Java is the pick of the 4 reviewed because it's a semi-decent programming language, but no need to use it just because everyone else is.
Hmmm, IMHO a lot of the things in the article written about PHP is bollocks - like that API consitency is bad, and that there are virtually any IDEs (integrated dev. environments). What about Emacs for Gods sake! and I believe there's a win editor named phpEd wich will do the job.
The zdnet guys should have done better research
before writing the article.
-larsw-
--larsw
Learn English yourself my little peasant. Abandon your childish Americanisms and King of the World will shower you with honours.
--Giving to trolls for the benefit of us all
Good observation. I work with WebLogic and Tomcat on a regular basis and I think they should have at least given mention to commercial engines. I believe their intent was to showcase the most affordable option in each category, but they didn't explicitly say this. Also, benchmarking the free implementation (Tomcat) is a politically safe thing to do, but they might have been criticized for choosing to benchmark one commercial app server but not another.
-- Solaris Central - http://w
That the author did not have the time or the will to learn the APIs...
Preview is everyone's friend...
It is important to make your project impenetrable to as many people as is possible.
What do you mean you can't figure out how to change the look of your page? What are you a freaking moron?
Don't you think a mix of JSP and scriptlets, for example, make an ideal site? How about use the scriptlets to remove as much code as possible from the front end developers and leave the stupid HTML far far away from the scriptlet whizes? Seems like a good idea to me.
Strict obedience to the law is the key to liberty.
In addition to not including Perl, I find the exclusion of TCL disappointing. Being a TCL proponent, I am constantly surprised to see how seldom this amazing language is included in tests like this. With the rapid rise in use of AOLserver, however, which makes extensive use of TCL, I hope this trend will change.
Our website, EventNation.com, was originally written in Perl and ran on Apache. By porting it over to TCL on AOLserver, we were able to quadruple our peak load. Still, I am always curious to see how TCL compares to the some of the trendy languages, such as PHP and JSP.
Scott
JDBC sucks, but if you're using Oracle, I would highly recommend you use SQLJ.
-- topher71
But the problem with all these scripting languages (well, I can't speak for CF, but I believe it works the same way) is that they mix scripting code with HTML. On bigger projects, where coding is often separate from design, that's a big problem. Even on smaller projects, it can become a maintenance headache, and it plays havoc with both language tools and HTML tools.
I don't think the future belongs to any of these languages: they are using the wrong paradigm. In the future, you are most likely going to see XML templates, XML and relational databases, and code that puts the two together.
More to the point, they forgot perl. Or better yet mod_perl. ePerl, Embperl, and Mason all are worth considering because of mod_perl. So I think you meant "they forgot mod_perl."
Strict obedience to the law is the key to liberty.
Nice summary, I agree wholeheartedly.
Incidentally, our experience with ColdFusion is very similar; the scripts are difficult to debug and test, performance is miserable for any complex pages, and the server fails for reasons that are difficult to explain.
Many "features" of ColdFusion, i.e. memory management, are mostly undocumented and poorly understood. I have had CF scripts that exhaust server memory (yes, 1GB of memory) until I "tweaked" them slightly.
Also, consider one thing: the only scripting language that ASP didn't beat out was PHP. So before you go assuming that all of Microsoft is evil, think about the things that they did right: ASP's performance, as shown in this article; DirectSound and DirectDraw, which still beat the pants off of OSS and svgalib; and Win2000 Professional, proof that an NT workstation can be as versatile as 98 and still be ultra-stable.
"Ancillary does not mean you get to rule the world." --U.S. Circuit Judge Harry Edwards, speaking to the FCC's lawyer
I only have up-close-and-personal familiarity with PHP. I found ZDNet's scoring odd:
"C" for developer time. ZDnet asserts that Cold Fusion, a proprietary language, is easier to learn. Well, that might be if you've never written any code in C or shell scripts. If you have, PHP is as comfortable as an old shoe. There's an awful lot of personal preference tied up in a score like this.
"D" for tools. Gee, no draw-and-drag programming environment. I don't get it. Maybe this is important to somebody. Have we spawned a generation of programmers who can't type?
"C" for installation. Maybe if you're installing it under Windows. Many Linux distributions come with PHP already installed. I did ./configure, make, make install and it took about five minutes.
"C" for back-end connectivity. This is a tough one because there is a conflict between portability, on the one hand, and performance/features on the other. If you want a portable SQL API, you're going to be stuck with a least-common-denominator API. If you want to code for performance -- putting stored procedures in the DB, for example -- they're not going to run on some other RDBMS. You've got to make a choice, and PHP lets you do that -- there are abstract database API's, but the fact that few people actually use them is telling.
"A" for performance. Yeah, that would be important if you care about your users.
Why are the various scripting languages in such overwhelming favor?
For two reasons, and they're both true:
(i) A lot of web programmers simply don't have the background to use professional development standards, nor the attention span nor attention to detail required for successful non-trivial programming in C or C++. As a result, if they used these relatively low-level tools the result would be fairly horrendous. It's *much* easier to generate buggy code in inherently unsafe languages than in safe scripting ones. Pragmatically, it makes sense.
(ii) The web moves at a break-neck pace, and there just isn't the time to produce a well engineered product using C/C++ before the requirements have changed yet again. Scripting languages allow you to make ad hoc changes without blowing your whole foot off every time. Errors tend to be comparatively minor, easy to diagnose, and the language usually stays in control rather than bombing out altogether.
In a nutshell, scripting languages make a lot of sense in this application area. That said, they're definitely not the answer to everything.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
Some shortcomings include the fact that it isn't a top speed performer, but to be honest, the bulk of websites out there will run perfectly well given a reasonable server environment and intelligently-written code. That last note, however, points out CF's biggest weakness: it's all too easy to code in for idiots, so you'll often end up with idiotic code if your project isn't managed properly. Yes, any web developer can pick it up and run with it; this is a Good Thing (I seem to recall something about 'more eyes' being good...) So long as you have a competent tech reviewing and leading code development, you can get some pretty nifty results from Cold Fusion.
Cold Fusion's greatest weakness is spawned directly from it's greatest strength: it's a damn easy language to learn and use. If you're good, you can do some slick stuff really, really quickly; if you're not so good, you can spawn a codebase that is impossible to maintain. Blame the meat, not the product.
Obliteracy: Words with explosions
From personal experience I would put ColdFusion and PHP tied for the top slot. CF is cleaner and easier for building small apps but PHP has MUCH better support and is better for medium size apps. Not to mention the easiest to learn. ASP sucks. Really there is no such thing as ASP since its really a hodgepodge of VBScript, JScript and HTML. With Microsoft's .NET it gets even worse with 16+ languages available. PHP is simple, has decent string handling and excellent online support. PHP+Apache+MySQL is a killer combo. Want an easy install? Check out PHPTriad for Windows. Chances are than any question you could come up with has been asked and answered in one os the the support groups.
"God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
I had the opportunity to read this article yesterday. I passed it around on a few mailing lists.
Now in all of the languages with low pages per second I want to make a few comments.
First just as an example since I do CF about half of the time where I work ColdFusion has features examples, caching queries, structures(NOT C like structures think associative arrays), XML transformations of data (WDDX), and several other features that can make things such as pages per second irrelevant.
I am also of the opinon that they did very little tweaking of these servers because my own test results reflected much higher amounts in almost every language, putting CF, Php, JSP all on the same playing field.
They used Tomcat beta 5 to determine that JSP could only do 13 pages per second.. what kinda valid test is that against polsihed products like php and CF??
The point is that part of the test IMO is totally invalid.
Now to move on to some finer points of the article that further reflect IMO the fact that the reviewers were biased.
They reffered to php as an esoteric language and rated it as a C, an A being the best, in programmer productivity, this has PHB speak, and marketing written ALLLLLLL over it.
So my basic conclusion is that this article is basically useless and it is nothing more than fun to read....
I wont even touch the fact that each langauges have different feature sets that make them very well suited to certain orientations of development....
Blah, Use your own brain and experience, once again ZDNet proves to me they have some clueless people.
Jeremy
Even that Cocoon is a greate idea, the shear amount of work required for transofrming XML into something else is huge. This is one of the main reasons it is so slow. It is very hard to make it perform, and performance is very important, especially for the large websites.
Maybe the performance will be better once version 2 is out. But I doubt it. The solution is probably in processing XML/XSL on the client
I think perl is actually better, but for true speed I'd use C.
Do you really want to spend half your debugging time chasing memory leaks and SIGSEGV traps? *shudder* There are far better choices than C for long-running server applications.
DON'T use tcl, or you will regret it.
So what's wrong with Tcl? AOLServer is actually quite capable, it'll hold its own against PHP etc.
ATG's Dynamo is becoming increasingly popular for web development. It would have been interesting to see how their .jhtml/Dynamo Servlet concept rates compared to the other technologies.
Okay, and what's your point, crack smoker?
--
"Don't trolls get tired?"
Speaking of results from average programmers, take a look at MBTA Bus Schedules. View an individual schedule. You'll notice the title bar says "Schedule for #routenumber#", clearly the result of a programmer error re. CF syntax. Just because some of the syntax looks like HTML doesn't mean Cold Fusion is really simpler than other languages.
It's unlikely that such an error would have been made had the MBTA used a truly simple language like BRL.
If all you're using scripting for is inserting a "quote of the day", maintaining your guestbook, and "You are visitor number 00000000000011 since 12/8/96" hit counter, I guess that argument could be made. (?)
It seems to me, though, that the whole point of using server-side embedded scripting is to merge data and presentation; a script pulls from a database or XML file and plugs the data into a template. Data isn't "tainted" by presentation, and changing the look of the site is simply a matter of changing the template. Why drag Java servlets and application servers into it?
In general, it's really easy to transform Java objects into and out of XML. And when you do that, you can style them into HTML, or anything else.
Development tools are also generally lacking in the JSP space
What kind of devel tools does this guy want? An editor with syntax highlighting? Gimme a break. Sheesh, you don't even have to use javac for JSP.
Why are so many programmers wussies these days?
You've obviously only read a few articles relating to CF, and the first line of your post automatically assumes that the source is biased by potential advertisement oppurtunities (typical of the slashdot community)
a) Python, Perl: After reading 200 pages of your average "intro to perl" book - you're still just learning how to work with variables and strings - maybe some looping - still scratching your head wondering when they will get to tying this into your web site.
After reading 200 pages of your average "intro to CF" book - you're tying your web application into databases; writing transactional SQL code; using complex date, time, string, file manipulation, etc. functions and doing billable work while showing massive results. This is all while guillermo - the new perl guy - is trying to figure out why he is getting 'syntax error' when he is trying to parse a string.
b)In a real corporate environment, maintainability and portability would probably outshine all three, ruling CF and ASP out
use the fusebox methodology and you won't run into that. Your templates are included into the HTML as objects. Store all of your global variables in the application.cfm file and it will take you 2 seconds to take the whole application to another machine.
Oracle.
There is so much free and commercial Java and COM libraries available for JSP/Servlet and ASP or Cold Fusion developers, but not for PHP.
That's partly true. ColdFusion however tries to be portable, with availability on NT, Linux, Solaris, and others. COM certainly isn't available on all those platforms.
For that matter, when using PHP on Windows, you could write your own COM bindings... you have the source.
That is to say, the availability of COM isn't so much a language issue as a platform issue.
PHP is an evolved language, and it really shows. There wasn't a conscious and conservative philosophy behind it. That's both a plus and a minus -- but I think more minus than plus. Everything is there, and that's great -- but it's hard to find it, or when reading code to figure out where it came from.
I can also understand why they didn't cover Perl or Python, because both of these aren't really web scripting languages, they are general purpose. Of course, there are HTML embedded versions of both of them but they don't seem to have caught on, which is too bad. And Zope/DTML/Python isn't really scripting either, but considerably more than that (though I'm under the impression that Cold Fusion attempts to be something similar).
And don't even get me started about their use of TCL as the underlying language. I found their implementation of TCL almost entirely inadequate for all but the most basic if...thens. I even found TCL commands that would not work within Vignette... it didn't seem that the entire TCL language was supported.
I'm not bashing Vignette. It did quite well on the project I did, but I dont think it is anywhere close in flexibility to the technologies listed here.
I have a "Zero Policy" tolerance.
I have a "Zero Policy" tolerance.
*/
This article is rather simplistic and poor, both in content and in conclusions. I will not discuss the fact that the "winner" is probably the only potential advertiser (PHP does not advertise, Microsoft and Sun won't advertise only for yet another article about ASP or JSP), but let us see what was left out, misinterpreted or plainly wrong:
a) Python, Perl: How do you write a serious article about web scripting languages leaving these two out? Perl is the mother of all scripting language, Python is a rising star with lots of supporters and amj already huge codebase. And both perform as well as any of the examined technologies.
b) Their priorities were "of speedy development, ease of use, and a complete and powerful API". In a real corporate environment, maintainability and portability would probably outshine all three, ruling CF and ASP out (my opinion, yuor mileage may vary) and leaving the stage for PHP, Python and JSP (more or less in this order, from worst to best).
c) How on earth would COM support make ASP harder to write? In my experience, access to COM objects let you write smaller and sipler scripts.
d) PHP is probably as easy as ASP to learn, it fells rather natural to any C/C++ programmer and it has probably the most powerful API for Web programming of the pack. The the author did not had the time or the will to learn the APIs ("Users must make a concerted effort to keep track of the indepen dently changing components of PHP they are using")
e) Also, the lack of an standardized database API in PHP is botha curse and a blessing. First, there are some PHP libraries out there addressing this issue. Second, the trade here is speed for convenience. Third, all data acess function were made similar, so changing database is not harder than it should be. And finally, PHP supports ODBC.
f) Tomcat is a reference implementation. There are faster alternatives out there.
I will not go on. Forget this article.
If you need speed, ease of use, a fair price (let us say, zero or less), good portability and good mantainability, use PHP, Python or JSP. Or even, if you are really sure your code will never have to leave a Windows box, ASP/COM.
They make it sound like Perl is dead and only great if you're already using it (right CmdrTaco?) but not an option when starting with a new project.
I think one of the big reasons is that most popular scripting languages have considerably better string handling support than traditional compiled languages. And since string processing is pretty much what most web scripts do most of the time, that's a good thing. Think strings in C/C++ and you get the point. While there are certainly many advanced string classes available, C/C++ still puts certain semantic constraints on their use. Scripts usually have few or none of these constraints.
As an aside, I think Delphi is one of the most suitable traditional compiled languages for web development. That's because of the decent string support, the clean and readable syntax, the good speed, and excellent database connectivity.
The other main advantage that scripts offer is cross-platform portability. A set of PHP pages should port pretty well from Linux to Win32 depending on what they do. The same can't be said for binary DLLs or even their source code.
ePerl combines the into-HTML-embeddability of PHP with the power of Perl. Just have a look at http://www.engelschall.com/sw/eperl.
A monkey is doing the real work for me.
ASP isn't a language. Its a container for other languages. Its used with VBscript, JavaScript and PerlScript, alongside HTML (And others..). There are no commands in ASP.
As far as I remember ASP was designed to be a sort of glue that holds together a bunch of custom COM objects and DLLs. It was designed to be an operating environment.
In my experience building dynamic web sites (not much.. few years) ASP and PerlScript, with a drop of VB in times of boredom, have always been a good, flexible team. Depends what you're doing..
http://twitter.com/onion2k
I know that Java has to be compiled at runtime, but when properly configured on a server, it does not have to be complied again to be used. The compile overhead can be significant.
It isn't clear from the article if they properly configured the Apache Linux server to persist the compiled Java code between calls. 13 pages per second is not production ready relative to any other product (considering that PHP and ASP were over 40 pps.)
--- -- - -
Give me LIBERTY, or give me a check.
I've been using JSP for over a year and a half. In computing terms that makes it OLD!
New Atlanta (http://www.newatlanta.com) have had a plugin for Netscape Enterprise Server 3.6 for some time. JSP is also supported by MS IIS (once again with the New atlanta plugin), Inprise Application Server, IBM Websphere, and the newer version of Weblogic Application Server.
JSP is a Java extension of Servlets. It allows you to leverage the OO concepts of Java in what is basically a HTML environment.
Besides, the real beauty of JSP is that you can invoke Java Beans directly, and leaving you JSP relatively clean of Java Code (Although I've seen some REALLY BAD/DIRTY JSP).
I would also take issue with the Articles description of JSP as a scripting language.
All JSP is compiled to a java servlet on the Server! Hence it isn't what I'd call a script.
-- "To ask a question is to show ignorance; Not to ask a question means you'll remain ignorant."
So some benchmark comparing speeds will NOT reflect the real-life performance of JSP (even if they weren't using a better container than tomcat). HIGH VOLUME sites increasingly turn to JSP (WebLogic etc) because of its great performance under heavy load.
La via sola al paradiso incommincia nel inferno
There are *many* technologies out there to do these things right. Apache with mod_perl and either AxKit or the Templating Toolkit (or others) can do it. I hear PHP can do it using the right libraries. Java servlets, for all their verbosity, can do it using something like go.com's Tea system.
I have never used ColdFusion or ASP myself, but I know many people who have, and I've repeatedly heard that they're great for quickly building something, but very bad for managing complexity.
thats kinda weird , because I read about it on that page.
Such an interesting & deep topic this can be...I've coded HTML for over 3 years now & have studied the benefits of the different coding languages before deciding PHP was what I needed to go with.
One day when you go buy batteries for you Palm Pilot you will notice PHP-Enabled checkout stands!
-RedElf
You know, I have one simple request. And that is to have sharks with frickin' laser beams attached to their heads!
This article is obviously written by people with a total bias... Even though by their own admission JSP was the slowest and the hardest to write in, they still toted it as it being the "core Web scripting language in a few years".
.NET platform accessible to it.... plus the slick Visual Studio interface behind it... There's no doubt what my pick would be.
They neglected to even look at ASP+ which would have a benchmark far in excess of the others as on the first hit it is compiled by the server the and run as a binary there after. With all the power of the libraries in the
I have always believed in the ease of use and amazingly simple development with Coldfusion. I have always used Coldfusion for it's lack of security bugs. But of course, security is only as good as the code you write.
I've read that REBOL could be useful for web scripting, but have no idea performance wise where it would fit in against PHP,ColdFusion, JSP, & ASP
Anyone used it for web scripting yet ?
When is comes to scripting, nothing beats Funkscript.
I looked through the ASP source used for this article and it is absolute spagetti. I hope this page does not represent most of the ASP out there on the web. No wonder these guys only got 49 req/sec. As an experienced ASP programmer I can confidently say that I could get better performance than these guys with only half the hardware and the same functionality. I am thoroughly disgusted. I am not familiar with any of the other scripting languages that were evaluated, therefore I cannot comment on the source used. If the source looks anything like this ASP, I would take these performance results with a grain of salt.
It encourages mixing of the presentation and data layers, causing problems with future maintenance of code. This is corrected through use of Java servlets and application servers ATG, Tomcat etc.
I've been working on my own framework, Tapestry, which shares many features with WebObjects, but uses a very different component object model that is much more compatible with Java and J2EE.
(It isn't quite as powerful as WOF, and it makes the developer do a few extra things, but its more open, extensible and scalable and not tied to any particular vendor).
We're using Tapestry internally on a very important application for one of our clients (a multi-billion-dollar bank interest).
Tapestry is LGPL and works quite well; it's also heavily documented (in Word and using JavaDoc), and has tutorials and example code, including a real J2EE application.
sorry, the green -> native threads thing just made my day. Thank you. :)
-Stu
Is this a joke ?
PHP has been here since 1994. It's older than the other languages in the chart.
Also, they state that PHP has no uniform database API: This is false:
You can use ODBC for all kinds of database. However, you have the alternative of using the direct APIs to improove performance.
The problem of JSP's causing gucky HTML pages is something I think we're going to have to recognize as unavoidable.. The world of dynamic page generation has two options:
1) Put your HTML in your code (Perl, CGI, servlets, etc)
2) Put your code in your HTML (ASP, JSP, PHP)
I think it's a trade-off on a case-per-case basis.
And don't forget that JSP's tag libraries *really* clean things up if used properly. (They're quite new though)..
-Stu
Meanwhile you will have ended up with two different languages to support in the same production environment. This may not be a problem for a small design shop where you have a couple developers that know both languages and the code that everybody works on; but in a big company environment, it makes life very difficult.
Despite being a useful "hack language" to create small, simple contraptions; PHP is not exactly the most readable/maintainable language on Earth. Add to that the thousands of Web designers who believe they became programmers by just writing some simple logic in PHP, and you have a lot of poorly written code in a poorly documented (yes, I know about the online manual. Go see for yourself how poorly Oracle functions in PHP are documented, for example.) language. Just like Perl, the flexibility and power comes at the expense of readability and maintainability.
I fail to understand why anybody would want to use PHP with JavaBeans if they know enough about Java to figure thise setup in the first place. I don't think there is anything in particular that you can do with PHP but not with JSP. I don't think the JSP functionality can extend any more, since anything that can be done on the server side in Java can be done in a JSP page.Zigbee Central: A Zigbee weblog
Actually you should check your history there. ODBC is a Microsoft invented standard. You should thank them for this innovation.
--
"Don't trolls get tired?"
For some unknown reason, they chose Tomcat, the lamest JSP engine available. Had they chosen Resin or Orion in conjunction with the IBM JDK, the results would be quite different.
Zigbee Central: A Zigbee weblog
I run a site which uses CF. Nice product. It is not the saviour of the free world, but it is nice. The one thing that I found interesting is that they failed to mention or they didn't know, that for version 5.0 of Cold Fusion, CF will be an abstraction layer on top of JSP. Or at least that was the plan the last time I heard it from Allaire.
Fantasy remains a human right; we make in our measure and in our derivative mode... -- JRR Tolkien
Nope, that would be Microsoft Script Editor, Kiddie Edition 2000.
I am using Mason to develop a large-ish site for selling goods on-line and I've found it fantastic.
The flexibility and power of the system is truly astonishing.
For those not in the know - each page is constructed out of components which are a mixture of HTML and Perl, very much like PHP. Components can output something but don't necessarily have to. The best bit is that their output can be cached so using the same component 50 times in the same page will not require it to be processed 50 times.
I'd love to see how mod_perl/Mason stacks up against the competition performance-wise.
This is, for me, the future of web development with Perl.
Perl is the mother of all scripting language, Python is a rising star with lots of supporters and amj already huge codebase
:)
scripting languages
an already huge codebase
access to COM objects let you write smaller and sipler scripts.
simpler scripts
The the author did not had the time or the will to learn the APIs ("Users must make a concerted effort to keep track of the indepen dently changing components of PHP they are using")
That the author did not had the time or the will to learn the APIs ("Users must make a concerted effort to keep track of the independently changing components of PHP they are using") does not change this.
Preview is your friend...
As everyone has pointed out, Tomcat is only a reference implementation. But what about the server-side Hotspot VM? These are just now coming out and offer to improve performance beyond beleif for server-side java!
I've noticed that when JSP is implemented in large-scale projects (for example, in banks), JRun is often the product used.
The authors may have stayed away from JRun to keep from pushing Allaire too much - as the same company that brings us ColdFusion also brings us JSP - but I wish they hadn't. It would be nice to see how the performance stacks up.
Try Zope. www.zope.org
ZSQL Methods are completely independant of your actual database and you can change your external database with a couple of clicks (if you need an external one in the first place. Zope has a long running persistant object system of its own which keeps instances of things alive along with their data until you specifcally delete them - even between reboots!
The underlying Python DB access is specific to whatever database you use but in Zope Land it is wrappered around Zope DB drivers which the ZSQL Methods talk to. Similar to what the DB.php stuff in PHP4 does but with a more compelling reason to use it.
They also encourage code resuse as you can template your queries just like your HTML..
SELECT * FROM users
<dtml-if username>
WHERE user=<dtml-var username>
</dtml-if>
Then when you call them, their magic happens and out pops the results in a python list.
Made me wonder if they included Zope in this round up if Zope would have A or D for tools, its web interface being its own tool really.
Phill
I used to do a bit of WebObjects development back in the OpenStep days. WebObjects had three great things going for it: great tools, fantastic database connectivity middleware, and really solid web scripting and tag extentions. Recently, I have been doing Java 2 Enterprise Edition development. At my day job, I am working in a high availability application server environment, and in my night job, I am prototyping a educational web system. In that second role I am using JSP's. (Dislaimer: I love Java compared to C++ but hate it compared to Objective-C.) As the article points out, the tool support is missing, and I personally find JDBC to be a pretty weak database interface, but the actual JSP technology is really cool! I've been working on custom tag extentions and they really rock - solving the problem of separating display code (html) from business logic and model code (accomplished with the use of JavaBeans and EJB's). Personally, I think that the Java platform is the way to go in the long run. JSP's are a really good step to completing the platform and the Tomcat reference implementation is a great tool for prototyping.
Helping with organizational effectiveness is our job.
Im a web developer I dont know C/C++ good enough to make a web-app with it. But with asp/php I can make several in a very short time frame.
But the relative ease of programming will bite you in the ass if you dont have a good head and can structure your code in a good way. ASP/Vbscript is a big reason for this. Many people without any programming skills will try to make a web-application and the result will often be very bad!
"One World, One Web, One Program" - Microsoft Promotional Ad
I know not what course others may take; but as for me, give me liberty or give me death!
I've looked at phplib.netuse.de, and don't see what's 'far and away' more advanced. Could you please elaborate, such that /. might contain useful information?
--
"Don't trolls get tired?"
Hmmmmm. What exactally happens when your beautiful PHP constructed Site begins behaving badly? Who do you call at 3:00 in the morning for technical support on your site???? Show me the 1-800 number for PHP Technical Support? Corporate america cannot afford to wait for someone to reply to a "help" request on some listserv. Period. These products are bought for a lot more that price tag alone. Think Support!!! Why do you think that Sun gives away their products? Because they like you??? "I've never met a fish I didn't like..."
It's not quite as good as the template functionality, but what i do is create for every page, two files. foo.php and foo.ihtml. here's an ultra simple example
----foo.php
$username = "Bob";
----foo.ihtml
Hi ! How are you today?
---
as noted, it's not as nice as the phplib templating, but it's better than nothing.
--
"Don't trolls get tired?"
Anyone who has to design, implement and support large, web-based applications should check out Cocoon.
Neutron
I get my kicks above the
At Security Space you'll find all sorts of interesting stats, such as what kind of servers people use, what modules apache servers use, what technologies& lt;/A> people make use of and what people author It's a really good site, which I use a lot to point out how many sites run open source products. Strangely I cannot find Tomcat there... Odd?
Any technology distinguishable from magic, is insufficiently advanced.
Those of you still in the academic environment remember: there will come a day when you can't buy all your software for $5 a license.
href="http://www.ridiculopathy.com/index.php?displ ay=20001031">Ridiculopathy: Halloween coverage
JSP is not a good scripting engine for Java in my opinion. It forces you to put all your code and your HTML together in one place. A real mess. I have the same problem with ASP and PHP.
Check out WebMacro: webmacro.org
WebMacro is a Java servlet template engine which allows you to separate this stuff. You write pure Java code in the back end, and straight up HTML with some formatting codes in the front.
It makes everything really clean.
Garbage collection is not something that it done once in 10 minutes. You make it sound like a Java based server would suddetly "stop" after a few minutes - WRONG.
Point number 1) Even given a PRIMITIVE Java Virtual Machine, GC tends to get done at least once every few seconds, or more often.
Point number 2) Moden JVMs should handle it perfectly with generational and/or incremental GC. Just try running some huge application like Enhydra (www.enhydra.org) and you'll notice it's not a problem.
GC is NOT a problem unless you want a 200 fps in some game and a GC paus takes 10 milliseconds...
/ Peter Schuller
--
peter.schuller@infidyne.com
http://www.scode.org
Let me tell you. It can ONLY do 50 requests a second, anything more then that, IT BLOWS UP!! I mean self termates, died, buries it self, stumbles around drunken.. etc.. The only way to get working again is to restart it.
I have tomcat 3.1 running, I'll show you.
Ok, enough playing around. Let's give it some real load..oops!
MarNuke
Have you written any large projects in PHP? I mean really large, mission-critical projects. If so you'll quickly see that while it has strong points, it's far from perfect.
The database connectivity is far from perfect, and ODBC isn't the magic bullet some people like to think it is. While you can use ODBC to connect to an Oracle database, it will offer significantly lower performance than using the ora_ functions.
If you want an example of the lack of uniformity in the database API, look at odbc_fetch_row, it takes a statement handle, and optionally a row number. If the row number is omitted, it returns the next row. Now look at pg_fetch_row, it takes a statement handle, and a mandatory row number. If you omit the row number, it just plain doesn't work.
Look at the functionality of something as simple as 'break'. One would assume that break would exit any looping construct, whether it be for, foreach, or while. Well, you'd be right that it exits for or while, but it doesn't exit a foreach.
And there are other inconsistencies too, which are obnoxious, for example 'is_array, is_long, is_dir, and is_double' all do what you'd expect. but it's not 'is_set', it's 'isset'. If you take a reference to $this in the constructor for an object, it's not the same reference that the new class returns. (Bug 7454)
And they're right, debugging support for PHP is horrible. The debuggers that are out there only work on certain versions, so if you're doing development against the CVS version of PHP in order to get the latest bug fixes, they won't work, because of changes to the Zend internals. error_log is the equivalent of debugging with printf, and if you add your own error handler, there's a bug which prevents it from showing the error message. (Bug 7283).
PHP has been here since 1994, but it's been massively rewritten at least twice. Once in PHP3, and again for PHP4. It has a lot of potential, enough that I'm using it on large, important projects. But I wouldn't dream of using it on a large, important project that had to be done in 2 weeks. The language still needs time to stabalize.
--
"Don't trolls get tired?"
Yeah, this attitude is frustrating. I love PHP, I code in it daily. Me an PHP, we go way back ;-)
I do want to point out however, JDBC the unified DB API for Java is a very appealing feature. ODBC is a very slow API and requires a Microsoft environment to run your DBs (I think there might be ODBC implmentations on Unix [variants] but this is hole in my knowledge). I have developed *many* DB (MySQL, MSSQL, mSQL) apps with PHP and what I would give to have the flexibility of a unified API.
I have heard that phplib can mimic a unified DB API but I have not yet used it for fear of performance problems using an external foreign 'lib'. I gather this mainly from the fact that many great PHP+MySQL projects do not use phplib and have the problem of porting to other DBs
If you are a phplib fan and want to try to convince me I am all ears.
"Please do not reply if you're an evil alien! Thanks"
I won't make any comparisons to PHP or ColdFusion, I haven't used them.
But in terms of performance, my company moved from ASP to JSP for performance among other reasons. My company creates Intranet solutions, Web-based training, dynamic-content Web sites, etc.
ASP has a few major glaring issues.
1. Performance: When scripts are asked to perform complex operations, such as dynamically creating one of our site administration screens that have more tables, frames, than a big horse can ----, ASP crawls. As our systems got more complex, we moved them to VB COM components, and later to VJ++ COM components for speed. When we started switching to the full Java technologies, the testers reported a big increase in speed and usability, even though the applications were getting more complex. Before we "officially" switched from ASP to JSP, I ran a few very practical tests on both, to see how fast they might run in our applications. JSP flattened ASP, normally by a factor of 10, sometimes by 100. (I did this test 18 months ago, with Apache JServ)
2. Less bugs in my code. ASP is a breeding ground for bugs. Because its interpreted, SYNTAX ERRORS can exist in your code and you won't know about them til some client calls up having used some obscure branch of an If statement that missed testing.
3. Less bugs in their code. Ever heard of a "Catastrophic Error?" If you haven't you haven't used ASP for long enough. If you use this technology for a long time AND REALLY PUSH IT HARD, it will snap on its own. This is my biggest problem with ASP. I've had cases where my code was correct and when executed would nearly bring down the server. The solution was sometimes as simple as switching the order of two non-initialized variable declarations.... this leads me to believe there are great flaws within the ASP engine. Because no one can probably believe this point, let me just give you an example....the following program might work:
Dim A = 5
Dim B = 6
Foo A, B
While this one might bring the server down:
Dim B = 6
Dim A = 5
Foo A, B
I've seen this happen! I haven't the slightest clue as to what caused it, but it often happens on very large scripts (running the above code isn't going to demonstrate the problem).
This is definetly a PHB article. High on opinions, and low on details. I've used CF alot, and think it's a great language. It actually does have a lot of functionality, and the custom tags let you create anything you want. I haven't used JSP, but others at my company seem to think that it's really where it's at. ASP is definetly not a good tool. Compared to the other languages, it has been shoehorned into being a web based language. It takes much more code, and it is harder to understand what that code is doing. I've just started using PHP, but I see a lot of similarities between it and CF, and think that it will be a contendor. Don't flame me on this, but the disadvantage of Perl is that you have to do all of the prints and subroutine calls. With the other langugaes, you intersperse the code in with your HTML and that allows you to develop and alter the pages more quickly. I wonder if any of these languages will come out on top, or if we'll be having this discussion again in 3 years.
Nate Baxley
THIS SPACE FOR RENT
As you stated it does not make a difference for one user but for 1,000 users all accessing the same site at once....
Pros: Flexible if somewhat haphazard language; growing pool of support.
Cons: Relatively new; few tools; lacks unified database API.
Bottom Line: Not mature enough yet for widespread corporate use, but holds promise.
--------------
I have starting moving my web development projects (at least the largest one I am working on) to a PHP/JavaBeans solution. I no longer have to mess with any of the database API's in PHP, as my JavaBeans do all the dirty work. Currently, JSP seams to be very immature, based on the research I have done.
Using a PHP/JavaBean model, I try to keep the API (HTML) layer as thin as possible. In addition to being able to add other interfaces easier (XML, Java Applet, etc.), I can easily migrate to a JSP front end if the JSP functionality catches up and/or passes PHP. There are currently some things my site currently does in PHP, which JSP does not support, and would take way to long (and more java skills than I have) to program into a bean.
This should prove to be an interesting discussion to read through.
-Pete
Soccer Goal Plans
phplib was an excellent library for use with PHP3, however the best parts of it (namely session support) have been included in PHP4 standard, so there isn't much need to look at it anymore, except for legacy use, or if PHP4 is still too young for your purposes.
--
"Don't trolls get tired?"
thesims.com uses PHP and Oracle, and had to be done in not much more than a month, I believe.
For Perl users out there, don't forget about AxKit - an implementation of some of the same technology as Cocoon, but in a mod_perl framework (with a few differences too). Of course we support some different technology, and have a few different tacks on the same ideas, but the idea of using W3C recommendations to implement a server framework is the same.
For the person in this thread saying that Cocoon is slow, you might be interested to know that Covalent had to drop Cocoon and replace it with AxKit for the Apache mailing list archives at http://archive.covalent.net/ - I don't have specific details of why Cocoon couldn't hold up (it continually crashed when the hits went higher than 3 hits/sec), only that AxKit does hold up to the strain (Of course, I'm biased)
Matt. Want XML + Apache + Stylesheets? Get AxKit.
http://www.masonhq.com
All the goodness of Perl, embedded in your HTML.
<cynic>
But of course, they'll never get advertising dollars from this...
</cynic>
Anyone have any recommendations for a good JSP server? I've used Apache JServ for a while and it's horribly unstable, frequently locking up and requiring a kill -9. Tomcat seems nice, but I was unable to get it working over SSL even after many hours of tweaking config files. I've been planning on looking into Enhydra, which I've heard good things about.
Any others I should be considering?
What about the excellent HTML::Embperl? I've used this to rapidly develop all sorts of dynamically generated web pages. It uses Mod_Perl to boot.
I thought they would have given PHP a little better review. I just recently started learning PHP and I love it. The speed and simplicity involved with it are unmatched. I think CF's high price tag is sick considering I paid $1.95 for my Linux distro on CD. Unfortunately the corporate world and dot-com deadpool usually think the one that costs the most is the best. Sad Me.
Don't know much about the others, but JSP is not a scripting language. It's a technology that let's you write dynamic web pages using plain HTML (or XML, or anything else) and scriptlets and custom tags.
Scriptlets are small pieces of Java code (and Java is NOT a scripting language), and custom tags are, well, parameterized tags, looking like XML tags, and that execute some pieces of Java code.
The article is informative, but isn't complete enough, and its title is not correct. It also doesn't mention the possibility of using custom tags, which makes the JSP coding much easier and really separates the presentation code from the business code.
BTW, I'm not sure the API of ColdFusion could really compare to the Java one (Is there a bigger API than the Java API?).
JB.
Why don't they compare all the features ? This is Zdnet we're talking about. I also don't think that this was meant to be a comprehensive benchmarking or anything, more like a blurb to attract some suits. Note that no one dwelled on the fact that their winner will set you back a cool 5 grand but PHP runs $0.00US.
Microsoft's next "evolution" of ASP is really cool and will blow ASP (and JSP/PHP/CF) out of the water, IMHO. Of course I may be a bit biased... but... uh... well, just read up on ASP+, it is pretty cool. :-)
I could not justify my existence if I were a turkey farmer. Would I terminate myself? Undoubtably, yes.