Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×

Why the Light Has Gone Out on LAMP 443

menion writes to tell us that Cliff Wells has an editorial calling into focus some of the perceived problems with LAMP. Wells calls PHP and MySQL this generation's BASIC citing the Free Online Dictionary of Computing: "BASIC has become the leading cause of brain-damage in proto-hackers. This is another case (like Pascal) of the cascading lossage that happens when a language deliberately designed as an educational toy gets taken too seriously. A novice can write short BASIC programs (on the order of 10-20 lines) very easily; writing anything longer is (a) very painful, and (b) encourages bad habits that will make it harder to use more powerful languages well. This wouldn't be so bad if historical accidents hadn't made BASIC so common on low-end micros. As it is, it ruins thousands of potential wizards a year."
This discussion has been archived. No new comments can be posted.

Why the Light Has Gone Out on LAMP

Comments Filter:
  • Unfinished rant (Score:3, Interesting)

    by Tx ( 96709 ) on Tuesday June 06, 2006 @06:07AM (#15478337) Journal
    at least 3/4 of the so-called LAMP (Linux, Apache, MySQL, PHP) stack are under vigorous attack by many, myself included. Why?

    Notice the guy says 3/4 here. Notice how he then goes on to criticise only MySQL and PHP. So what was the third item he was going to criticise, Apache or Linux (either would seem strange)? Seems to me he hasn't even finished his own rant.

    This is another case (like Pascal) of the cascading lossage that happens when a language deliberately designed as an educational toy gets taken too seriously.

    Well, I'm a great fan of Delphi-style object-pascal, maybe using it has brain-damaged me, or maybe it doesn't bear too much resemblance to original pascal, I don't know. Then again, my first exposure to any sort of programming was BASIC on the ZX81, so maybe I'm a lost cause :(.
  • by unity100 ( 970058 ) * on Tuesday June 06, 2006 @06:12AM (#15478360) Homepage Journal
    I dont see any lights going out. In the software area i am working in, ecommerce, lamp is becoming the framework at an increased rate, mainly because of oscommerce and its variants. In community/publishing sector, nuke, mambo, phpbb variants rule the day, and it is impossible to track mods and additions coming out every day.

    All else talk is crap, as the experience shows otherwise.

    Plain bullshit rant.
  • by Anonymous Coward on Tuesday June 06, 2006 @06:57AM (#15478503)
    An example of a successful open source project would be Moodle. It's a courseware management system that is used by schools all over the world. My daughter's university uses it. They seem to have made the decision to go with PHP because it is easy to use. That means that many more people can contribute to it. This is a case where the end users aren't developers and the good developers aren't interested in the project. If the project is going to get done at all, the end users have to be able to do it themselves.

    "Moodle should be easy to install, learn and modify
    Early prototypes of Moodle (1999) were built using Zope - an advanced object-oriented web application server. Unfortunately I found that although the technology was pretty cool, it had a very steep learning curve and was not very flexible in terms of system administration. The PHP scripting language, on the other hand, is very easy to get into (especially if you've done any programming using any other scripting language). Early on I made the decision to avoid using a class-oriented design - again, to keep it simple to understand for novices. Code reuse is instead achieved by libraries of clearly-named functions and consistent layout of script files. PHP is also easy to install (binaries are available for every platform) and is widely available to the point that most web hosting services provide it as standard."
  • by dzfoo ( 772245 ) on Tuesday June 06, 2006 @07:38AM (#15478665)
    Thank you for the post. I see now that I didn't miss much, except some blogger's rant. I have my own reasons to dislike PHP and MySQL, so I don't necessarily disagree with the author's comments. However, this article is mainly a vanity/opinion piece, written perhaps with the aim to spark "controversy" (read: flamebait). Its just another two-bit blogger blowing smoke.

    HOW TO BLOG EFFECTIVELY
    (or nifty writing for the web two-point-oh)

    1. Find a subject you have an issue with, even if you do not know much about it.
    2. Click on "Creat new entry" on your favorite blog-o-matic software du juor.
    3. Start ranting about such subject, avoiding obsolete hallmarks of the web one-point-oh era, such as:
            a. Proper grammar and sentence structure.
            b. Research
            c. A point
            d. spell-checker (or worse, actually spelling correctly in the first place)
            e. Eloquence
            f. Proof-reading (or re-reading at least once) when you're done writing.
    4. Click "Submit" or "Save".
    5. ???
    6. Profit!

                  -dz.
  • by tbannist ( 230135 ) on Tuesday June 06, 2006 @09:36AM (#15479280)
    Personally, I prefer that the bad codes of the world work on a language that's easy to read and isn't compiled. Fixing their garbage in C was a huge pain in the ass. The article's author however is a complete and utter tool. He hates a language because he despises the people who use. Wow, how levelhead and informed.

    I understand his point that it's easy to write bad code for PHP. However, only a total idiot would think that it's not easy to write bad code for any language. By all means, let's move all the pseudo pogrammers over to his beloved Python, then he'll have to hate it and find something else to love.

    At the most basic point his argument fails because it's not motivated by logic or reason, but by visceral emotional prejudice. Guess what, nobody should care how you feel about PHP or MySQL.
  • by twitter ( 104583 ) on Tuesday June 06, 2006 @09:43AM (#15479337) Homepage Journal
    1. Google. Uses python and their own database servers they developped. Problems? Never.
    2. bbc.co.uk - a GIANT site supplied with continuous news and audio. Runs on perl. Nothing else could cope.
    3. Slashdot. Copes with the traffic that destroys anything it links to. Perl again. Rarely down. And lastly
    4. Wikipedia. Runs with PHP and MySQL! Their servers blow weekly, copious lengths of downtime, search function regularly disabled. Pages are nearly always slow to respond. QED

    Be fair to Wikipedia. They are more media rich and interactive than any of above and their service does not blow as badly as all that. In fact, the service is good enough to justify deployment at any organization if not of the Wiki used by Wikipedia then any of the other four or five choices.

  • Re:It's just a tool (Score:4, Interesting)

    by jlechem ( 613317 ) on Tuesday June 06, 2006 @10:43AM (#15479783) Homepage Journal

    My boss often says software is the only business where you get paid to fix your own fuck ups.

    And I have to agree. Our customers (the USAF BTW) just want new features, new features, new features. Sure we fix a lot of bugs, make the app tighter, etc etc but all they care about are the exciting new features the next version will bring. The only exception to this is when a show stopper bug occurs, but those seem to be rare. There is a fine balancing act between software engineers and customers. Customers want it now and don't care much about the internals as long as it works. And software engineers want to create the best possible/elegant solution. At least this is how it is from my own experience as a programmer.

  • Re:It's just a tool (Score:5, Interesting)

    by Ronin Developer ( 67677 ) on Tuesday June 06, 2006 @11:19AM (#15480107)
    "If you want to create a straightforward GUI for a database, use Delphi."

    That's a rather limited view on a very powerful tool. But, your statement is accurate as your final sentence indicates.

    As a software engineer, I speak a variety of programming languages rather fluently. In the 90's, the choice in the business community was clear - C++ or Visual Basic. Then, a new tool came along and challenged that view - Delphi.

    I have been now been programming in Delphi as my primary language since version 1.0 was released. Delphi was not the name of the language - Delphi was and IDE coupled with their version of an O-O PASCAL. While the language syntax is based on PASCAL (hence structured and somewhat verbose), it provided a tremendous amount of power and reliability."Mission Critical" applications became possible because of Dephi's exception handling constructs. I wrote applications in D1-D3 that simply would not break (try that with VB) - Windows (3.1,95/98 were the limitations). It provided excellent database connectivity, exception handling, RTTI, an extensible IDE and, more importantly, an excellent component model that ultimately became the basis for Jave Beans. That same component model provided opportunities for many 3rd party vendors to become successful.

    Borland did have the right idea when they created Kylix for Linux - essentially Delphi for Linux. However, they blew the marking and pissed off the OSS developers. But, it is what it is. I would have loved to see them utilize GCC as the backend - oh well.

    What do I use Delphi for today? I create mission critical services for the public safety sector. They integrate our company's core product (also written in Delphi) with systems and devices utilized by law enforcement. Our clients, as a general rule, are Windows shops - hence we chose the best tool for that environment. That tool was Delphi combined with some of the powerful 3rd party tools out there (like advanced NT service frameworks, Oracle connectivity tools, and TCP/IP and middle-ware technologies).

    Delphi has evolved to the .Net environment as well (although I don't utilize that functionality). However, in an world where .NET is pervasive, being able to leverage code and components written in Delphi for .NET with out .NET tools is an good thing.

    Borland has had their uphill battles to fight - they weren't Microsoft and they irked the OSS/Linux community through bad marketing decisions. Too bad.

    Is Delphi the best language or tool out there? Probably not - but it is far more capable than most developers have given it credit for. And, I will miss it and the Borland influence when Borland finally sells off their IDE line.

    Well, that's my $0.02 worth.

    Cheers,

    RD

  • by Zaphod2016 ( 971897 ) on Tuesday June 06, 2006 @12:15PM (#15480578) Homepage

    It's a losing battle so I'll make this quick. PHP is:

    • ...probably *the* best known language on the web today.
    • ...essential for any web based OS project (wordpress, joombla, yadda yadda).
    • ...can be taught in the course of a few weekends to anyone willing to learn it.
    • ...is perfectly capable for 99% of low/medium cost web projects.
    • ...works just dandy with PostgreSQL; MySQL is an OPTION, not requirement.
    • ...can be implented in a logical, orderly way, designed to accomodate scalability and growth while offering (IMO) unparalled flexibility and compatibility with whatever else the web is doing.

    If PHP is the only language you know, use this article as an excuse to learn Perl or Python. If you already understand the basics of HTML/CSS and have taken a few "programming 101" classes somewhere, *good* open-source PHP projects are an excellent way to learn *good* programming; not just a "working script", but the whole shebang.

    And, to be fair, the "copy/pasters" are "copying/pasting" no matter which language it is.

  • by mrandre ( 530920 ) <[moc.yawym] [ta] [erdna]> on Tuesday June 06, 2006 @12:57PM (#15480939)
    In discussions such as this, there is a frequent meme "use the right tool for the job", which is supposed to be an equinimical, even-handed attempt at "let's not fight, children." I tend to think what it actually represents is "Don't tell me my language of choice isn't as good."

    Language preference is a personal thing, and the reactions of programmers, positive or negative tend to be emotional. I understand this, but do not support it. You may disagree with the author's assessment of the various LAMP aspects (I tend to find MySQL is easier for designing applications, and more tolerant of change.) If so, you say so. But pulling up choruses of "Use the right tool for the right job" doesn't work here. And they're *not* just tools. This is our work. If you were working on the Indy 500, you'd want the best of everything. The best tires, the best chasis, the best driver. The Best. Why should programming be any less prioritized?

    We're talking about LAMP, and LAMP means web. PHP is a web-app language. If the nature of PHP makes a programmer less productive, then it's not "just a tool." It's costing you and your business money.

    I don't see any reason one should feel equinimical about that. I like ruby, and if you said bad things about ruby, I would be bothered. But that's a terrible attitude to take toward technology, and an excellent path to stagnation. Criticisms of any technology need to be held up, so they can be considered and, one hopes, acted upon. If there are truly better alternatives to ruby, I want to know about them. What possible reason is there to use anything but the best?

    Now, one could suggest that this article substitutes detailed particulars for vague "I hate it" statements and "It's buggy" (In my experience, all software is buggy.)

    But for god's sake, they're not just tools. They are the life blood of our work. Show a little respect. ;-)
  • PostgreSQL could've been in with a chance given the right circumstances.

    PostgreSQL lost out because while MySQL was becoming popular, postgres was difficult to install, difficult to maintain, and even more poorly documented than MySQL. These days they're on about equal footing in these areas (MySQL documentation is still laid out dramatically better than postgres though - amusingly either one is better than SQL Server, whose documentation tells me to use tools that do not exist though I did a full install) but MySQL has the momentum.

    A lot of Open CMSes decided to use MySQL instead of initially writing a compatibility layer and targeting it. This is one thing that's stopped me from developing my own CMS, I'm too lazy to deal with the database abstraction and refuse to do it without abstraction. Since I am stuck with IIS/ASP/SQL Server and refuse to use VBscript, I would very much like to have a wholly different CMS written in Jscript. No such beast seems to exist, not that I blame anyone for not developing for IIS/ASP.

    For my own purposes, I host on linux and use whatever I feel like. Right now I have a bunch of content in drupal, but it will be trivial to pull out if I want to migrate later, since it's all just SQL. Huzzah!

  • by cskrat ( 921721 ) on Tuesday June 06, 2006 @02:50PM (#15481960)
    Some colleges are replacing BASIC with Python as the beginner's programming language.

    The workforce will have plenty of bad Python code-monkeys before you know it.
  • Re:unroll your joins (Score:3, Interesting)

    by BlueStraggler ( 765543 ) on Tuesday June 06, 2006 @02:55PM (#15482007)

    What's the point of having a relational database if all you do is use it as a flat storage with all the relations done in code?

    None, of course, but that's not what I was suggesting, was it? I was suggesting that when faced with queries that take minutes to resolve, you can often get orders of magnitude improvement by simplifying the query and moving some of the logic into the application.

    If you prefer, you can try to get orders of magnitude improvement by reindexing or refactoring your schema, but it's really the same thing in the end (programmers hand-optimizing the problem). Unless your problem can be shoehorned into a typical SQL scenario, the advantage to tackling at the application level is that you have much more algorithmic freedom in massaging the data. More importantly, your application actually knows what the data *is* and can implement shortcuts and abstractions that are much more difficult at the DB level, where your data is just a bunch of "records" in a very inflexible format.

    Simple example: say your data makes up a tree or a graph, and you need to walk the tree to determine the leaf nodes that can be reached from a particular branch. If the tree data spans different tables (say, branches, leaves, and join tables) then you can get some pretty nasty SQL queries if you try to do the work in the DB layer. Grabbing all relevant data with some simple queries, populating a tree object, and then letting the tree object tell us who our leaves are is probably going to be a lot faster, especially as the number of nodes increases.

  • by Anonymous Coward on Tuesday June 06, 2006 @05:19PM (#15483121)
    I agree with petermgreen.
    Take a look at FreePascal http://www.freepascal.org/ [freepascal.org]. It is multiplatform, and you can write console apps, GUI apps, daemons, drivers, CGI apps for the web, etc... Even an OS is based on freepascal.

If all else fails, lower your standards.

Working...