Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Why the Light Has Gone Out on LAMP

ScuttleMonkey posted more than 8 years ago | from the no-light-at-the-end-of-the-tunnel dept.

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."

cancel ×

443 comments

Sorry! There are no comments related to the filter you selected.

sleepytime (-1, Offtopic)

pintomp3 (882811) | more than 8 years ago | (#15478290)

because it's almost 6am and i need to get some sleepy. that's why.

Re:sleepytime (0, Troll)

MichaelSmith (789609) | more than 8 years ago | (#15478321)

Let me guess: you've been up all night hacking PHP and MySQL on linux?

Oh, PHP is by far not that painfull (2)

Svippy (876087) | more than 8 years ago | (#15478304)

I'd say that PHP is yet not as painfull as this article claims. Besides, it is way to early to predict that the "light has gone out on LAMP." What is to replace it... right now?

Re:Oh, PHP is by far not that painfull (0, Troll)

masklinn (823351) | more than 8 years ago | (#15478339)

Nothing, especially since LAMP really isn't restricted to PHP and MySQL (using a combination of Python or Ruby and PostgreSQL on lighttpd is usually considered a LAMP solution too). This article is merely fud and shameless self-promotion, and if that wasn't enough the wonderful admins running the website require that cookies are enabled (cookies? for reading a freaking blog article? oooh yeah)

Re:Oh, PHP is by far not that painfull (0, Offtopic)

Deorus (811828) | more than 8 years ago | (#15478442)

The only thing that irritates me on those languages is them being weakly typed. When I write a Perl module, for example, I like to write it in such a way that if the user makes a mistake, the error is reported in his source, not in my module (to make things easier for him to debug), and sometimes this is hard to achieve because there are way too much run-time checks to be performed that wouldn't be needed in a strongly typed language. Regular expressions help a lot, but when you have to make sure that the scalar you are receiving is not an undefined value or a reference before verifying it against the regular expression, things get repetitive and sometimes complex. PHP makes it even worse to me because it forces me to deal with arrays and objects which share the same namespace as scalar values and aren't treated in the same consistent way as lists are in Perl.

Re:Oh, PHP is by far not that painful (1)

ajs318 (655362) | more than 8 years ago | (#15478599)

At least PHP and Perl have the decency to use separate operators for adding numbers and concatenating strings. When one evaluates "2" + 2, 2 + "2" or even "2" + "2" in one of these languages, the answer invariably comes out as 4. Should one wish to concatenate them together as strings, one would write "2" . "2" which would give "22".

In a language where numbers and strings are distinguished to the extent that you must call a function to convert one to the other, it's less unacceptable to recycle operators in this fashion.

Anyway, the programming language is a generality-of-purpose abstraction layer in its own right. You should always begin by writing a program to do one thing well. If you need to do something similar but subtly different at a later date, you can modify it then. As long as you commented it properly then you won't have any problems, and if you do have any problems then think of them as a lesson in commenting. It's usually better to write a program that is not general-purpose enough {but can be improved on} than a program that is too general-purpose.

It's just a tool (5, Insightful)

cerberusss (660701) | more than 8 years ago | (#15478318)

It's just a tool, for crying out loud. This article says something about PHP, but we have electronic engineers here using Perl. You want to see their scripts? The code looks like baby poo. But who cares? It's just a tool. And it works. Perl suddenly sucks then?

Of course, the "wizards" will recognize a tool its deficiencies and start using something more appropriate.

Re:It's just a tool (5, Insightful)

mwvdlee (775178) | more than 8 years ago | (#15478403)

I totally agree; those are just tools, and one should use them for the purpose for which they were created.

If you want high-performance access to single DB tables (which many webapps do), use MySQL.
If you want to quickly put together a site because your purpose isn't actually maintaining the site but putting up some content, use PHP.
If all you want to do is create a simple program to do a one-off task, use BASIC.
If you want to create a straightforward GUI for a database, use Delphi.

If you want to do something different, use a different tool. Don't bitch about a screwdriver being a bad tool for painting the walls.

Re:It's just a tool (2, Insightful)

billcopc (196330) | more than 8 years ago | (#15478609)

You lost all credibility in my eyes with that last zinger about Delphi. Delphi six years ago was just another VB, yes. Delphi today is downright scary in its breadth and performance. I haven't written a Delphi app in over a year now but I still swear by it. C++ needs to be taken down a notch or two.. sure it works, as long as you buy all the utilities to fix it :P BoundsChecker, Lint, Purify.. one isn't enough, usually. It's like MS Windows - it works once you throw in Ad-Aware, Spybot, WinRar etc.

I guess I live in a world where time = money, thus a faster development cycle with Delphi means I can get paid and move on to the next project in record time.

In the web world, it's like PHP vs Java. PHP is the slender, rebellious RAD tool, while Java is the fat, tempermental, old-fogey weapon of choice for people with too much time and money (that means Money^2) to spend. I'm not saying to write every app in PHP, that would be painful, but keep that Java away from the web server! It used to be that we'd write the complex logic in whatever native language we preferred, then simply used Perl/PHP as the glue - the presentation layer. What's so wrong with that practice ? It milked a whole lot more performance out of old server than today's big iron seems to handle.

Re:It's just a tool (5, Insightful)

mwvdlee (775178) | more than 8 years ago | (#15478696)

Considering the common wisdom that you'll spend far more time maintaining than developing, a fast development cycle is meaningless.

Re:It's just a tool (4, Funny)

martinultima (832468) | more than 8 years ago | (#15478856)

Hey, it only took me about ten months of practice before I could paint without scratching up the walls – I say a screwdriver's just fine!

Re:It's just a tool (0)

Anonymous Coward | more than 8 years ago | (#15478514)

we have electronic engineers here using Perl. You want to see their scripts? The code looks like baby poo. But who cares? It's just a tool.
Because they are "electronics" engineer - presumably their main thing is electronics, not software.

Perl suddenly sucks then?
Not suddenly. It sucked for a long time now, and the sentiment is widely shared for good reasons (even by some dedicated Perl users).

Re:It's just a tool (1)

obender (546976) | more than 8 years ago | (#15478545)

we have electronic engineers here using Perl. You want to see their scripts? The code looks like baby poo
Don't worry, once they grow up a bit they'll be able to make one liners.

Elements of Style (-1, Troll)

Anonymous Coward | more than 8 years ago | (#15478327)

Also, because it's so easy to whip out a quick PHP webapp, many, if not most, PHP programmers fail to delve very deep into the realm of programming, preferring to sit at the edge and reap the benefits without the work (I'm not talking about coding work, rather the work of understanding your field).

Is your field writing? If so, you may wish to consider delving into Strunk and White [wikipedia.org] . (See Rule 5 [bartleby.com] and supplemental Rule 28 [vassar.edu] regarding the proper usage of commas and parentheses.)

See? We can all be snooty know-it-alls.

Unfinished rant (2, Interesting)

Tx (96709) | more than 8 years ago | (#15478337)

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 :(.

Re:Unfinished rant (1, Insightful)

mdfst13 (664665) | more than 8 years ago | (#15478366)

"So what was the third item he was going to criticise, Apache or Linux"

He says that he doesn't like Apache either. Just not as much as he dislikes PHP/MySQL.

Re:Unfinished rant (0, Redundant)

Enderandrew (866215) | more than 8 years ago | (#15478420)

Odd that he finds PHP and SQL bug-ridden, but Linux isn't.

I'm a fan of Linux (both the kernel and the OS built upon it) but I would never call Linux on the whole stable. The kernel is getting progressively less stable these days, and many distros are pushing for bleeding edge over stability. The Linux scene is not the bastion of stability it once was. And considering how stable PHP and SQL are in reality, Linux is less stable in comparison.

Re:Unfinished rant (3, Insightful)

ubernostrum (219442) | more than 8 years ago | (#15478694)

Odd that he finds PHP and SQL bug-ridden, but Linux isn't.

  • He's not saying SQL in general is "bug-ridden"; he's very specifically criticizing MySQL and recommending people switch to SQLite or PostgreSQL depending on their needs.
  • Actually he's not saying that the tools themselves are "bug-ridden"; he's saying that PHP and MySQL encourage novices to learn the some bad practices.

Today's friendly fact check brought to you by the letter "K".

Re:Unfinished rant (1)

Enderandrew (866215) | more than 8 years ago | (#15478715)

You are correct that I should have said MySQL instead of SQL. However, he does make it clear that he believes MySQL to be bug-ridden.

"MySQL and PHP, on the other hand, really raise my ire. Both of them have two major problems:

      1. Bug ridden (by this I am including both misfeatures as well as actual bugs)."

His evidence is that sites are exploited. Could it be that many of these sites aren't properly configured, and also have old versions?

Re:Unfinished rant (2, Insightful)

Haeleth (414428) | more than 8 years ago | (#15478524)

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.

The latter, I suspect. The original Pascal had some mind-numbingly dumb "features", like fixed-length strings.

No, I don't mean just fixed-length buffers like bad C. I mean fixed-length strings. If you wanted to store a five-character string in a variable declared as a 10-character string, you had to pad it out manually with spaces.

Delphi's actually a very nice language. If they hadn't marketed it as a Pascal dialect, it would probably have done much better. Calling it Pascal in a world full of Pascal-haters was a bit like opening a French bistro called "L'homme efféminé" in Texas the day after the invasion of Iraq. That is, not a great business move.

Bad programmers are still bad programmers! (5, Insightful)

drspliff (652992) | more than 8 years ago | (#15478342)

Ahah, to an extent I agree with this.

On a day to day basis I'm dealing with systems written by other people, which are held together by duct tape, spit and good-will. PHP is a productive language, just as to a C/C++ developer Python/Ruby etc. is also productive and can lead to very good results.

The problem is when you get pseudo-programmers writing code which uses 'magic_quotes_gpc' as a safety net among other things, and come PHP 6 the 'shit will hit the fan' when everybody realises that with this automatic escaping functionality isn't there any more and their web applications are open for the world to abuse.

I think MySQL should be kept out of the question as it's more coincidence that it ended up being a PHP bed fellow, when PostgreSQL could've been in with a chance given the right circumstances.

At the end of the day bad programmers will write bad code, it's just easy to learn languages (such as Basic and PHP) means they can write more bad code a lot quicker with (arguably) more negative impact when it folds in on it'self.

Just my $0.02.

Re:Bad programmers are still bad programmers! (5, Insightful)

SolitaryMan (538416) | more than 8 years ago | (#15478468)

At the end of the day bad programmers will write bad code, it's just easy to learn languages (such as Basic and PHP) means they can write more bad code a lot quicker with (arguably) more negative impact when it folds in on it'self.
The real problem is that those easy-to-learn-but-crappy languages got expanded. If they were still small and allowed bad programmers (read: non-programmer) to write some simple apps, I wouldn't mind and I would've hailed their developers. But now these languages are getting bigger and bigger, causing bigger and bigger problems.

Re:Bad programmers are still bad programmers! (2, Informative)

jacksonj04 (800021) | more than 8 years ago | (#15478501)

One thing you can do is set error reporting to full in a .htaccess and then take a look at your site. It will bitch about calling strange variables, missing quotes, assumptions you have made, reliance on bad features and quite a bit more.

Re:Bad programmers are still bad programmers! (1)

indifferent children (842621) | more than 8 years ago | (#15478660)

And break the fingers of those idiots (novice and grizzled alike, unforunately) who start every PHP script with error_reporting(0);

Re:Bad programmers are still bad programmers! (1)

Reverend528 (585549) | more than 8 years ago | (#15478515)

PostgreSQL could've been in with a chance given the right circumstances.

That's unlikely, since LAPP is such a crappy acronym.

Re:Bad programmers are still bad programmers! (2, Funny)

indifferent children (842621) | more than 8 years ago | (#15478670)

You've never had a LAPP DANCE.

Re:Bad programmers are still bad programmers! (2, Funny)

Bastard of Subhumani (827601) | more than 8 years ago | (#15478675)

it'self.

Perhaps someone should invent magic_apostrophe_gpc.

Re:Bad programmers are still bad programmers! (5, Insightful)

/ASCII (86998) | more than 8 years ago | (#15478690)

Exactly. The main problem is that incompetent programmers are producing horrible code. Some of the choices made by PHP (magic quotes, no database abstraction, register globals) make it too easy to take the wrong shortcuts, meaning that to some _small_ degree, PHP does encourage bad coding practices. But belive me, if all the PHP coders of the world where using Rails, the incompetent programmers would quickly find various ways to break and abuse Ruby as well. The first thing that would happen is that they would _completely_ ignore the MVC-model. They would _only_ put code into the rhtml template files and ignore the rest of the tree. In the end, it would only be a small improvement over PHP.

PHP is a rather boring C-like language, with some semi-serious issues w.r.t. library consistency (compare the call signatures of the various sleep functions), backwards compatibility (PHP3 uses [] for string access, PHP5 uses {}, PHP6 will use [] again...) and possibilities to shoot yourself in the foot (Magic quotes, safe mode, etc.). It is by no means perfect, but I really don't think comparing it to BASIC is fair. Not only does PHP force you to use functions instead of gotos (thogh a special goto-like syntax will probably be added in PHP6), PHP also has a mostly sane Object model, complete with a sane reflection interface, inheritance and everything.

And don't even get me started on MySQL. People talk about ACID, transactions and other high level concepts, but real-world PHP-programmers don't even use joins or subselects. Look at the big, famous open source PHP projects like Joomla and various Forum software. You'll find that the coders generally do multiple selects instead of a single join. They even write loops where they do two or three selects per lap in the loop where a single joined query would be enough. This isn't mysql's fault, mysql has supported joins for a s long as I've used it. This is purely a case of incompetent coders.

So in the end, the tools that are most popular get the blame for the fact that people don't know how to use them. *meh*

Bah! (5, Insightful)

greg1104 (461138) | more than 8 years ago | (#15478348)

If you're ruined simply by programming in BASIC, you never were a potential wizard.

Re:Bah! (1)

minus_273 (174041) | more than 8 years ago | (#15478799)

obligatory wizard quote, I love GW BASIC! its sooo baaad

Re:Bah! (1)

moro_666 (414422) | more than 8 years ago | (#15478826)

i second that.

basic was a great starting point 16 years ago. and i don't seem to be ruined by it. sure integration into pascal was an effort, but the move from there onwards was just a drive on a highway. right now i can write c, python, java, perl, php and am a novice in c++ and ruby. i've laid my hands on anything from writing cd's over raw atapi commands up to gui libraries and annoying javascript.

anyone claiming that basic ruins just about anyone out there, doesn't have any kind of proof to back it up.

lamp is a whole different issue, lamp as a platform is pretty ok for short termed solutions, the only bad thing about is that the fellow users and examples on the web encourage bad coding style. but this is the fault of the community's lazyness and not a fault of the platform. very bad code can be written in java and python as well, but there's nobody goofing on that front that loud.

lately however php and mysql both have gotten into the intrigues of backward incompatibility, which is not good for the whole image of the platform. that's why i'm looking more forward into python and ruby, at least they are not breaking the oop model out of the blue, and at the same time they encourage a nice oop model.

What he is suggesting (1, Insightful)

matt me (850665) | more than 8 years ago | (#15478355)

In LAMP
- Don't use MySQL. It's as dumb as it's name. Use PostgreSQL if you need a real database, use sqlite if you don't.
- Don't use PHP, it's sloppy. Use python or perl.

The MySQL/PHP combination has not provne itself. As stated it's left thousands of sites vulnerable to SQL-injection hacks and it's certainly not as durable and reliable as other combinations. Let's look at some of the most popular sites online, and how they cope with ridiculous quantities of traffic
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 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

Re:What he is suggesting (5, Insightful)

drspliff (652992) | more than 8 years ago | (#15478411)

PHP is still relatively immature compared to Perl and Python, with (in my view) it only really becoming suitable for large commercial projects a year or two ago.

Your examples:
- Google: They use whatever language they want, they've been around since ~1998 when PHP was still a little baby.

- bbc.co.uk - As far as I remember we're looking at progressive development from ~1995, around the time when PHP was only a sparkle in the postmans eye, they've got some very skilled Perl guys and smart sysadmins with years of work already in Perl.

- Slashdot - ~1997 and started out as slow as molasses regular Perl CGI, anybody working on the same website for ~9 years in any language should be able to make it run like a dream.

- Wikipedia ~2001, with initially being implemented in PHP in ~2002 and clustered in ~2003. Running large websites is damn hard, and your exaggeration of the problems is overrated.

When you run into large amounts of traffic the language becomes a small part of the equation, Microsoft.com was running on VBScript (and C++) for several years, most of Yahoo is running on PHP...

Yuch, my mouth tastes like flame bait.

Re:What he is suggesting (0)

Anonymous Coward | more than 8 years ago | (#15478414)

Google search uses C++, that certainly could cope with BBC trafic. Slashdot also uses MySQL, but of course you "forgot" that... There is basicly nothing else like Wikipedia out there -- very big, very dynamic and assloads of trafic (other sites have two of those at most), they learn how to run it as they move along.

Re:What he is suggesting (1)

Tim C (15259) | more than 8 years ago | (#15478432)

bbc.co.uk - a GIANT site supplied with continuous news and audio. Runs on perl. Nothing else could cope.

Do you have anything to back up that claim of "nothing else could cope", or is it simply baseless speculation?

Re:What he is suggesting (1)

Haeleth (414428) | more than 8 years ago | (#15478487)

Do you have anything to back up that claim of "nothing else could cope", or is it simply baseless speculation?

I believe the technical term is "fanaticism". Also known as "BS".

Re:What he is suggesting (1)

jkrise (535370) | more than 8 years ago | (#15478600)

bbc.co.uk - a GIANT site supplied with continuous news and audio. Runs on perl. Nothing else could cope.

Do you have anything to back up that claim of "nothing else could cope", or is it simply baseless speculation?


I contribute regularly to several message boards on the BBC. Things were okay when the site used to run on perl. Nowadays, you tend to get frequent messages like "DNA thread failure" "Server too busy Error 5000" "Too many requests" etc. I understand the perl code was replaced with some MS code... which resulted in a performance degrade.

Re:What he is suggesting (1)

Enderandrew (866215) | more than 8 years ago | (#15478438)

I'd bet money that Google, BBC and Slashdot all have vastly superior hardware to Wikipedia.

I've heard many a DBA-type praise PostgreSQL up and down. However, for most end users, they aren't going to run something that requires the load of Slashdot or Google. SQL scales well, is easy to install/administer, and learning MySQL is fairly interoperable with learning MSSQL. I use MySQL on all my webpages, because I have to use MSSQL at work. I'm not database guru, but I tell you I've never had any complaints with SQL.

If you can point me to actual real-world comparisons of the same content running through the two databases, and why PostgreSQL is better, I'd find that info useful. However, simply stating that Slashdot doesn't use SQL doesn't really explain why SQL is bad.

Re:What he is suggesting (1)

Khazunga (176423) | more than 8 years ago | (#15478474)

If you can point me to actual real-world comparisons of the same content running through the two databases, and why PostgreSQL is better, I'd find that info useful. However, simply stating that Slashdot doesn't use SQL doesn't really explain why SQL is bad.

You can't imagine how your text sounds ridiculous by referring to MS SQL Server as "SQL". A comparison of the two databases won't ever show that SQL is bad because SQL is a language and because it is used by both databases.

Responding to your comment: Microsoft is the one prohibiting their licensees from benchmarking their database against others. They must have something to hide.

Re:What he is suggesting (1)

Enderandrew (866215) | more than 8 years ago | (#15478607)

Actually I repeatedly said MySQL. I only use MSSQL at work. You can use MySQL in a commercial/enterprise environment. I understand the difference.

Re:What he is suggesting (1)

shani (1674) | more than 8 years ago | (#15478483)

I've heard many a DBA-type praise PostgreSQL up and down. However, for most end users, they aren't going to run something that requires the load of Slashdot or Google.

Slashdot runs MySQL:

http://www.mysql.com/news-and-events/success-stori es/slashdot.html [mysql.com]

Most PostgreSQL advocacy I've heard ends up being an anti-MySQL rant. It must be frustrating to think you have better technology and find people using the competition's stuff anyway. I like MySQL though, and the complaints sound a bit shrill to me.

Re:What he is suggesting (1)

Enderandrew (866215) | more than 8 years ago | (#15478631)

Thanks. What I'll likely do is a bit of reading up on PostgreSQL on my own. Most people I ask are likely to be biased anyway.

Re:What he is suggesting (2, Insightful)

mwvdlee (775178) | more than 8 years ago | (#15478616)

To be fair, TFA explicitely mentions referential integrity, transactions and subselects. To the best of my knowledge only transactions are starting to get into MySQL, and all three features are indeed pretty important to DB's.

I use MySQL myself too, since it's available, free and fast, but I have also ran into the lack of referential integrity and subselects. I've not had to deal with transactions in MySQL yet, since I only use it for CMS's, but I've required transactions at work (using DB2), so I understand the need for it.

As mentioned elsewhere; these are tools, use them where appropriate and use different tools where not.

Re:What he is suggesting (2)

Enderandrew (866215) | more than 8 years ago | (#15478664)

I'm not intentionally being obtuse, but I'm no expert in the field. Given that SQL is powering rather large enterprise-level apps on a daily basis, why are these features so valuable considering that SQL doesn't have them?

And honestly, this is more my opinion, but the LAMP stack is probably underutilized by most people. They're happy to get PHPNuke or PHPBB up and running for their site. If it fits the bill for 90% of the users, and power users have alternatives that they're happier with (be it Perl and PostgreSQL) then does LAMP really need to change?

I still feel that calling LAMP the equivalent of BASIC and insinuating that it ruins would be developers is an asinine statement.

Re:What he is suggesting (1, Informative)

mwvdlee (775178) | more than 8 years ago | (#15478753)

Actually, subselects are part of the SQL language, MySQL just doesn't implement that part of the standard. Subselects allow you to use the results of a query in the WHERE/INSERT/DELETE/etc. clause of another.

Transactions basically make sure that multiple, individual, changes in a database are either committed "all-at-once" or "none-at-all". Consider a site which requires 5 steps to registration, if step 3 fails without transaction support, some tables may contain incomplete data. AFAIK, the latest version of MySQL (which isn't typically the version installed on webhosts) supports transactions.

Referential integrity means that if a column in table A points to a column in table B, the record in table B must exist prior to a record in table A referring to it. This features is also used to ensure integrity of the database in other scenarios. In MySQL, you'll have to manually ensure all cross-references are valid.

Re:What he is suggesting (1)

famebait (450028) | more than 8 years ago | (#15478517)

2 - bbc.co.uk - a GIANT site supplied with continuous news and audio. Runs on perl.

Well god for them they're not using PHP, because I agree that it is not very well suited to large apps.
but...

Nothing else could cope.

What the hell is that supposed to mean?

Misguided (2, Informative)

porkThreeWays (895269) | more than 8 years ago | (#15478560)

You are completely misguided in your claims about wikipedia. Wikipedia's downtimes have little/nothing to do with their choice of programming languages. Wikipedia is run soley on donations. They don't have nearly the money of the bbc. At the same time, they've experienced incredible growth in a short period of time. Their bandwidth and hardware has not been able to keep up.

If you need some prospective; about 3/4th's of my google searches for a specific topic (i.e. "stegosaurus" and not "Error no. 43245") have wikipedia in the top 10. That's pretty significant traffic wise...

Re:What he is suggesting (1)

Lazy Jones (8403) | more than 8 years ago | (#15478623)

3 - Slashdot. Copes with the traffic that destroys anything it links to. Perl again. Rarely down.
And lastly 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

To be fair: Slashdot used to be down quite often (though mostly due to tinkering I guess) and it does use MySQL...

Re:What he is suggesting (1)

Beuno (740018) | more than 8 years ago | (#15478797)

Well, Digg runs on PHP + MySQL and don't seem to me exploding all over the place...

Re:What he is suggesting (1)

ceejayoz (567949) | more than 8 years ago | (#15478811)

Yahoo! uses it: http://www.internetnews.com/dev-news/article.php/1 491221 [internetnews.com]

They're using WordPress for their corp blogs nowadays, too, like http://yuiblog.com/ [yuiblog.com] .

Google uses PHP for their store, where they sell their Google Minis etc.: http://www.google-store.com/appliance/product_info .php?products_id=1 [google-store.com]

As stated it's^H^H^H^H BAD PROGRAMMERS left thousands of sites vulnerable to SQL-injection hacks and it's certainly not as durable and reliable as other combinations.

And comparing a non-profit site like Wikipedia, which has significantly limited resources, to a hundred-billion-plus company like Google is so absurd it doesn't even deserve a response.

Lights gone out ? Where ? (2, Interesting)

unity100 (970058) | more than 8 years ago | (#15478360)

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.

...it ruins thousands of potential wizards a year. (5, Funny)

D4C5CE (578304) | more than 8 years ago | (#15478363)

C, on the other other hand, automagically infuses them with impeccable programming style.

Of course, as we all know... ;-)

Re:...it ruins thousands of potential wizards a ye (1)

indifferent children (842621) | more than 8 years ago | (#15478689)

C, on the other other hand, automagically infuses them with impeccable programming style.

Learning C teaches them that if they don't have the patience and brains to be an excellent developer, then they should find a career that will give them long term satisfaction that doesn't involve an entire team of co-workers covering for their mistakes.

Re:...it ruins thousands of potential wizards a ye (4, Funny)

aled (228417) | more than 8 years ago | (#15478824)

Learning C teaches them that if they don't have the patience and brains to be an excellent developer, then they should find a career that will give them long term satisfaction that doesn't involve an entire team of co-workers covering for their mistakes

No, it doesn't [ioccc.org] .

Re:...it ruins thousands of potential wizards a ye (1)

Sepper (524857) | more than 8 years ago | (#15478859)

... instead of writing, in Basic, a 64000 lines app that still runs today... and involves having an in-house team for maintenance... (that along with 10000 lines Cobol scripts that we don't have doc for...)

i only agree with PHP (Perl) (1)

cies (318343) | more than 8 years ago | (#15478369)

Linux (the 'L' in the acronym) is still cool isn't it? I don't see him argue against Linux, and he better not be. (okay it can easily be replace by another kernel like FreeBSD)

Apache is still hot i think, especially for feature richness and privillige systems it rocks. For a small webserver i'd prefer http://lighttpd.net/ [lighttpd.net] , http://mongrel.rubyforge.org/ [rubyforge.org] or http://twistedmatrix.com/trac/ [twistedmatrix.com] . But yeah, the 'A' in LAMP is still okay (not that the author argues this, heay _he_ claims LAMP == BASIC).

MySQL has some very nice features (mainly clustering), that leaves other opensource dbs far behind. I personally prefer to use a db as 'fast yet dumb storage', that is my personal preference, and that makes MySQL a perfect candidate.

But the 'P' as in PHP, or according to some Perl aswell. Yeah i deffinitly think these to languages have been superceded by far. I concider Ruby, PHP, and Java superior choises in an opensource environment.

So its that 'P' in LAMP that, IMHO, is the BASIC of today... Hard to maintain, hard to write well. Yups, I'd say: DROP IT.

Cies Breijs.

Re:i only agree with PHP (Perl) (1)

masklinn (823351) | more than 8 years ago | (#15478478)

But the 'P' as in PHP, or according to some Perl aswell.

P is usually taken as "scriPting language" or "Language starting with P" such as Perl, Python or Ruby.

Re:i only agree with PHP (Perl) (1)

dzfoo (772245) | more than 8 years ago | (#15478494)

I thought the P was for vbscriPt...

          -dZ.

Re:i only agree with PHP (Perl) (1)

Bastard of Subhumani (827601) | more than 8 years ago | (#15478813)

P is usually taken as "scriPting language"
I call Pullshit.

What's up with the BASIC knocking? (2, Insightful)

Threni (635302) | more than 8 years ago | (#15478370)

The other guy we had some fuckwit here saying "I don't like Basic and would like to recommend that we, as an organisation, don't use it, only I'm utterly ignorant about anything vaguely technical so can someone with an irrational grudge against software products per se please provide a few irrelevant criticisms", and now this. Basic, like any other language, is a tool - a means to an end. Sometimes it's the best one, and no amount of "religious" wailing and gnashing of teeth is going to change that. Get over yourself.

Re:What's up with the BASIC knocking? (1)

Arker (91948) | more than 8 years ago | (#15478648)

When, exactly, would BASIC be the best tool for a particular job?

Seriously?

The only time I can think of is if you just can't find anyone that knows how to program...

Re:What's up with the BASIC knocking? (1)

KayEss (976633) | more than 8 years ago | (#15478819)

There's always a better tool to use unless there are no other tools available. Old systems which only have BASIC are probably the only place these days to be using it. Assembly on these systems probably isn't a better choice though.

Re:What's up with the BASIC knocking? (1)

indifferent children (842621) | more than 8 years ago | (#15478710)

Yes programming languages are tools. That cheap potmetal wrench at the flea market is also a tool. The needle-nosed pliers at the dollar store (whose working surfaces don't quite mesh) are a tool. We are discussing the merits of tools here. Some tools suck. If you don't want to hear from craftsmen who care about their software tools, Slashdot is probably not the site for you.

BASIC? (4, Insightful)

Phroggy (441) | more than 8 years ago | (#15478394)

Admittedly PHP sucks [tnx.nl] , but isn't comparing it to BASIC a little harsh?

Sure, it's easy to write crap code in PHP if you don't know what you're doing. It's considerably harder to write crap code (that actually works) in C if you don't know what you're doing. So everyone should use C, so people who don't know what they're doing can't write code? I don't think so.

If you do know what you're doing, you can mostly use good design and practices in PHP - not as well as other languages like Perl (and I assume Ruby and Python), but a hell of a lot better than BASIC which, if I remember correctly, doesn't support local variables, short-circuit evaluation [wikipedia.org] , passing arguments to subroutines and returning values, and plenty of other things I can't think of at the moment - let alone OOP. PHP at least tries. On top of that, languages like PHP have functionality built-in or readily available to deal with things like XML, databases and network I/O, so you don't have to write all of that code yourself.

I'm thinking anyone who compares PHP to BASIC either doesn't know BASIC, or doesn't know PHP.

Re:BASIC? (1)

mauddib~ (126018) | more than 8 years ago | (#15478556)

PHP at least tries. (to do OOP).

Here exactly lies the problem: you either do, or you don't. Trying is not good enough. I've used PHP4/5 several times in the past and I was continually baffled by the way PHP (mis)handles OOP (like constructor overloading or reflection). It is as if the developers of PHP said at one point: 'hey, lets add OOP since that is a really good programming paradigma', but forgot that the language at first was conceived (not designed) to be iterative.

This not only shows in the sloppy work that has been done on creating a working syntax and context checker, but it also shows in the library. As far as I can see it is partially OO and partially procedural, its flat, it doesn't really create any abstractions. Besides that, I feel that a weakly typed language and OO structures do not go well hand in hand.

Re:BASIC? (0)

Anonymous Coward | more than 8 years ago | (#15478598)

REM >counterexample
REM By Anonymous Coward 2006.

PRINT FNsamplebasicfunction(40)
END

DEF FNsamplebasicfunction(i%)
LOCAL j%,t%
t% = 0
FOR j% = 0 TO i%
IF (j% MOD 2) = 0 THEN
  IF (j% MOD 3) = 1 THEN
    PRINT "Hello World #"+j%
    t%+=1
  ENDIF
ENDIF
NEXT
=t%

If nothing else... (1)

Enderandrew (866215) | more than 8 years ago | (#15478401)

Anyone recall this?

http://it.slashdot.org/article.pl?sid=06/03/07/133 8223&from=rss [slashdot.org]

Are you more concerned about the methodology of your webserver, or rock solid stability?

Apache is portable, scalable and stable. When BASIC came about, much better programming languages existed. BASIC was in fact the wrong approach in many ways. It ruined the way programmers thought. It was weak and cumbersome. It was also painfully straightforward and not in the least bit modular (not until QBasic at the very least).

However, Apache is currently the best product on the market. If you don't like the methodology, then write something better. Until then, I'm quite happy with LAMP.

Everybody's WIMP (1, Funny)

mobby_6kl (668092) | more than 8 years ago | (#15478407)

Because everybody's using WIMP:

Windows/ISS/MS-SQL/PHP

Re:Everybody's WIMP (1)

dzfoo (772245) | more than 8 years ago | (#15478522)

I think its supposed to be:

Windoes IIS MS-SQL VBScriPT (or perhaps C-SharP)

WISA? (1)

ggeens (53767) | more than 8 years ago | (#15478721)

Windows, IIS, SQL Server, ASP.

And if you rename all your pages to ".aspx", you may call it a ".NET deployment".

The P stands for Perl (1)

Anonymous Coward | more than 8 years ago | (#15478413)

... and later got revised to Perl/Python/PHP.

And while Perl isn't sexy any more for the web, it's still doing well enough that supply of Perl coders can't keep up with demand, and it's almost a case of dot-com salaries all over again.

Of course, the real problem is that even when you are offering big money to people barely out of university, you _still_ can't find 20 Perl people when you need them. And that's a biggest risk of Perl's unsexyness.

Oh, come on... (1)

ABoerma (941672) | more than 8 years ago | (#15478425)

"...writing anything longer [than 10-20 lines] is (a) very painful, and (b) encourages bad habits that will make it harder to use more powerful languages well..."

a) So? If you don't like coding long programs in PHP, don't friggin' do it.
b) (I'm going to assume by powerful languages, OP means C, C++ or Java.) PHP has a C-like syntax, typecasting, the ability to declare functions, and doesn't work when you do stuff the wrong way. I can't see where it could lead to bad habits.

This is silly (4, Insightful)

DarkHelmet (120004) | more than 8 years ago | (#15478428)

Of all the reasons he lists PHP for being a bad idea, he lists that "code" is mixed with markup. So what, ASP does this too. It's even possible to do this in Perl. Why not attack PHP for some of the things that make it really annoying.

  1. Until PHP 4.2.0, REGISTER_GLOBALS was set to ON, meaning that variables from a GET, POST or COOKIE are automatically defined as variables. Insert rules about how globals are evil here.
  2. Classes in PHP4 are horribly broken. They don't have destructors, for instance. PHP5 is better, but the install base of 5 is so low that writing software means having to appeal to PHP4 and 5. What's PHP4's general solution to not having a destructor? Register_shutdown_function(). Ew.
  3. Using XML / XSL is a great way to use a templating language within PHP. However, the libraries between PHP4 and PHP5 are entirely different, so you have to write a wrapper if you want your PHP code working on PHP4 and PHP5. Or... install an unsupported PECL module. Smarty? No thanks.
  4. On most setups I've seen, MAGIC_QUOTES are turned on. This means if you're writing something for wide use, you'll have to use stripslashes() to get them out of GET or POST. Even worse, some boxes have MAGIC_QUOTES_RUNTIME on, so you'll have to use stripslashes on anything coming back from a database.
  5. Safe mode is one of the most annoying things to work with. I see sysadmins use it as a horrible band-aid for shared hosting (what the hell ever happened to apache and the perchild MPM?). Open_basedir is annoying too.
  6. Try, catch, and throw are PHP5 only, meaning that error handling ends up being done by something stupid like set_error_handler().
  7. Namespaces, namespaces, namespaces!

I understand that the language is getting better with PHP5 and PHP6, but nobody's jumping on board. The majority of LAMP machines out there are running Apache 1 and PHP4 instead of Apache2 and PHP5. At least MySQL 3.23 is finally going out of style and 4.0 is becoming commonplace. But look what's out now: MySQL 5.

I really think PHP is starting to majorly stagnate and fragment. So much so, that given a few years, I can imagine something like Python or Ruby taking away some serious mindshare given a few killer apps using the language.

Re:This is silly (1)

Sepodati (746220) | more than 8 years ago | (#15478576)

1. Register_globals are not evil. It just made it easier for idiot programmers to write insecure code. Those idiots can write the same insecure code when register_globals is disabled. You can write secure scripts independent of the register_globals setting by initializing your variables and sanitizing user input.

4. True on the first part, but you can (and should!) use magic_quotes_runtime(0) within your script to disable runtime magic quotes regardless of the setting.

Certainly have good points with the rest of the comments, though.

---John Holmes...

Re:This is silly (1)

Toba82 (871257) | more than 8 years ago | (#15478577)

Maybe that's the case if you don't care enough to run your own server. But at your own admission, most of your arguments are utter bollocks if you use the most recent version. Isn't the first thing OSS developers ask when you mention a problem "Are you running the most recent stable version?"

You can use old versions of software and they aren't good! Eating food that has been in my fridge for 3 years makes my tummy hurt! Walking in dark alleys in the Bronx got me mugged!

Re:This is silly (1)

porkThreeWays (895269) | more than 8 years ago | (#15478640)

I agree and disagree on a few points. REGISTER_GLOBALS was a sloppy idea that should have never happened. I also think that code should be able to be mixed with markup. I wrote a webapp 7 years ago in perl just using the print function for output. It wasn't fun. It was way more complex than it should have beeen, even with the html templating system I wrote.

That aside... magic quotes are VERY important. I hated them when I first started, but the web would be a shittier place without them. Google for login.asp and try to put some chars like '"; into the login box. I'd say at least 15% (probably way more, that's very consertive) will fail. Most will be vulnerable to sql injection. It doesn't make up for bad programming, but bad programmers are going to exist regardless. At least the PHP folks are practical and understand this.

No cookies, no access? Right. (1)

dzfoo (772245) | more than 8 years ago | (#15478445)

The site forces me to swallow its cookies in order to read it. I guess it really didn't want me to visit. Oh well.

      -dZ.

Repost of the Article (1)

Enderandrew (866215) | more than 8 years ago | (#15478470)

Open source software has fought a long battle to get where it is today, and at least 3/4 of the so-called LAMP (Linux, Apache, MySQL, PHP) stack are under vigorous attack by many, myself included. Why?
--

I can't speak for everyone, or for that matter, anyone but myself, but I'm good at doing that so here goes.

I'm quite opposed to using MySQL and PHP, and I'm none too fond of Apache. Anyone who knows me or happens into a conversation with me about development quickly learns of my distaste for these particular projects. To be fair, Apache is the least problematic of the three and if there were no alternatives, I'd use it without a lot of complaint.

MySQL and PHP, on the other hand, really raise my ire. Both of them have two major problems:

      1. Bug ridden (by this I am including both misfeatures as well as actual bugs).
      2. They encourage bad habits.

I'll start with MySQL. I learned databases on MySQL and used it for several years. Then I discovered PostgreSQL and realized that in fact, I'd learned nothing of databases. For years the MySQL developers were quite vocal that things like referential integrity, transactions, subselects, etc were little more than baggage that could be done better another way. They were after speed, pure and simple. Fair enough, in some respect, since the job MySQL was originally developed for didn't require any of those things. The problem is that a whole generation of database programmers believed them, despite the fact that their applications *did* require those things. Someone in authority told them they didn't and they bought it (and still buy it). Let me clue you in: you need these things or you need to let someone else handle your database work for you.

Another nit I have with MySQL is the ever-changing ways you must interact with it. Some versions have certain command-line flags, and later versions will ignore those flags (or fail if you pass them),

IMO, MySQL once filled a niche (cheap data store) that today is better filled by SQLite but has moved out of it into a area where it doesn't compete nearly as well (that of an enterprise database) and no longer fits in either. If you need a dumb data store, use SQLite. If you need a FOSS database, use PostgreSQL. They cost the same as MySQL (free) and each does a better job of doing what it was designed for than MySQL.

PHP is another sore spot for me. I've gotten to the point that not only will I not write PHP code, I won't even run applications written in PHP (my long search for decent blogging software was due to the restriction that it not be written in PHP). At some level PHP is a great language because the entry cost is so low. Not so much because the language is so particularly friendly, but because it was designed to work in an extremely simple environment (the web) and because it's quite possible to learn PHP incrementally by intermixing it with HTML. So what's the problem? Well, first of all, as anyone who's done much web programming will tell you, mixing code with markup is *not* a good thing if you care about maintenance or extensibility. The very thing that makes PHP a great language for beginners is the very thing that makes it a bad language for beginners. At some point they will have to unlearn those habits, except that usually they don't. Also, because it's so easy to whip out a quick PHP webapp, many, if not most, PHP programmers fail to delve very deep into the realm of programming, preferring to sit at the edge and reap the benefits without the work (I'm not talking about coding work, rather the work of understanding your field). PHP programmers practically popularized the most common attack in the world, the SQL-injection attack. Not only is it the most common, it's the most easily avoided. That's how shallow most PHP-programmer's knowledge is. "Professional" programmers are still assembling SQL queries by concatenating strings.

PHP and MySQL are this generation's BASIC, the language that was described thusly by 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.

Replace BASIC with PHP or MySQL and you've got today's most common programmer. Worse, the most common programs in existence today mix the two in a brain-freezing mixture of stupidity.

MySQL and PHP have helped quite a bit in bringing open source into the mainstream. Let's thank them for that and move on, graciously ignoring the millions of minds they've destroyed.

Re:Repost of the Article (3, Interesting)

dzfoo (772245) | more than 8 years ago | (#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.

Re:Repost of the Article (1)

Enderandrew (866215) | more than 8 years ago | (#15478702)

Make sure to submit it to Digg and/or Slashdot.

My qualm is that he made no effort to really sell his point while making what I believe to be a rather inflammatory statement.

I still hold that if a recent study showed the LAMP stack to be supposedly the most bug-free OSS project in existence, then you need to somehow back up claims that two of the major components need to be dismissed out of hand for being buggy.

Re:No cookies, no access? Right. (0)

Anonymous Coward | more than 8 years ago | (#15478490)

The site forces me to swallow its cookies in order to read it. I guess it really didn't want me to visit. Oh well.

Maybe it's time you upgrade from Win 3.11 and Mosaic.

Re:No cookies, no access? Right. (1)

dzfoo (772245) | more than 8 years ago | (#15478614)

Maybe it's time you upgrade from Win 3.11 and Mosaic.

Hum, I'm using Firefox 1.5.0.3 (DeerPark) on MacOS X Panther, so my problem is not the platform. My problem is that I refuse to accept cookies from a site just to read a rant, when its only purpose is to inflate some two-bit blogger's traffic stats and fuel his ego and AdSense revenue.

          -dZ.

Too easy to criticize LAMP this way (0)

Anonymous Coward | more than 8 years ago | (#15478449)

An old saying: There is no bad tools just bad worker.

Re:Too easy to criticize LAMP this way (1)

masklinn (823351) | more than 8 years ago | (#15478488)

Another old saying: old sayings are always wrong.

BASIC's the worst, except for the other lang's (4, Insightful)

192939495969798999 (58312) | more than 8 years ago | (#15478456)

Yeah, BASIC/PHP/MYSQL is real bad, that's why all those genius programmers that use C++ never ran off the end of an array, caused a buffer overflow bug, or had any kind of memory cleanup problems... A crappy programmer is such in any language, and BASIC/PHP/MYSQL is a very useful tool for making smaller apps without having to get into the hardware details of the machine's operation.

Handling everything about the machine is neat, but it's something that honestly just wastes your time if you need a program that: reads a file, processes data and produces output. If that's all I'm doing, then why do I need to operate at a level that the O/S is going to conflict with?

Re:BASIC's the worst, except for the other lang's (1)

DylanQuixote (538987) | more than 8 years ago | (#15478829)

Try writing a crappy haskell program that compiles. :)

Or an O'Caml one. :)

Vote of Confidence (1)

scottsk (781208) | more than 8 years ago | (#15478459)

This makes me feel vindicated for using LAMP, actually, because any productive technology that gets the job done is trashed, for whatever reason. PHP uses C syntax, so I'm productive in it. I can write modular code in it as easily as I can in C. PHP doesn't have Java's overweight runtime library. Anyone can write bad code in any language, and I think the knock is not on PHP itself but on people who have no formal training in software development writing crud. Perl was the same way when LAPC was the current thing (Linux, Apache, Perl, CGI) - people saying Perl was an awful language because all the people were writing these insecure CGI scripts in Perl because their formal training was reading one Perl/CGI book.

Ease of use may trump good programming (1, Interesting)

Anonymous Coward | more than 8 years ago | (#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."

I agree (1)

azav (469988) | more than 8 years ago | (#15478529)

In my career, I started out programing in BASIC on the Apple II and Trash-80.

I found the transition to languages like PASCAL impossible because of the syntax difference.

As I liked to put it "I learned most of my bad habits in BASIC". The transition to OO programming was particularly difficult because of the path I took from BASIC.

Now, I do love an English-like verbose syntax because it just allows me to eyeball my code and just get it.

The brighter LAMP (5, Funny)

kill-1 (36256) | more than 8 years ago | (#15478548)

Linux
Apache
mod_perl
PostgreSQL

Weak dynamic languages will die! (2, Insightful)

mythz (857024) | more than 8 years ago | (#15478650)

Weakly typed dynamic languages do not have a future in large scale development projects. Given the average skillset of developers (i.e. not all developers having PHD's) there is a likely chance that less than perfect code will be written. The better language will be the language that is capable of producing less bugs. A common attribute of large scale development projects is that they are written by a team of developers and not everyone will know exactly how the whole system 'works'. In these cases without a doubt less bugs will be produced with statically typed languages that adhere to strongly typed interfaces.

Dynamic languages are also poor candidates for writing re-usable well tested components, and because of theyre dynamic (anything goes) nature it is harder to produce good intelligent IDE's for them.

The problem with statically typed languages is that they are inherently unproductive as it takes a considerable more code to produce the same outcome that can be written with dynamic code. But with more intelligent IDE's and common features being included into some statically typed languages this productivity gap is closing. If you take into account the maintenance of code (fixing bugs and adding new features) you will almost always be better off using statically typed languages for large scale projects.

With that being said I believe languages like Boo will be the future (C# 3.0+ also looks to be on a very productive path with inclusion of features like type inference, lambda functions etc.). I like Boo cause it is a python-esque language that is statically typed (compiles to .NET). It has advanced features like first class support for regular expressions, hash tables, closures, etc. Works well with both Mono and MS.NET so it runs perfectly on both platforms and it includes a great IDE with Sharpdevelop 2.0+.

Re:Weak dynamic languages will die! (1)

Scarblac (122480) | more than 8 years ago | (#15478840)

Weakly typed dynamic languages do not have a future in large scale development projects. Given the average skillset of developers (i.e. not all developers having PHD's) there is a likely chance that less than perfect code will be written. The better language will be the language that is capable of producing less bugs. A common attribute of large scale development projects is that they are written by a team of developers and not everyone will know exactly how the whole system 'works'. In these cases without a doubt less bugs will be produced with statically typed languages that adhere to strongly typed interfaces.

That's just not true. You were doing fine until the last line, but the conclusion is wrong - there is absolutely a lot of doubt about that. Strongly typed interfaces catch simple mistakes, but not any mistakes that would have survived the most casual testing by the developer while making something.

Dynamic languages are also poor candidates for writing re-usable well tested components, and because of theyre dynamic (anything goes) nature it is harder to produce good intelligent IDE's for them.

There is a huge amount of re-usable well tested components for many of these languages (e.g., CPAN is the biggest of them all). So that's just demonstrably untrue. I will concede that it is harder to write IDEs for them that automate common refactorings, etc.

Slashdot? (1)

wetfeetl33t (935949) | more than 8 years ago | (#15478669)

I don't agree with this guy. I mean, Slashdot seems to work OK.

Re:Slashdot? (1)

DylanQuixote (538987) | more than 8 years ago | (#15478821)

Slashdot is not written in PHP, though, and uses mysql as just a "data dump", from what I understand.

Slashdot is written in perl, which has first class functions, namespaces, and higher-order functions (map, grep, etc).
PHP has none of these, and is something that would take any language designer about a week to implement.

Re:Slashdot? (1)

omeg (907329) | more than 8 years ago | (#15478872)

Maybe that's because Slashdot doesn't run PHP. Take a look at the URL. Does it say "php" anywhere? It says "pl", which indicates that these pages are being generated with Perl.

Save LAMP! (4, Funny)

ardor (673957) | more than 8 years ago | (#15478708)

Without LAMP, I will get much less daily wtfs at http://thedailywtf.com/ [thedailywtf.com] !!111one

The same can be said for all "easy" Languages (1)

Opportunist (166417) | more than 8 years ago | (#15478759)

They are easy to learn, it is easy to achive quick successes and they don't require a lot of background knowledge to get SOMETHING accomplished.

But that doesn't teach you anything in the long run, and what works all right for smaller projects is a desaster if you try to apply it to larger untertakings. This has nothing to do with LAMP in and off itself. You can even create large projects in VB (though I don't have the foggiest idea why anyone would want to put that burden on his back). You just cannot take the same approach as you would with projects that are more akin to your computer club's member list.

Whether a tool is useful or a burden is not a matter of the tool. It is a matter how you use it. If you try to drive a screw into a plank with a hammer, you'll probably end up with splinters. Despite the fact that the hammer is a very useful tool.

If used appropriately.

Airplanes suck! (1, Insightful)

crhylove (205956) | more than 8 years ago | (#15478831)

All those pilots crashing into shit proves it! Everybody switch to bicycles!

Nothing new and wrong conclusion. (4, Insightful)

Qbertino (265505) | more than 8 years ago | (#15478842)

The article is rubbish and/or tells nothing new.
Being a professional freelance web developer and familiar with various web technologies I can say this guy has got it all backwards.

1) MySQL is not a full blown database. Big news. Would've you thunk? What this guy aparently just discovered the other day or so others have been aware of for years.
I've got more news: Databases in general are pathetic. View logic and transactions just move the problem into the DB and away from the App. They don't really solve it. Object-relational setups and DBs do, but they are still a few years away from widespread use. In that respect Postgres and Oracle are closer to MySQL than to ZopeDB. On top of that, in order to utilize a DB properly you have to know about the problems you'll be facing. And that you learn of best by using flatfiles or it's SQL equivalent: MySQL.

2) PHP is the web generations Basic. Very true. Does it spoil developers? No. The legend of procedural (Basic) coders lost to OOP was spread by academics who were unable to explain OOP in correct terms and context. Meanwhile people wo aren't that arrogant and mix OOP and functional programming whenever they feel like it (Symfony, Rails, Django, Zope) are kicking the collective asses of old-school hardcore 100% polymorphic OOP bloat advocates up and down the street (Java).

LAMP isn't the end all of web technologies. Nobody has ever said otherwise without making himself look extremly silly. But LAMP is a viable solution for any project of any size if the enviroment permits using it. The tools and production pipeline are among the most sohpisiticated FOSS programms around. Half of Googles Database is filled with forum postings and tutorials on PHP. DBDesigner, Clay and MySQK Workbench make working with MySQL so easy and fast that Oracle is seriously concerned about it. A bazillion of available FOSS and commercial tools and solutions for PHP are biting huge chunks away from the serverside Java market, pushing it back to where it belongs: The client.

Bottom line:
LAMP isn't beautifull or notably advanced. Has never been and probably never will be.
But it is:
a) Extremely easy to get rolling with.
b) Used by the largest amount of stable and mature OSS projects.
c) Growing it's featureset and best-pratice compatibility in the same rate the general populace is becoming aware of OOP and what Databases where initially meant for.
d) Nearly so widespread it can be considered a monopoly.
e) Entirely FOSS.
f) A T-Rex-sized Microsoft/Oracle/Macromedia/BEA/[fill in commercial webappserver vendor here] Boogieman.

And that's why it will remain a wide used setup and why that's a good thing.

Poor code is easy to spot (2, Insightful)

gravyface (592485) | more than 8 years ago | (#15478847)

One of the merits of PHP (and most scripting/dynamic languages for that matter) is it's transparency: it's easier to spot bad design or sloppy code because all of the code actually does something in relation to the given problem domain.

In comparison, bad designs in an OO language may appear "correct" or even "elegant" on the surface, simply because the glue layers are *meant* to hide the details; adding a pretty "Gang of Four" veneer on top does not make it right.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>