Quote:
Originally Posted by Why
i like how people who know "low level" stuff always try to rip on php coders. how many of the web's largest sites are written in pure C, or Perl, rather then PHP. how many of the most used web apps are written in php? wordpress, drupal, joomla, this forum, nats, flickr... the list is endless, so much of whats on the web most people use all day is in PHP. i believe LAMP is landing more hits a day and servicing more requests then any other stack out there.
PHP is a perfectly fine language as long as you learn to secure it properly and optimize it. I remember a day when Perl was considered easy and lots of people wrote really bad form mailer scripts they picked up on the web somewhere... this led to trillions of unsolicited emails due to poor security. ;)
@raymor, i agree that high end math skills help, when you are writing code for companies like google. most web companies do not require such skills, lets be realistic. as for php having multiple ways to do things... i dont really see that as an issue.
i think these arguments go both ways... its not he bike, its the rider.
to each his own, i like PHP, Perl and shell script, but I believe they all have their own place.
|
As far as low level versus high level, I said a professional programer should know at least one high level language and one low level. The big sites that use PHP use PHP written by programmers who understand what it's doing at a low level. That is, they could translate the PHP to C, they picture what the C or assembler would look like, and therefore know WHY some algorithms are good and others bad. For example, I have a function in a very high level language - a rewrite rule in .htaccess. I know that rule only calls the stat() system call, and I know what stat() does in assembly, so I know it's fast. I write efficient .htaccess by understanding how that's translated to assembler. If I had no experience in C or assembler, my .htaccess wouldn't be nearly as efficient.
Regarding high level math, a relational database management system such as MySQL is a calculator for doing relational algebra. That's all MySQL is - a calculator. If you have no understanding of what relational algebra is, you won't be very good at doing relational algebra using MySQL. How many PHP scripters don't know that MySQL in a RDMS? If you don't even know what it IS, how well are you going to design schemas for it? Not well at all, obviously. MySQL is a tool for managing relational databases, but many scripts create things in MySQL that are not in fact re relational databases, so the scripts suck and break in various ways. Trying to design a MySQL database without knowing what a relational database IS is like designing a CMS without knowing what a web site is.
__________________
For historical display only. This information is not current:
support@bettercgi.com ICQ 7208627
Strongbox - The next generation in site security
Throttlebox - The next generation in bandwidth control
Clonebox - Backup and disaster recovery on steroids