Slashdot Mirror


Web Development with Apache and Perl

davorg writes "In the dim and distant past when I first started doing web development, there was a book that everybody had a copy of. It was called 'How to Set Up and Maintain a Web Site' and it was by Lincoln Stein. The reason why everyone owned (and, more importantly, read) it was that it contained a complete high-level snapshot of everything you needed to know in order to run a web site at that time. Unfortunately, after a second edition in 1997 the book hasn't been updated. I suppose that the subject area has grown so much that no-one thought that a complete overview would be too high-level to be useful. They were probably right." davorg's review continues below. Web Development with Apache and Perl author Theo Petersen pages 400 publisher Manning rating 8 reviewer davorg ISBN 1-930110-06-5 summary Good Overview of the State of the Art in Open Source Web Development

I mention Stein's book because that's what this new book reminded me of most (that, by the way, is a huge compliment). Petersen realises that an overview of the whole web development area would be difficult to write (and, ultimately, unhelpful) so he restricts himself to a subset of the available technologies - Perl and Apache - and gives a thorough review of the state of the art of web development in these areas.

But before he gets into the details of Apache and Perl, in chapter 1 Petersen takes a look at the wider world of Open Source Software and in the process presents one of the best arguments I've seen in print for why a company should choose Open Source Software. In chapters 2 and 3 he takes the same approach with web servers and scripting languages, giving compelling reasons for choosing Apache and Perl.

Having chosen his architecture, in part 2, Petersen moves on to looking at some common tools for web development. Chapter 4 looks at databases. The two main Open Source Databases (MySQL and PostgreSQL) are compared and MySQL is chosen as the basis for the rest of the examples. Chapter 5 discusses the shortcomings of the standard CGI architecture and introduces mod_perl as an alternative. This is a good introduction to a technology that some people can find hard to get to grips with. Petersen takes us through the use of Apache::Registry before moving on to the complexity and power of mod_perl handlers.

Chapter 6 looks at the importance of security in web applications and discusses in some depth the problems of user authentication and the use of SSL for secure data transmission. Chapter 7 looks at ways to separate content from presentation. First we look briefly at server-side includes, but the majority of the chapter is taken up with a review of the various templating systems that are available for Perl. The chapter finishes with a detailed look at two of the most popular templating solutions - HTML::Mason and Template Toolkit.

Part 3 of the book looks at three different types of web site in great detail. In each case Petersen uses the examples to take a brief survey of a number of the existing tools. For example chapter 9 looks at a community web site and contains information about a number of web-based forums and chat rooms. It also takes an extended look at Slashcode the software that runs Slashdot. Chapter 9 takes a similar approach for intranet sites and Chapter 10 for online stores.

In part 4 we take a longer term view of a web site. Chapter 11 looks at content management systems and chapter 12 lookat at performance tuning. Both of these chapters are full of useful advice on how to make running a web server as painless as possible.

I think this is a very useful book to have on your bookshelf. Anyone who is developing web applications using Apache and Perl will find something useful in the book. It should be obvious that in order for a single book to cover so much ground, sometimes there isn't quite as much technical detail as you might like, but there is a good bibliography that will show you where to go for more information. In my opinion the high-level approach makes the book particularly useful for a couple of groups of potential readers. Firstly I think it makes a great introduction to the subject for someone coming to Apache and Perl for the first time. Secondly (and perhaps most importantly) I can see the book (in particular the first three chapters) being very useful reading material for a manager who is making a decision between using Open Source Software or some proprietary technology.

You can purchase Web Development with Apache and Perl from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

147 comments

  1. MySql over Postgres? perl over php? by MarsBar · · Score: 0, Insightful

    My, this guy is making all the right decisions today...

    1. Re:MySql over Postgres? perl over php? by Rick+the+Red · · Score: 2

      Hey, someone writing a book has to make these choices. If you don't like them, write your own book based on your preferences. You prefer php to perl? Then don't buy this book!

      --
      If all this should have a reason, we would be the last to know.
    2. Re:MySql over Postgres? perl over php? by MarsBar · · Score: 1
      someone writing a book has to make these choices

      But the author makes a specific decision of one over the other within the book. Therefore his decision becomes a contentious point.

  2. Sounds Like A Good Book, Creepy Cover Illustration by Gryphon · · Score: 4, Funny

    Manning Publications Company always seems to have these creepy cover illustrations.

    I much prefer the O'Reilly animals.

    And yes. I am being a little facetious here.

  3. OSS and Dev in Perl and Apache by Delrin · · Score: 1, Interesting

    I really find it hard to believe that Perl with apache could be the best example for why OSS works! These are hardly the best example of what they can do for a person or corporation. When the possibilities are endless, how does Perl fall into the fold?

    1. Re:OSS and Dev in Perl and Apache by Marc2k · · Score: 2

      You obviously didn't even finish reading his sentence..I really find it hard to believe that Perl with apache could be the best example for why OSS works!

      From davorg's commentary, "in chapter 1 Petersen takes a look at the wider world of Open Source Software and in the process presents one of the best arguments I've seen in print for why a company should choose Open Source Software." That does *NOT* mean that Perl/Apache is the best argument for going Open Source, he's merely saying that the book provides good reasoning for doing so. The Mythical Man-Month was written 25 years ago and refers mainly to assembly and PL/I code (which is irrelevant since 95% of coding occurs in a higher level language today, and all's quiet on the PL/I front), but it still remains a definitive reference on software engineering principles and how to manage massive software projects. Good insight comes from the abstract, not the implemenatation.

      --
      --- What
    2. Re:OSS and Dev in Perl and Apache by Delrin · · Score: 1

      Thanks for the interesting clarification! I'll definately take a closer look.

      Delrin

  4. Re:If by wo1verin3 · · Score: 2

    >choosing open source is such a good idea then do
    >we really need shit like this pointed out?

    Do you see the market share Windows has? While it isn't right for everyone, there are a lot of people who ARE right for open source but don't know it yet.

  5. Re:Sounds Like A Good Book, Creepy Cover Illustrat by Mirk · · Score: 3, Funny
    Manning Publications Company always seems to have these creepy cover illustrations. I much prefer the O'Reilly animals.

    What, even the slug book? :-)

    --

    --
    What short sigs we have -
    One hundred and twenty chars!
    Too short for haiku.
  6. Isn't it time web development moved on? by krog · · Score: 1, Insightful

    Apache and Perl was the way to go in 1996, but times have changed. Systems like PHP and (here comes the -1 Flamebait mod) ASP are faster and more efficient than Perl CGI. Serious webmasters do it in Java or C anyhow, for serious speed.

    1. Re:Isn't it time web development moved on? by alan_d_post · · Score: 1

      You need to read up on EToys (RIP):

      http://www.perl.com/pub/a/2001/10/17/etoys.html

      Java is *not the answer*! Besides, I thought discussion on Slashdot was limited to software libre . . . .

    2. Re:Isn't it time web development moved on? by garcia · · Score: 1

      yeah, but for some websites speed and beauty really don't matter.

      For a quick and dirty form or simple "database" of information perl is easiest for me. Why should I have to sit down and read through PHP stuff when I already know perl?

    3. Re:Isn't it time web development moved on? by Anders+Nielsen · · Score: 1

      From the review it looks like the book contains a lot of info about mod_perl so I don't see your point!

    4. Re:Isn't it time web development moved on? by Daniel+Dvorkin · · Score: 5, Insightful

      Old-school Perl CGI is relatively slow, yes, though an awful lot of that has to do with the quality of the back-end code. But mod_perl is unbelievably fast -- and I say that as someone who makes his living developing and maintaining a database with a Web interface written in PHP, so it's not like I'm prejudiced in Perl's favor. "Serious webmasters" choose whichever tool gets the job done best, and if they're also good programmers, they write good, clean code that executes fast enough that the client doesn't have to care what's driving the site.

      That being said (anti-flamebait!) I'm amazed you mentioned ASP, not because of of its flamebait value, but because, um, it sucks. I swear to God, there must be "if(client != "IEWin"){slow_down(); crash_unpredictably();}" in the source somewhere. Even these days, old-school Perl CGI is often the right tool for the job. Unless you're developing 100% for IEWin, IIS, and MS-SQL, ASP never is.

      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
    5. Re:Isn't it time web development moved on? by spencerogden · · Score: 1

      I am probably biased because I learned perl first. However at work I use both of them(perl and PHP). And consequently I hate PHP with a passion. I dislike the monolithic approach. I like CPAN where I can bite off one module at a time, get its documentation all in one place, and get my head around it. In PHP I find my self wading through oracle database calls to find docs on basic functions. Speaking of database calls, why is there zero abstraction in PHP? why do I have to find and replace every function call to change databases.

      Also I think the embedded nature of PHP, while handy in simple cases, encourages people to mix up program logic and presentation.

      And of course my favorite, you can't beat using the CPAN shell to install new modules.

      I don't know about performance, I haven't seen benchmarks on mod_perl vs. PHP, but if you think most web apps are hindered by program runtime, you are looking in the wrong place for optimizations.

    6. Re:Isn't it time web development moved on? by krog · · Score: 1

      Unless you're developing 100% for IEWin, IIS, and MS-SQL, ASP never is.

      that has nothing to do with ASP at all. that's 100% in the web programmer's hands. MS-SQL is certainly no worse than MySQL, which the book advocates.

      i'd rather use Apache than IIS anyday though.

    7. Re:Isn't it time web development moved on? by FortKnox · · Score: 2, Informative

      Perl CGI, when done correctly, can be a good solution for a large enterprise E-Commerce website. I don't like the look of the language, nor do I like how OOP is slapped in.

      BUT

      The chances of getting a large group of perl developers to code a large enterprise E-Comerce website and not take shortcuts nor kludges, and not to just fall away from good design and architecture is very rare.

      Java, along with J2EE, JSPs, and taglibs FORCE you to follow good practice and design. Its a lot harder to 'kludge' something up without still following design and OOP (granted, its still possible). Another thing I LOVE telling C++/Perl/ASP people is taglibs. No other language has anything similar. An HTML monkey, that has NO coding experience, can modify JSP's that utilize taglibs. It just produces XML that HTML monkeys view as just more HTML tags.

      All in all, having a perfectly designed J2EE website (built with experienced J2EE developers) vs a perfectly designed Perl/CGI website (built with experienced Perl developers) would show that the J2EE website would be easier to maintain and the ability of non-developers to change the design of the pages without any trouble.

      The only negative point of J2EE is that its MADE for large projects. If you have a small e-commerce website, J2EE is overkill, and will take too much time to write. Perl/CGI is great for this type of site. But that is where I draw the line.

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    8. Re: Isn't it time web development moved on? by XTaran · · Score: 2, Informative

      You never heard of mod_perl, FastCGI, Embperl, or the Template Toolkit if you're still talking about PERL CGI scripts, have you?

      Apache and PERL is still the bleeding edge of web developement. It's just no more alone at the top. Perhaps you should take a look on these Benchmarks. Especially the JSP don't look very good there and Embperl2 is usually very close to PHP regarding performance. Only Apache modules written in C are without real competitor. But you should also think about the ease of developent if you compare C code with PERL, PHP, ASP or JSP.

      --
      -- There is no place like $HOME.
    9. Re:Isn't it time web development moved on? by briandonovan · · Score: 1

      Speaking of database calls, why is there zero abstraction in PHP? why do I have to find and replace every function call to change databases.

      Have you heard of Pear DB?

      What is PEAR?

      Good Luck.

    10. Re:Isn't it time web development moved on? by Etyenne · · Score: 2

      Apache and Perl was the way to go in 1996, but times have changed. Systems like PHP and (here comes the -1 Flamebait mod) ASP are faster and more efficient than Perl CGI. Serious webmasters do it in Java or C anyhow, for serious speed.

      Serious Web programmer do not even mention "CGI" and "speed" in the same sentence.

      Now,for some serious flamebait : PHP has always stuck me as an adequate, if somewhat anemic, Perl replacement but nothing more. It have a few very good library (PEAR and Horde), but nothing nearly as complete as CPAN. Zend is reputed very fast, but is it faster than mod_perl ? Instead of throwing half-baked opinion, please provide some hard number to back up your claim.

      And what's ASP ? Is this some kind of tasty threat ? Never heard of that before ...

      --
      :wq
    11. Re:Isn't it time web development moved on? by c13v3rm0nk3y · · Score: 1
      i'd rather use Apache than IIS anyday though

      Wasn't there comparision of Apache and IIS done last year that basically found that you should use the platform that your server software is best suited for? that is, they found that if you need to run a bizniz web server on Win32, then you should use IIS, MSSQL, ASP and friends.

      They found that, from a maintenance, performance and development standpoint, running Apache on Win32 (for example) was pounding a square peg into a round hole. Note that nobody was saying "you can't run Apache on Win32", just that it was not recommended for various reasons. The number one reason was performance.

      Obviously, Microsoft has plenty of access to obscure or even "secret" Win32 APIs.

      Just one study, AFAIK, and I don't know how dependable the source is, but it seemed to confirm some anecdotal evidence I had accumulated.

      --
      -- clvrmnky
    12. Re:Isn't it time web development moved on? by ThatDamnMurphyGuy · · Score: 1

      Java, along with J2EE, JSPs, and taglibs FORCE you to follow good practice and design. Its a lot harder to 'kludge' something up without still following design and OOP (granted, its still possible). Another thing I LOVE telling C++/Perl/ASP people is taglibs. No other language has anything similar. An HTML monkey, that has NO coding experience, can modify JSP's that utilize taglibs. It just produces XML that HTML monkeys view as just more HTML tags.

      I think you should go to AxKit.org then and tell them they have nothing similiar :-) . It's a direct (I think) port of Cocoon from Java into Perl.

    13. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      I guess mod_perl (no forking involved) is more comparable to PHP than to CGI-BIN.

    14. Re:Isn't it time web development moved on? by FortKnox · · Score: 2, Informative

      Even these days, old-school Perl CGI is often the right tool for the job. Unless you're developing 100% for IEWin, IIS, and MS-SQL, ASP never is.

      Go to monster and search on perl/cgi based jobs for web work.
      Now search on Java based jobs for web work.

      In general,
      Your general simple/small/little processing pages use perl.
      Your smaller companies that require dynamic pages use ASP.
      Large business that have huge enterprise sites with multiple intraweb applications run Java/J2EE.

      I've had multiple jobs that required me to change a smaller webapp from perl into Java since it started small and grew into a large program and started becoming difficult to maintain.
      If I had time, I'd love to take slashcode and make it into a fully J2EE website to prove, once and for all, how much of an advantage it is for large websites to change to J2EE.

      Now, don't get me wrong, perl is a WONDERFUL scripting language that I use almost daily. It makes great little sites (or even large sites that don't require a huge amount of processing/code) that you need to create in a short amount of time. Just, when it comes to making a large project with funding and time, J2EE has enough advantages and features that makes the job so much nicer. Maybe I'll make a journal entry to fully argue the points back and forth.

      --
      Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    15. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      Another thing I LOVE telling C++/Perl/ASP people is taglibs. No other language has anything similar.

      Actually ASP.NET uses a similar approach.

    16. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      every time i come to slashdot i read something that is more stupid and ill-informed that my last visit. Well thanks buddy, your article is the biggest pile of festering cow shit I have ever read. Noone will ever post anything that comes close. I'm going to print this out and stick it on the wall.

    17. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      Instead of spouting flames, perhaps you'd like to correct me?

    18. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      You should try ASP.NET then. Not only is it precompiled and therefore much faster, it also is cross-browser, cross-platform friendly. And since it uses a CLR you can code in whatever language you are used to without any performance hit. I am especially looking forward to the MONO project taking on ASP.NET so that we can get away from Windows on the server.

    19. Re:Isn't it time web development moved on? by ThatDamnMurphyGuy · · Score: 1

      Serious webmasters do it in Java or C anyhow, for serious speed.

      If speed is your only concern for using a particular language in web development, I think you're missing ths big picture.

      IMHO, the difference in speed between C/Java/Perl/PHP/ASP for web development doesn't mean squat. If you are querying a database 1,000,000 times a day for content that changes twice, you have a problem.

      Pick any language you want. Who cares. When you start talking about high hit counts and high loads, more of the problem will come down to caching, push vs. pull of content, and server/cluster/network layout.

    20. Re:Isn't it time web development moved on? by Digital_Fiend · · Score: 1

      I can't believe this was modded up to +3.

      "Apache and Perl was the way to go in 1996, but times have changed." What?! This is the same type of fallacious argument that Microsoft uses against UNIX; "it's 30 years old, it can't be any good!"

      Of course, generally, the entire reason one uses a high-level language (like Perl, or Python, or PHP, or whatever...) is because quickly putting something together is more important than lightning-fast speed. It's safe to say that web development is one of those tasks which generally benefits more from the former than the latter. With this in mind, your (unsupported claims) of Perl CGI's "efficiency" problems are irrelevant. Could we see something like benchmarks, or any kind of evidence?

      Your comment about "serious" webmasters "doing it" in "Java or C" for "serious speed" strikes me as being particularly odd. Your use of the word "serious" seems quite silly; there are plenty of serious 'webmasters' using Perl. As for the languages you mention, almost no one uses C; that defeats the entire purpose of general web development methodology. Again, your claims are completely unsupported by any further evidence.

      Personally, if I need to do any web scripting, I have my own language of choice.

    21. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0
      Now, don't get me wrong, perl is a WONDERFUL scripting language that I use almost daily. It makes great little sites (or even large sites that don't require a huge amount of processing/code)

      How is Slashdot a large site that "doesn't require a huge amount of processing/code"? How is Kuro5hin? Show me a community site that is larger than Slashdot or even K5 and written in Java. There's a reason these sites run on mod_perl: It's fast, it's scalable, it's easy to code, it gets the job done. Slashdot and K5 are L/BAMP success stories. Face it, most J2EE sites will never have Slashdot's load.

      If you take a look at Scoop, the K5 Perl code, you'll see that it is very much possible to write high quality, maintainable Perl. On the other hand, I've seen many projects fail simply because they used Java, which proved to be too slow for the job. In my opinion, Java is an overhyped technology that is adopted by those who don't know better and has contributed to many project failures of both hobbyists and companies. It's a resource hog, and while OOP is a helpful mechanism to structure code (you can create OOP programs in Perl as well), its importance for creating maintainable projects is overrated -- most Linux applications are written in plain old C, for a good reason.

      I'd much rather use Python or Perl than Java. Java is for those who don't know better. (also see Doug's comparison)

    22. Re:Isn't it time web development moved on? by mgkimsal2 · · Score: 2

      why is there zero abstraction in PHP?

      Because it's using native drivers wherever it can and you get the best performance that way. If you WANT abstraction (and the accompanying slowdown) you can use ADODB, Metabase, PEARDB, or other projects.

    23. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0
      Yeah I said the same thing about C++ -- Why should I have to sit down and learn C++ when I already know Pascal?

      PFFT!

    24. Re:Isn't it time web development moved on? by loconet · · Score: 2

      "...get its documentation all in one place, and get my head around it."

      Ever visited php.net ? the official PHP manual is one of the best manuals I've ever read.
      Everything is there! Well organized and easy to find. You also have user comments which are extremely helpful.

      <i>"Speaking of database calls, why is there zero abstraction in PHP?"</i>

      How hard is it to code your own wrapper functions to add your own level of abstraction on top of php's DB functions? Or use one of the million classes out there already created for you?

      <i>"Also I think the embedded nature of PHP, while handy in simple cases, encourages people to mix up program logic and presentation. "</i>

      So you are telling me that you prefer:

      #!/usr/bin/perl
      $var="Hello World";
      print "Content-type:text/html\n\n";
      print "<html>\n";
      print "<body>\n";
      print "$var\n";
      print "</body>\n";
      print "</html>\n";

      Over this?

      <?php $var="Hello World"; ?>
      <html>
      <body>
      <?php print "$var\n"; ?>
      </body>
      </html>

      Embedded languages like php/jsp/asp PROMOTE separation of presentation and program logic!

      In addition for more complex cases, it is easy create html templates to add yet another level of abstraction to your scripts/presentation.

      Ask your html designers to try importing the .pl file into their favorite html editor (dream weaver? front page?) You can say bye bye to your perl code. In the other hand, with script tags like <? ?> The editors will know not to touch those!

      How about text editors that do syntax high-lighting? with <? ?> they can do syntax highlighting for both, HTML AND PHP! giving the programmer a visual of the actual separation!

      So.. the embedded approach encourages people to mix up program logic with presentation? Don't think so.

      --
      [alk]
    25. Re:Isn't it time web development moved on? by Etyenne · · Score: 2

      You should try ASP.NET then. Not only is it precompiled and therefore much faster, it also is cross-browser, cross-platform friendly.

      For some totally unfounded reason, I am septikal of this claim ...

      --
      :wq
    26. Re:Isn't it time web development moved on? by @madeus · · Score: 3, Insightful

      Systems like PHP and (here comes the -1 Flamebait mod) ASP are faster and more efficient than Perl CGI.

      Perl with mod_perl is *very* fast and no slower than PHP with mod_php. Perl on it's own certainly isn't very nippy under high load, but then PHP without mod_php isnt great either, though many PHP fans don't take the time to understand the difference before determining which is better (which is understandable when you take into account that PHP is now used more than Perl by less experienced users, due to it's greater ease of use).

      ASP pages (at least served by IIS) are significantly less able to cope with high load than Perl with mod_perl. IIS really strains when serving dynamic load (though it's superb at serving static content, though that's not so useful :). Of course I should say that it's entirely theoretically possible that an ASP solution under Unix might give comparable, or even better, performance but given it's such a small market share and has comparatively tiny amounts of development time (measured in developer hours) associated with it it's not realistically likely - to the extent that I don't think anyone would even claim it is. It's more of a way of giving customers ASP without having the system administrator management headache of having to run NT servers.

      There seems to be a big PHP bandwagon among the hip and trendy crowd these days. That's not entirely a bad thing, because (like Perl) PHP is a GoodThing(TM) but it is a when they are just repeating what everyone else is doing (which is always a bit worrying).

      The most compelling arguments are that PHP is of course easier, and so on balance PHP markup is much less prone to errors than Perl scripting.

      Serious webmasters do it in Java or C anyhow, for serious speed.

      Sorry, but I really dispute this. Not that serious webmaster to it in Java or C, just that it's not always very quick (I'll justify that in a minute) and that there is an implication there that 'serious webmasters' work only or even mostly in Java or C which I disagree with.

      If you are writing a large scale project with many developers some find it easier to keep control over the project if it's written in Java or C (over Perl) because of Perl's flexible nature (which some see as a curse when you have a large project). I can certainly see the merits of this and am a big fan of Java.

      The drawback is with C is that C code takes much, much longer to write, takes longer to modify and is more prone to errors due it's complexity. Very little CGI is written in C due to this. I think that most appropriate place for C CGI's is for particular CPU or memory intensive functions who's functionality will remain relatively static over time. This way you can rapidly build flexible CGI interfaces around a very fast C program, meaning that your servers are not tied up with that function, but that you can still easily modify and adapt the front end of your site. Perl modules written in C are typically created to be used in this sort of context.

      Java is excellent in that it imposes a similar strictness to C while allowing you to still comparatively rapidly produce code that is less error prone than either C or Perl (IMO), meaning it's great for development among many developers. The drawbacks are however that it still takes longer to code a solution in Java than in Perl (though it's quicker than C) and Java does not really become an option for high load situations unless you have large Sun hardware with plenty of RAM (several Gigabytes) to throw at it - though at which point it really shines.

      So 'speed' is a relative term, yes certainly code in C will execute faster than in Perl, but if it takes you a month instead of a week to write, you may have just wasted 3 weeks worth of project time (and this can doom a project or kill a startup). It's much, much quicker to write and modify code in Perl (or PHP) than in Java or C (though modifying _other_peoples_ Perl can be a different story, though I've never had any problem doing that, I can see how other people do).

      I once worked out timescales for a project that went like ~2 months of Perl coding or ~4 months of Java or ~6 months of C and noted the problems/advantages of each and let my manager pick one. We went with Perl (with the option to have parts in Java or C as we came across parts of the project that would benefit), even though Perl alone might struggle with the load of the task we were doing, because it was felt that Perl would easier to maintain, given that more people in the company were comfortable with Perl, Perl meant rapid development allow us to bend with typically ever changing requirements and that Perl monkeys are easier and cheaper to find (should we all leave and minion adjustments required to the software at a later stage).

      As I final note I'd say that PHP certainly is quite appropriate in many situations and I don't dislike it at all, but for those with a strong Unix bent, unless they have good Perl already they might be better off doing at least a couple of projects in Perl, as Perl becomes a key 'life skill' due the fact that it can be used to write extremely useful scripts that do very complex things very quickly, so learning it is very useful.

    27. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      Yes, I agree. I will never run Apache on my Windows production servers; however, we will keep security-updated IIS simply for shear speed on the platform.

      Likewise, our firm prefers Apache on other all platforms, in general.

    28. Re: Isn't it time web development moved on? by abiogenesis · · Score: 1

      Sorry but performers of this benchmark can't be that ignorant of the performance issues of the Sun's JVM on Linux. Check out this (somewhat outdated) report to find out that other JVM's (including IBM's JVM which is free as in beer) are much faster than Sun in performing most tasks.

      --

      Donate free food to the hungry at The Hunger site.
    29. Re:Isn't it time web development moved on? by abiogenesis · · Score: 1

      The only negative point of J2EE is that its MADE for large projects. If you have a small e-commerce website, J2EE is overkill, and will take too much time to write. Perl/CGI is great for this type of site. But that is where I draw the line.

      J2EE does not necessarily mean using EJBs, which is overkill for small sites. You can still construct a solid small e-commerce site using Servlets/JSPs/classes, which shouldn't be slower than Perl/CGI.

      --

      Donate free food to the hungry at The Hunger site.
    30. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      two other people already did. no need to be redundant.

    31. Re:Isn't it time web development moved on? by Golias · · Score: 1
      IMHO, it's the other way around. You should choose the your web server's OS based on what will best run your chosen web platform. If you decide that Apache will be your web server (good choice!), then put it on a UNIX or UNIX-alike box. If you go with IIS (less good), then run it on XP.

      Since there are several flavors of *nix out there that run on x86 hardware, you aren't even locked into the choice if you already rushed out and bought a shiny new Dell server.

      Web servers are a great example of a dedicated box. It sits in the back of your server closet, accessing databases and serving pages. In other words, the OS does not matter, beyond the choices of web software tools available for it.

      --

      Information wants to be anthropomorphized.

    32. Re:Isn't it time web development moved on? by swordfish666 · · Score: 1

      It's nearly true!!
      I have been forced to learn and write .NET apps and ASP.NET is kick ass.
      But just saying that makes me feel dirty and I want to kill myself for even thinking that.

      I hate .NET because it is inovative and I can build some serious shit in a short time. In fact a trained monkey could write .NET and that my frieds is why it sucks!!
      Every day that I come into work and have to use .NET to do my job makes me feel dirty and meaningless. My job is now CLICK DRAG DROP.

      But I have seen the light I have installed RedHat7.3 on my personal laptop. (I haven't used RedHat since 6.2). I've got Apache/PHP/PERL/MySql running and a new sense of purpose. I've dusted off my PHP4 book and I am going to spend every moment that I am not at work learing real skills.

      And when I am happy with that I am buying this book "Web Development with Apache and Perl" and I am gonna pick up PERL where I left off 4 years ago!!

      I figure by the time Im done with that MONO my be ready to be useful.

      Long Live Open Source
      Down with .NET

      --
      I like-a do-the cha-cha.
    33. Re:Isn't it time web development moved on? by Brownstar · · Score: 1

      So you are telling me that you prefer:

      <poorly written perl snippet>

      Over this?

      <php snippet>

      No,

      But I do prefer

      #!/usr/bin/perl
      my $var = "Hello World!";
      print<<EOT
      <html>
      <body>
      $var
      </body>
      </html>
      EOT

      Ask your html designers to try importing the .pl file into their favorite html editor

      looks just fine in VI, don't know what you're complaining about.

      And with syntax highlighting just write your own definition in vim, combining the default perl def, and html def it's not too hard.

    34. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      Java being slow, and java requiring too much memory was true five years ago. Please stop spreading the rumors and try it again with the newest version of Java.

    35. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      You are telling me that you prefer: [print, print, print] over [embedded]

      Oh puh-lease. If you want to print it al out at least be lazy about it:

      #!/usr/bin/perl
      $var = "Hello World";

      print <<"STUFF";
      Content-type: text/html

      <html>
      <body>
      $var
      </body>
      </htm l >
      STUFF

      Embedded languages like php/jsp/asp PROMOTE separation of presentation and program logic!

      No they don't. Read up on the meaning of the words "embedded" and "seperation". What's embedded is by definition not separated.

      In addition for more complex cases, it is easy create html templates to add yet another level of abstraction to your scripts/presentation.

      (AS|JS|PH)P are template engine. Making a template engine using a template engine is a kludge.

      Ask your html designers to try importing the .pl file into their favorite html editor (dream weaver? front page?) You can say bye bye to your perl code. In the other hand, with script tags like The editors will know not to touch those!

      Ask a programmer to open up the same files to do his work and make him smile. Not. Code and design need to be separated, not mixed.

      How about text editors that do syntax high-lighting? with they can do syntax highlighting for both, HTML AND PHP! giving the programmer a visual of the actual separation!

      The programmer doesn't care about the visual presentation. The designer doesn't care about the code.

      -- Arien

    36. Re:Isn't it time web development moved on? by kisielk · · Score: 1

      ----[ Begin Quote ]----
      So you are telling me that you prefer:

      #!/usr/bin/perl
      $var="Hello World";
      print "Content-type:text/html\n\n";
      print "<html>\n";
      print "<body>\n";
      print "$var\n";
      print "</body>\n";
      print "</html>\n";

      Over this?

      <?php $var="Hello World"; ?>
      <html>
      <body>
      <?php print "$var\n"; ?>
      </body>
      </html>

      ----[ End Quote ]----

      Actually no, I prefer this:

      <html>
      <body>
      [- Execute('hello.epl') -]
      </body>
      </html>

      EmbPerl is your friend :D

    37. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      Probably because you haven't actually used it and instead need to spout the typically gut reflex reaction of a slashdotter. VS.NET actually lets you code with a specific browser in mind if you want including Netscape 4.7. You can also choose Flow vs Grid layout (CSS vs Tables). I have done a lot of work testing between IE and Netscape/Mozilla and beside the problems on Netscape 4 the sites are identical. There are a few IE specific tricks but these don't break Netscape they only force reloads instead of being dynamic. And I stay away from them anyway.

      Maybe next time you will post an informed statement instead of just being sarcastic.

    38. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      Likewise, our firm prefers Apache on all other platforms, in general.

      What?!

      No IIS on Solaris? It screams!

    39. Re:Isn't it time web development moved on? by spencerogden · · Score: 1

      At least have the respect to know the language you are bashing.

      Yes I have been to php.net, give me perldoc.com any day of the week.

      No, I am not going to bother writing my own DB abstration layer. Now I have heard about Pear DB, which makes more sense, but I still don't know why all of those database specific functions are in the core language.

      No one but a retard uses print statement after print statment to output html. Like I said, at least know what you are critisizing. Besides, if you have an area where embedding is perfect(simple variable substitution) There are numerous template and embedded perl modules that you can use.

    40. Re:Isn't it time web development moved on? by odaiwai · · Score: 2

      ASP is a nasty, venomous reptile which can bite you in the ass and end your Egyptian dynasty.

      dave "or something like that."

    41. Re:Isn't it time web development moved on? by Golias · · Score: 1
      Several people have already pointed out that your grasp of perl sucks.

      I hate to pile on, but there's also the object-based approach:


      #!/usr/local/bin/perl

      use CGI;

      $q = new CGI;

      $var = "Hello World";

      print $q->start_html(-type=>"text/html),
      $q->p("$var"), $q->end_html;

      Not so great for marketing pages that your design people are doing on frontpage, but it totally rocks for web tools you use internally (such as putting your web logs into html format so the PHB can read them on his browser).

      --

      Information wants to be anthropomorphized.

    42. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0
      I'd prefer this
      #!/usr/bin/perl -w

      use CGI qw(:standard);
      $var = "Hello World!";
      print header, start_html(-title => $var), $var, end_html;
      which outputs this:
      Content-Type: text/html; charset=ISO-8859-1

      <?xml version="1.0" encoding="utf-8"?>
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dt d">
      <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
      <head><title>Hello World!</title></head><body>Hello World!</body>
      </html>
    43. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0
      Serious Web programmer do not even mention "CGI" and "speed" in the same sentence.

      Then there are those who would not mention "serious" and "web programmer" in the same sentence...

    44. Re:Isn't it time web development moved on? by swordfish666 · · Score: 1

      Dear Anonymous Coward,

      Probably because you haven't actually used it

      FYI. Yes, I have and do use it everyday for the past year and not by choice.

      ... instead need to spout the typically gut reflex reaction of a slashdotter.

      POT KETTEL BLACK
      (M$ person havin' a go at a /.er for havin' a go at M$)

      Did you not see that I said .NET is good. It's the best thing I have used in years but that doesen't mean I like using it.

      BTW are you an "Anonymous Coward" because Bills_TrainedMonkey was taken?

      Cheers :p

      --
      I like-a do-the cha-cha.
    45. Re:Isn't it time web development moved on? by mgibbs · · Score: 1
      I'm amazed you mentioned ASP, not because of of its flamebait value, but because, um, it sucks. I swear to God, there must be "if(client != "IEWin"){slow_down(); crash_unpredictably();}" in the source somewhere. Even these days, old-school Perl CGI is often the right tool for the job. Unless you're developing 100% for IEWin, IIS, and MS-SQL, ASP never is.

      The last I checked, ASP was a server-side technology (i.e. Active Server Pages) In other words, the browser platform shouldn't matter because the processing happens before the browser even gets the output. PHP behaves this way as well.

      --Matt

    46. Re:Isn't it time web development moved on? by Rick+the+Red · · Score: 2
      And what's ASP ? Is this some kind of tasty threat?
      What's this PHP y'all keep mentioning? Some Pointy-Haired-Programer?

      --
      If all this should have a reason, we would be the last to know.
    47. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      Java being slow, and java requiring too much memory was true five years ago. Please stop spreading the rumors and try it again with the newest version of Java.

      If that's true then I've yet to see a NEW version of Java. Everything I've EVER seen written in Java has been shit slow. Take my firewall's administration GUI for example. It uses JRE 1.1.6 and locks up and hangs for over a minute at times for no reason. I can't seem to figure out why. No network traffic is passing. It's just sitting there thinking like some stupid blocked program. The trouble is, this is the NORM of java apps. They fucking suck.

    48. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      Ugh, I guess you didn't read up on how to use print in perl... For the record, make that:

      #!/usr/bin/perl
      # What? no use CGI? I can manage without it.
      # It's a bit cleaner, though...

      $|=1; # Auto flush. Why wasn't this on before?
      $var="Hello World";

      print <<END_HTML;
      Content-type:text/html

      <html><body>
      $var
      </body></html>
      END_HTML

    49. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      I think he was saying that the company prefers Apache over other webservers. You know there are other choices. iPlanet is actually popular with some companies that use Solaris.

    50. Re:Isn't it time web development moved on? by ukpyr · · Score: 1

      Sorry but I have yet to meet a web designer who wants to understand ANY code be it perl, php or asp.
      In my experience, which is significant, the first thing you do for a project is find/build a template system to keep any other programming decisions on the back end where they belong.

      My html looks like this

      Hello <Span Class="username">%%USERNAME%%</span>!
      The designers and my team decided what tokens mean what and if they need new ones, we talk about that.

      That way you can also build template caches and so forth easily as well.

      My bias comes from my mod_perl background. I have alot of respect for the quick/dirty approach that PHP and ColdFusion and to a sucky degree ASP (not .net) have brought to web development, but when you get to making high load/highly integrated (into the web server) web apps, java servlets and mod_perl give you the quality programming tools to seperate presentation from biz logic that you NEED.

    51. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      Dear dumbass swordfish666 who is about to start apologizing. I wasn't replying to your post. Look at the thread again and you will see that I was replying to Etyenne who replied to my original post. You can go ahead and post your apology now.

    52. Re:Isn't it time web development moved on? by FyRE666 · · Score: 3, Interesting

      Why should I have to sit down and read through PHP stuff when I already know perl?

      You know, I thought exactly the same thing - I've written a LOT of perl-driven sites over the years and always considered PHP a sort of "perl for dummies" until I actually decided to use it.

      Maybe the earlier versions were bad (you can see by the fact the language still has a lot of ugly constructs that it's evolving all the time), but it really is excellent for putting a dynamic site together very quickly. The huge amount of convenience functions just save so much time (yeah, ok you could have a massive library of Perl objects and functions you coud pull in to every script, but it's not going to be as fast).
      Then there's the fact a designer can work on the same files as a coder without having to use templates.

      It's fast too! No, not C/C++ fast, but I certainly haven't noticed any database driven sites being held back by it - and freedom from /cgi-bin/ is nice.

      Of course, for command-line tools I still use Perl.

    53. Re:Isn't it time web development moved on? by FyRE666 · · Score: 2

      Well I wouldn't worry about "piling on" with that example. If anything, demonstrating perhaps the most inefficient method to write "Hello World" in perl is just helping promote PHP...

    54. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      The "freedom from /cgi-bin/"? A properly configured instance of Apache can execute whatever you want in any directory.

    55. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      JRE 1.1.6 *is* five years ago. So is any gui in java. Java isn't used for gui's anymore, its used on the server.

      Java isn't that slow anymore, but a site built in java will be at least twice as slow as one using perl, but that's an architecture failing, not anthing inherent in java. A good mod_perl site will smoke a J2EE application even more. Java is strength becomes apparent with added complexity. Big projects really benefit from the object-oriented and modularization build into Java and J2EE.

      Java will choke when it comes to a high volume, complex site though, because it is separated from the OS. IO usually ends up being the bottleneck, and both file IO and database transactions are substantially slower than doing them natively, or in perl, which is almost the same thing.

    56. Re:Isn't it time web development moved on? by Golias · · Score: 2
      If you look at that code and all you see in inefficiency, you are not looking close enough, or are not considering the advantages of using a "CGI" object. I can create rich and varied CGI forms and tables that would take up a crapload of PHP & HTML (the way you write it), and do them in a few lines.

      If you are just comparing how short something can be and still say "Hello, world" when you view it on a browser, then I can do you one better. Step 1: Create a text file that contains the following:

      Hello, world.

      Step 2: Change the .txt file suffix to .html

      The C++ way of writing a "Hello, World" program looks inefficient to a BASIC programmer for the same reason you are turning your nose up to Perl's CGI:pm object... the BASIC programmer doesn't yet understand the power of what he's looking at.

      --

      Information wants to be anthropomorphized.

    57. Re:Isn't it time web development moved on? by FyRE666 · · Score: 1

      A properly configured instance of Apache can execute whatever you want in any directory

      s/properly/badly/;

    58. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0
      Zing!

      If I was looking for a web programmer, I would hire you over the guy that wrote the parent post, even though your salary demands are probably a lot higher.

    59. Re:Isn't it time web development moved on? by Daniel+Dvorkin · · Score: 2

      That's the way it's supposed to be. After carefully observing the behavior of ASP pages on IEWin vs. every other browser/OS combination, I'm not convinced that that's the way it is. I'm not entirely kidding about the idea of client sniffing.

      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
    60. Re:Isn't it time web development moved on? by alan_d_post · · Score: 1

      The chances of getting a large group of perl developers to code a large enterprise E-Comerce website and not take shortcuts nor kludges, and not to just fall away from good design and architecture is very rare.

      The freedom to take shortcuts is *really valuable* when writing software. It enables you to:

      1. Get the overall design done carefully
      2. Implement various components quickly, if not perfectly
      3. If it turns out that you wrote the wrong thing, go back to #1
      4. Several people in parallel can now work on things that interface with the system, now that it's up and running, while you:
      5. Go back and reimplement whatever components need polishing

      In practice, this lets you write good software much faster than a straight design-implement model.

      And as others have pointed out, you apparently don't know about the twenty million different template-driven-webpage toolkits out there for free software systems.

      All in all, having a perfectly designed J2EE website (built with experienced J2EE developers) vs a perfectly designed Perl/CGI website....

      If you had read the EToys article carefully at all, you would have noticed that they weren't advocating the use of CGI at all!

    61. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0
      It lets you choose a schema, lets see what the options are (VS.NET here)... Navigator 4,.. and two versions of IE.

      Try a grid-layout in Mozilla with dozens of items onscreen. Mozilla can't take it - and I doubt that it's Mozilla's fault.

    62. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      They have available to them the browser string. I'm not saying that they do make vile decisions based on it, but they could.

    63. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0
      Then there's the fact a designer can work on the same files as a coder without having to use templates.
      This is not a good thing. In fact, the lack of easy distancing of logic from presentation is one of the main reasons to avoid PHP/JSP/ASP if you're designing anything even moderately complex.
    64. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      What the hell are you smoking? How can it be a bad thing? You stupid PHPussy!

    65. Re:Isn't it time web development moved on? by kisielk · · Score: 1

      I don't think I'm in much of a position to demand any salary :P I'd take any fair amount ;)

    66. Re:Isn't it time web development moved on? by Anthony+Boyd · · Score: 2
      Serious webmasters do it in Java or C anyhow, for serious speed.
      Sorry, but I really dispute this.

      And I'll back you up on this. Although you disputed it by talking about time-to-deployment, I dispute it on grounds of actual speed of page returns. I worked at Borland and built tons of apps using Perl (pre-JBuilder), then at Arzoo using JSP, and now at SST using PHP. PHP is by far faster than the rest. And there is another Web team at SST, and that team works on competing projects, and they used ASP at first, and now JSP, and they regularly come and ask how the hell we return pages so quickly. Because we're experiencing some real-world payoffs -- for example, our group is getting the new projects -- I'm sticking with PHP.

      I think the biggest problem with PHP is that it is fast enough to allow us to be sloppy -- if we want to put 20 SQL queries on a page and have 15 included files, we can do it without much of a performance hit (though MySQL is crazy-fast on selects, so that deserves credit too). Back in the old days, I'd have to optimize, optimize, optimize. Maybe even drop some less necessary features because the slowdown was too much. If you really want to talk about super-slow Web apps, remember IntraBuilder. Anyone remember that? It was a Borland product with a LiveScript clone on the backend, and oh my God would it crumble under pressure. We had to use it at Borland, sort of a eat-your-own-dogfood kind of thing. But when your own employees start to hate your product and bristle at the mention of it, the product is doomed.

    67. Re:Isn't it time web development moved on? by PythonOrRuby · · Score: 2

      When we talk about the advantages of different languages, how much of the time are we talking about the language, and how much is about the tools?

      I mean, when I've played with OS X programming in Obj-C, I know that Cocoa apps could be written in Eiffel or Ada or any number of other languages. But the tools don't support these languages, and the tools make things so unbelievably easy.

      So is it the tools, or is the language/runtime?

    68. Re:Isn't it time web development moved on? by Anonymous Coward · · Score: 0

      Have you tried a browser that allows you to change the user client string? Opera allows you to change it. There's a menu in preferences that allow you to look like mozilla, NN4.76 and msie 5.0. That would be a good test.

      Narbey
      "drunken monkey" on /.

    69. Re:Isn't it time web development moved on? by collar · · Score: 1
      That being said (anti-flamebait!) I'm amazed you mentioned ASP, not because of of its flamebait value, but because, um, it sucks. I swear to God, there must be "if(client != "IEWin"){slow_down(); crash_unpredictably();}" in the source somewhere.

      In defense of ASP, it is strictly a server side language. Although it does interact with the browser (through cookies, forms etc.) none of these should cause the problems you are talking about. Most likely the person who designed the asp page only checked it with IE or used a heap of IE specific code, but that is not ASP's fault. From my (admittedly limited) experience in using ASP I've never had a problem with its pages working in Mozilla.

    70. Re:Isn't it time web development moved on? by joib · · Score: 2

      In web development, it's all about the tools. The language doesn't really matter. Think about it. For web development, you need a language which can:
      1) Connect to a database
      2) Be good at string handling
      Why are strings important? Well, most stuff in web development is about strings. You interact with the DB via strings, you send the client a bunch of strings etc. Hell, even a god-awful language like Tcl can be really good for web development when you couple it with a kick-ass toolkit, like aolserver/openacs. Incidentally, aolserver/openacs and expect are the only reasons any mentally stable person agrees to learn Tcl.

      Performance, on the other hand, is not that important. Most of the time you'll be waiting for the database or to push data to that guy behind a 14.4 modem anyway. What matters performance-wise is that you have some mechanism of keeping the script interpreter loaded all the time (like aolserver/mod_perl/php/java) and having persistent db connections.

      So why use Java? It's not really good at handling strings, strong typing is often not necessary in web development and having to compile your code before you test it slows you down (yes, I know JPS:s are automagically compiled). As I said at the beginning of my rant, it's all about the tools. Java has _excellent_ tool support. XML stuff, web services, layered architectures (J2EE), you name it. Java has it. And all the major players in the industry are behind it, except Microsoft of course.

      Java is also scalable. For the really simple site, writing a JSP page is as simple as writing a PHP/ASP page. For the high-end stuff, you can have 27 bazillion layers all cleanly separated on separate clusters costing umpteen million dollars.

  7. Web Development and the Federal Government by Blind+Linux · · Score: 2, Interesting

    Unfortunately, after a second edition in 1997 the book hasn't been updated.
    And yet, it's still being used in the Department of Foreign Affairs as need-to-know material for our intranet site developers.
    However, most of the n00bs here seem to read PHP and MySQL web development, by Luke Welling and Laura Thomson.
    The Canadian government uses Java, XML, VB/VBA, SQL Server, and ASP, but SQL and PHP are the primary ones.
    I did ask around at web development and we did in fact order copies of the new book that you reviewed though. Cool, eh?

    1. Re:Web Development and the Federal Government by hendridm · · Score: 1

      I very much enjoyed JSP, Servlets, and MySQL published by Wiley, although I think it dicusses Tomcat 3. They also have a MySQL/PHP Database Applications book. I found the JSP book very good for someone who has familiarity with other server-side scripting languages but hasn't dabbled much with Java technologies.

    2. Re:Web Development and the Federal Government by Duckster9000 · · Score: 1

      And some of us work for federal agencies where Microsoft is BANNED! Other than stripped down versions of Office sitting on stripped down versions of Windows on the desktop, no other M$ products allowed - especially no M$ servers of any kind. Why? M$ has too many security holes.

    3. Re:Web Development and the Federal Government by charlesnadeau · · Score: 1

      In which division of the Foreign Affairs are you? S branch? The intranet is all MS and ASP only, didn't you noticed? I maintain a part of it...

      The new vTC of the T branch is all Apache, Oracle and JSP.

    4. Re:Web Development and the Federal Government by Blind+Linux · · Score: 1

      You're DFAIT too?

      The intranet post was from a friend who was interested in the subject.

      As for me, I'm SXTT Server.... What are you?

  8. Are books the way forward? by Aliks · · Score: 5, Insightful

    Don't want to be a troll but no matter how good the book is, surely for material like this, the web itself is the best medium.

    A paper book is certainly more portable, and for most people easier on the eye, especially when you read for a long time but . . .

    Topical material is quickly out of date

    You can't search too easily for the topic or phrase you want

    You can't easily look up a reference for a term or concept you don't understand

    If a certain paragraph doesn't make sense you can't look for alternative statements of the same concept

    Once you've read it there isn't any easy way to look up a particular section when you next need it (the books at home, borrowed by a colleague etc)

    Books cost!

    1. Re:Are books the way forward? by gnalre · · Score: 1

      For people like you they also provide the book in ebook format(PDF)(See http://www.manning.com). Good price too and a discount if you wish to go to a more tree based existance. I wish more publishers woukd do that!

      --
      Choose your allies carefully, it is highly unlikely you will be held accountable for the actions of your enemies
    2. Re:Are books the way forward? by Anonymous Coward · · Score: 0
      A paper book is certainly more portable

      books are more portable away from computers, but from any computer i sit down at i can get to my favorite websites and i don't have to carry anything with me. the web is more portable when i need it.

      for most people easier on the eye, especially when you read for a long time

      for those who need reading glasses, the bright light of a screen contracts the pupils and makes focusing and reading easier than the printed page.

    3. Re:Are books the way forward? by Anonymous Coward · · Score: 0

      I still buy the "staple" books from Oreilly and others, but so many books are just that: outdated and re-hashed versions of publicly availible information.

      Case in point:

      I bought a "basic" Java book, but use java.sun.com for reference on all the API's that I use.

      It does not make sence in ecological or financial terms to buy a whole refrence set of books when the data is online.

      The key point here is "reference". Reference books are trying to track a moving target. Books that are language definitions and intro books have more staying power (more bookshelf longevity and therefore are more financially reasonable, and will not be tomorrow's landfill).

      ---

      The company I work for just threw away TONS of software manuals that they had been saving.

      I am beginning to loathe this industry for the waste that it produces.

    4. Re:Are books the way forward? by bluGill · · Score: 5, Insightful

      Depends on what you want to do. Online is better when you are at a computer (with net access) and know what you want to know about. Paper is better when you just want to learn something interesting. I have not yet found a good way to skim online documentation and when something catches my eye drill down deep. Scrolling doesn't seem to work that way for some reason. An index is worse, it doesn't tell you if something is useful, so you have to look, which means wait for page loading times. After a few misses you give up.

      Both types have their place. I wouldn't want to be without my printer, even though I haven't turned it on in several weeks. There will never be a paperless office because when the problem gets really tough I print out everything, and then (as Fred Brooks said) take to the floor to figgure things out. Don't try to get rid of paper, use both paper and the computer to compliment each other.

    5. Re:Are books the way forward? by PainKilleR-CE · · Score: 1

      Topical material is quickly out of date

      I think that's why things that are generally at a higher-level (as the review says this book is) tend to be much better, and have a longer shelf-life, than the typical programming book. At the same time, I find it to be helpful to get particular books to build my own basis for a particular language or application, and then find more detailed and up-to-date information from there. Of course, I have about 6 boxes of computer books (mostly programming, some administration) sitting in my room waiting to be unpacked after moving across the country about a month ago.

      As another poster pointed out, though, the ebooks that are packed on the CD with more and more of the new books are great, especially when you don't want to lug a 900 page book around (or worse, 3 or 4 of them, as I have a tendency to read on multiple things at a time to keep from getting bored with a particular subject).

      --
      -PainKilleR-[CE]
    6. Re:Are books the way forward? by extrasolar · · Score: 2

      You want Texinfo.

      Really.

      No page load times, the document is on your hard drive. It has good indexing and its hierarchial structure makes "drilling down deep" easy. And if you want, just throw the source document to TeX for the printout.

    7. Re:Are books the way forward? by cgenman · · Score: 3, Insightful

      Lots of reasons.
      For one, Subways, busses, trains, airplanes, sidewalks, and doctors offices.

      Two, it's always better to have a paperback copy of documentation when fixing a computer. Even if you have another computer around (and you should), paperbacks still leave smaller holes in the wall.

      Three, when you are done with it you can loan it to a colleague. I've worked with enough clueless people to know that a little education can go a long way in smoothing a long term working relationship.

      Likewise, many of the supposed advantages proported of HTML are not so, namely timeliness and loanability. For some reason it seems to take as much cost to keep a site up to date after two years (or so) as it did to create the thing in the first place. Why would the publisher plunk down the coin to keep the site current? If they are going to recieve payment for updated versions of the html book, how is that any different from buying a dead-tree edition? And how, exactly, can you loan out a html book with the publisher's blessing? I understand that in HTML you can just page through and download the bloody thing, but... That seems like a lot more trouble than figuring out who you loaned your book to.

      And furthermore, if you are at a computer you can look up concepts you don't understand without any trouble. The portability of white pulp doesn't preclude reading it at a computer. And when Mozilla / IE / Netscape / AOL / ICab / Opera / Lynx / Konqueror crashes your system, your paperback will still be running fine and you will still know what you were looking up. (Opera, BTW, automatically saves the windows you have open, allowing you to painlessly resume after crashes).

      I don't think, in the current state, that searching and easy dissemination outweigh portability, ease-of-reading, and loanability in this circumstance.

      Dead tree technology has been around for three thousand years. Three thousand years of R and D is a lot of engineering. Let's not be so quick to abandon that power, eigh?

      -Chris

    8. Re:Are books the way forward? by Aliks · · Score: 1

      Mostly I agree with you, but the online sources I was referring to were the vendor sites, the public resources and usenet archives rather than publishers sites.

      I'm reading a lot on Cisco routing at the moment and there are a ton of references, including complete University courses online. I'd wouldn't need a ton of dead trees to match this, but it might come close.

      Oh and another random thought. The film Ivan's XTC is on at the moment, and seeing it was based on a Tolstoy short story "The Death of Ivan Ilyich" I thought I'd read it.

      Amazon will sell you this here , but its available online here

      No waiting, print it off if you like.

    9. Re:Are books the way forward? by Anonymous Coward · · Score: 0

      PDF is bloody useful. No searching, no linking, no annotating, no modifying, "anti-aliased" fonts that hurt the eyes. It's made for printers, not people, not computers.

    10. Re:Are books the way forward? by Bodrius · · Score: 2

      For a technical reference, yes.

      For a through analysis of the abstract concepts, no.

      1) A good book that deals with the real problems ("web development" in this case) will stay up to date for as long as the problem is. The implementation details are incidental to the real value of the book.

      Half of my web development books are obsolete, they use Tomcat 3.x/JSP 1.0/Servlets 1.x code and examples, and things have changed dramatically in that area.

      Yet those are the same ones I actually use, because I'm not consulting books about APIs or specs, I'm reading books about software development.

      A better example is perhaps "Design Patterns". I consider it a book that NEEDS to be skimmed over; that's how you read and use it. No single line of code has helped me in that book so far, but I consider it invaluable.

      From what I remember of "The Art of Computer Programming", it's technologically irrelevant and obsolete, yet many consider it's invaluable to help understand technology because Itanium-assembler code is not the issue.

      2) To most people a monitor is an inferior surface to read, and even for some who are comfortable with it (like me) it's just not as flexible as a book: we have learned to detect patterns over multiple pages, even multiple chapters, and we haven't learned to do it with the scroll bar. For some reason, we seem to be more efficient with 3-4 open books on our desk than 3-4 books on our "desktop", sharing psychological space with our software applications.

      This could be solved with electronic paper, but many still feel the need for paper books.

      While software makes it easier to look for things you already know you're looking for, in ways software is good at looking for, paper still lets humans do the kind of searching they are best at: browsing through the unknown.

      3) You can look in a book for an alternative statement of the same concept.
      It's called an "index", it's normally at the end of the page, and it tells you where the concept is mentioned/explained/used.
      Hyperlinks are nothing more than the bastard child and logical extension of indexes and references. That's what makes them so insanely useful.
      Now, if you mean you can't look for alternative statements by doing a search in Google, well, that's called research. It's been done ever since there were books, and it's the reason why the Dewey system was such a big deal back then.

      Conclusion:

      Electronic text is more convenient for some things (directed searches, instant references, etc) but it still doesn't offer some important advantages of the paper-world.
      Besides cost, there is no logical reason, however, not to have both versions of the text in a newly produced text.
      Even the most generalized, theory-oriented book would benefit from hyperlinking and searchable text, and some updated material. Providing both versions is the sensible solution.

      But assuming that costs restrict the publication to only one kind of media, there are books better suited to e-text (most O'reilly books, essentially technical manuals) and there are books better suited to paper (a good Data Structures or Software Engineering book).
      I guess it depends on whether you're meant to read the book, or to "consult" it.

      --
      Freedom is the freedom to say 2+2=4, everything else follows...
  9. Re:Sounds Like A Good Book, Creepy Cover Illustrat by Gryphon · · Score: 1

    What, even the slug book [miketaylor.org.uk]? :-)

    Yes, I think even the slug book! ;-)

  10. You need to read up on website design by krog · · Score: 1

    The link points to a story about how EToys set up a corporate website on mod_perl. Not about how mod_perl was the greatest thing since sliced shit and regularly tromped C++ and Java in benchmarks, but just that one could do it. Big deal! I'm not talking about how one *can* do it -- I'd advocate Common LISP in that case -- but about how one should do it.

    1. Re:You need to read up on website design by Anonymous Coward · · Score: 0

      The story shows that one of the largest traffic sites ever on the internet was able to survive with a hacked together perl cgi script run through mod_perl using a mysql database an low end intel hardware. The lesson is that *NO* site (except amazon, yahoo, ebay, etc.) is going to outgrow a simple LAMPI system.

  11. Not necessarily true by OmniVector · · Score: 1

    Look at the benchmarks for PHP vs ASP lately, it usually outperforms it. i'm sure C is faster, but i haven't read a thing on java servlet pages and how it performs speedwise. I actually thought java servlets would be slower than php but i could be wrong.

    --
    - tristan
    1. Re:Not necessarily true by lindner · · Score: 2, Interesting
      Check out the "hello world" benchmarks at www.chamas.com. mod_perl is right at the top of the heap when it comes to performance (after a C-based apache module) then java, THEN php.

      From the site:


      Welcome to the Hello World! benchmarks. This site seeks to give its visitors a sense of web application execution speed on various software platforms running under the Apache web server. ...... The benchmarks instead tend to be written for a lowest common denominator so more web applications can compete than not.
    2. Re:Not necessarily true by mgkimsal2 · · Score: 2

      And if you put a cache product on the PHP machine, it'd be as fast or faster than mod_perl. mod_perl is caching the script in memory, something the default PHP doesn't do. Compare apples to apples please.

    3. Re:Not necessarily true by Anonymous Coward · · Score: 0

      But they somehow chose the worst performing java virtual machine available on Linux.

    4. Re:Not necessarily true by lindner · · Score: 1
      Go read the web site. It's premise is to compare the basic features/speed of the simplest application. One could add another caching layer on top of mod_perl to speed things up too....

      Of course speed isn't everything, developer time, development tools, integration with content providers are all also factors.

      Another quote from the benchmark web site:

      While there are some numbers here available for your review, benchmarking does not provide a real world assessment for any application operating in a specific real world scenario, and this does not try to demonstrate any proof that any system is better than any other. More often than not, the benchmarks themselves are are too simple to fully utilize an application's strength or reveal its weaknesses. The benchmarks instead tend to be written for a lowest common denominator so more web applications can compete than not.
    5. Re:Not necessarily true by mgkimsal2 · · Score: 2

      One could add another caching layer on top of mod_perl to speed things up too....

      But that 'caching' layer would be in addition to what it's already doing. mod_perl is already caching compiled scripts in memory. PHP by default is not. To accurately compare the max speed available, run the accelerator from php-accelerator.co.uk on the PHP machine.

      Of course speed isn't everything, but you seemed to want to make it a big factor in comparison with PHP, and I was simply pointing out the flaw with the comparison.

  12. Better than CPAN.pm, CPANPLUS by twoshortplanks · · Score: 2
    And of course my favorite, you can't beat using the CPAN shell to install new modules.
    Actually, I prefer CPANPLUS, read the article about it.
    --
    -- Sorry, I can't think of anything funny to say here.
  13. ohh no by Space_Nerd · · Score: 1

    another PHP vs Perl flamewar?

    --
    Everybody has a purpose in life, maybe mine is to lurk in slashdot.
  14. Don't do that by Anonymous Coward · · Score: 0

    When I read the headline I thought you were talking about an updated version convering Apache 2.0

  15. Re:Sounds Like A Good Book, Creepy Cover Illustrat by archen · · Score: 1

    True in a Nutshell

    2 pages, $1.95


    Okay, do we REALLY need a 2 page book? And what good is true with out /bin/false? Why not make a grand slam manual and include /dev/null as well?

  16. Why Perl by LinuxParanoid · · Score: 5, Insightful

    When I started web programming 2 years ago and faced the choice between working with Java, Perl and up-n-coming PHP, I looked around and it seemed to me that the people using Perl were doing the most innovative, creative stuff on the web. (Slashdot's "distributed moderation" scheme, which I regard as a quantum improvement over USENET moderation for providing large-traffic yet readable forums was just one example.)

    I wanted to do innovative, creative stuff, so I started writing Perl.

    No regrets. I don't think that aspect of Perl has been particularly usurped. Nor do I think there's another language which provides a platform for faster time-to-market and feature iteration.

    As mentioned elsewhere on this thread, and Java and PHP have their own distinct advantages also.

    --LP

    1. Re:Why Perl by jallen02 · · Score: 1

      What I wonder is why everyone thinks PHP, Java, and Perl are the only tools to develop web applications. No no one said that, but I rarely see much other than that discussed.

      There are plenty of innovative, and IMO great, features coming from the commercial world. I like Struts(MVC)+JSP for doing larger systems. I also like ColdFusionMX which is an application server built on top of J2EE technology.

      I also think .NET combined with components developed in C# are compelling. I won't use them but they ARE a viable option for a lot of developers out there.

      Mainstream web development is going the way of reusable components and web services. Component oriented software development, IMO, is much more difficult to do completely in Perl or completely in PHP. I can see using PHP or Perl as a presentation tier for a system, but they just don't hit hard enough for the middleware and database interaction tier IMO. I do agree that there are interesting things being done in all of the languages, Java, Perl, and PHP. You can even read about some sites that were ultra-scaleable such as etoys Perl system and how they handled the peak dot-com craze christmas loads etc.

      There are extreme cases in all languages of innovation and stupidity, but I think in general developers and languages are moving towards component orientation and web services *ARE* becoming a viable option for many things.

      For what I think of as the really cutting edge stuff check out CFMX and Flash remoting. I think FlashMX has the chance to be what Java applets should have been all along. Only time will tell but I am really impressed with some of the latest and greatest from Macromedia. So, what is my point? I think, with a team of experienced CF developers, you would have your hands full trying to keep up with them on time to market and feature development. Now that CFMX is out ColdFusion has grown up and become something less of a toy language.

      I know, this post seems CF centric, but for your average web development job CF is at least as competitive as Perl.

      For the bigger jobs CF is a great choice for a presentation layer and or a light weight component/web service provider. Combine an awesome presentation layer with a well planned and implemented J2EE back end and the sky is the limit. I have been there and developed it.. it all works REALLY well :)

      Anyhow, just trying to shed a little big of knowledge. I hope no one blasts me to bad for liking non-free solutions :)

  17. Perl is very useful by PerlPunk · · Score: 2, Insightful

    Perl & Apache is an excellent combination for bringing sanity to legacy systems.

    As far as dealing with legacy systems, nothing is better than Perl. For example, in a project I'm working on, in my company there is a vast array of legacy tools which require using telnet to get the work done. And the web interface I'm building (CGI & Net::Telnet) get's the work done beautifily. (Try doing this in PHP or Java.) The admin people are happy, and the development time so far has been almost negligible. Perl is the supreme glue language.

    1. Re:Perl is very useful by Cave+Dweller · · Score: 1

      And the web interface I'm building (CGI & Net::Telnet) get's the work done beautifily. (Try doing this in PHP or Java.)

      Uh, fsockopen() in PHP?

    2. Re:Perl is very useful by Bodrius · · Score: 2

      What would be the impediment to do a Servlet (since you're using CGI) interface and a telnet client in Java?

      Not that I have tried so far, but I don't see what the great difficulty would be: interface code would be trivial, client code would be not too difficult either. There are more than a few Telnet classes out there if you don't want to deal with the raw Socket class yourself.

      Now, whether the development time would be "negligible" or not, is another matter. For a Servlet-based application, it could very well be.

      --
      Freedom is the freedom to say 2+2=4, everything else follows...
  18. Apache 2.0 by illsorted · · Score: 1

    The number one reason was performance.

    That was most likely for some 1.x version of Apache. The Windows version of Apache 2.0 has been written as a native Windows application, instead of being ported like earlier versions. Now it performs as well, or better than, IIS 5.0.

    E-Week has an article on this.

  19. If I only had mod points... by humboldt · · Score: 1

    ... I'd mod this as +1, Funny.

  20. Re:Sounds Like A Good Book, Creepy Cover Illustrat by T3kno · · Score: 2

    The cover should have a slug, a snail, and some salt. Which is which is up to you.

    --
    (B) + (D) + (B) + (D) = (K) + (&)
  21. Web Developer Books by peterdaly · · Score: 2

    I have compiled a list of books I think should be on every web developers bookshelf. While I don't cover perl (I'm a PHP/JSP guy), if you are interested in this topic, you may find my page of interest. (http://www.starvingmind.net/tech.jsp)

    For the Perl/Java tech argument. Well designed java pages can be just as fast, or faster then poor perl cgi's, and vis versa. I too have seen very slow JSP/servlet's. JSP's should not be programmed the same way as a language like PHP or perl in many cases, it will be slow. Perl ranks third for me, but not totally off the charts.

    I for one would argue JSP based development makes more sense for most sites, due to development productivity, and language functionality. And as I said before, a well design Java site can execute as fast or faster than some perl CGI sites. PHP ranks right behind JSP's in my mind, since they don't provide as much functionality, although they are very fast for simple things.

    Perl should be a tool in your developer's toolbox, although I believe PHP or JSP's are in most cases a better tool for the job of making dynamic web sites.

    -Pete

  22. Apache/Perl is a good start point by phorm · · Score: 1

    From a fresh startup angle... Basic Perl scripts: Simple for somebody who knows basic C++ Basic Perl Install: Generally works when just installing apache PHP Install: A little trickier... best if you knew to compile apache with DSO support when you did the initial install...

  23. News Flash for Computing jihadistas by Un+pobre+guey · · Score: 1

    There is no One True Programming Language.
    There is no One True Computing Platform.
    There is no One True Ice Cream Flavor.
    There is no One True Beer.
    There is no One True..., um, you get the picture, right?

    1. Re:News Flash for Computing jihadistas by The+Bungi · · Score: 1
      There is no One True Programming Language.
      Visual C#.NET

      There is no One True Computing Platform.
      Windows.NET DataCenter Server

      There is no One True Ice Cream Flavor.
      Chocolate chip.

      There is no One True Beer.
      Negra Modelo

      Un pobre guey

      Yep!

  24. Another option by Cirkit · · Score: 1

    Another option is OpenACS. Lots of neat tools for building dynamic websites.

  25. I am going to be mean here by Anonymous Coward · · Score: 0

    Apache and Perl was the way to go in 1996, but times have changed. Systems like PHP and (here comes the -1 Flamebait mod) ASP are faster and more efficient than Perl CGI. Serious webmasters do it in Java or C anyhow, for serious speed.

    he did not mention speed and cgi in the same sentence

    look there is clearly one sentence about cgi and one about speed. :-P

    -logicbug

  26. Similar book for JSP by Fished · · Score: 1
    I recently picked up the following book:
    JSP and Java: The Complete Guide to Website Development
    book at Barnes and Noble. It does a reasonable job of covering everything you need to know to start developing in JSP using PostgreSQL and Tomcat. (Although Amazon lists it as not yet published, it's definitely available elsewhere.)It seems like the idea behind this book is very similar to the idea behind the book reviewed.

    I can't really give the book a whole-heartedly positive review since it spends WAY too much time talking about the theoretical considerations behind minor components (like the Apache web server used to redirect requests to the tomcat servers) and WAY too many pages trying to sell me on the tools this guy likes -- even when they happen to be the tools I'm already using.

    However, this book does one thing that I've had a hard time finding: giving an end-to-end discussion of how to build an app with JSP. It talks about JSP, JDBC, Java beans (as used in JSP development rather than as they are used in swing development) and a little about java in general, PostgreSQL and so forth. To my way of thinking, the biggest problem with Java is that information about the platform is fragmented into so many books that it's hard to figure out how to use the stuff. This book overcomes that tendency to some degree.

    So, take a look. If you -- like me -- are an old perl hacker trying to update your skills and do development "right", it might be a good purchase.

    --
    "He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
  27. How about by SomeOtherGuy · · Score: 2

    I do not want to start a flame war or anything. I have been getting into Python lately and am starting to wonder why I don't see more sites using Python over Perl? Can anybody point me to some dynamic sites that have passed over Perl, PHP, JSP, CFM -- and decided to go with Python. Having played around with many languages over the years? -- there is something about Python that made me do a double take and I have been indulged ever since....

    --
    (+1 Funny) only if I laugh out loud.
    1. Re:How about by Anonymous Coward · · Score: 0

      Yahoo! Maps uses python, as does the ecard site americangreetings.com. also check the python.org site's "Who else uses Python?" section (http://www.python.org/psa/Users.html).

  28. Lincoln Stein's book a classic by shmigget · · Score: 1

    Lincoln Stein created a classic with "How to Set Up and Maintain a Web Site," and I believe that any serious web developer (and certainly any professional) should know how to get around in Perl CGI. Stein also wrote CGI.pm, probably one of the most used Perl modules. JSP/Servlet implementations remain the right way to do things today, but Stein's book still holds great value.

  29. perl is not how to run a website by Splork · · Score: 2

    any website based on perl is doomed to become an unmaintainable mess. look at languages better designed for web use or at least maintainability (php, python, etc).

    1. Re:perl is not how to run a website by ukpyr · · Score: 1

      Do not flaunt your lack of knowledge so flagrently. Ignorance is something to be ashamed of, not brought out into the open and handed out with a grin.

      I will inform you:
      Any language can be combersome to maintain. C/C++/Java/PHP/Perl/BASIC/PASCAL/whatever.

      Perl has more OOP concepts included in it than most of the languages I just listed. One of the great features of perl is that it does not MAKE you use them. I have a site that runs on 30K lines of perl code and is very managable thank you. How? I use libraries, I make functions, I use OOP concepts. I can go and find something by opening the perl module that the portion of the web site is using, make a change in there, or go out to the library and change it there, if appropriate.
      Just like any good programming language.

      So why does perl not ENFORCE this like say Java? Because that's not what perl is about. If I need to make a program to do a chore that will not change, why make a big deal out of it? Hack out 3 - 5 lines of perl to do it. What happens when the chore because a business process or expands to include X? Well you're out 3-5 lines of code that you have to re-do in a well structured manner now. OH NO! :)

      Please don't blindly replicate these silly myths. I don't commment on FORTRAN articles as I don't know FORTRAN and would probably sound stupid.

    2. Re:perl is not how to run a website by teektee · · Score: 1

      any website based on perl is doomed to become an unmaintainable mess.

      such as... slashdot?

  30. If you're going to flame by Bodrius · · Score: 2

    You can be both more incisive and factually correct:

    any website coded by perl 1337 hackers who spent more time reading slashdot than studying CS is doomed to become an unmaintainable mess. look for programmers whose code is better designed for web use or at least maintainability (be it in perl, php, python, etc).

    There you go.

    --
    Freedom is the freedom to say 2+2=4, everything else follows...
  31. Are there any good ones? by bankman · · Score: 1

    I mean sites devoted to web development on Linux, Apache, Perl and PostgreSQL (no, not MySQL)?

    I prefer to have both. It doesn't need to be exactly the same book, although that is nice, a good book that covers the area in general and websites for more in depth information. 'Running Linux' is a perfect example, it covers the specific areas well enough to get you going and is general enough to be of use to the experienced user who just needs a simple kick in the head. The more specific stuff can then be gathered from the web, once you know what you are looking for (or at least have an idea).

    Slainte

    --
    I feel so sig.
  32. my review of the Stein book by danny · · Score: 2
    I reviewed How to Set Up and Maintain a Web Site many years ago - and agree that it was an excellent book.

    Danny.

    --
    I have written over 900 book reviews
  33. MI is a bad thing. So is anger. by Anonymous Coward · · Score: 0

    AC's mental illness is showing.