
Q&A: PHP Creator Rasmus Lerdorf (2002) - jpelecanos
https://www.computerworld.com/article/2586472/app-development/q-a--php-creator-rasmus-lerdorf.html
======
muglug
Don’t judge PHP by a 15-year-old interview with its creator. The internals
have been completely rewritten by an incredibly talented team that continues
to make improvements.

Also, many of the demons from PHP4 (in use in 2002) have been excised, e.g.
[https://wiki.php.net/rfc/remove_php4_constructors](https://wiki.php.net/rfc/remove_php4_constructors)

------
open-source-ux
One of the key reasons why PHP remains so widespread in use is the ease of
deployment. No other language can match it.

PHP is the only language with almost universal support among web hosts. It can
run on basic shared hosting plans and on nearly every server. It can be
deployed by simply uploading your code to a directory on your web host. Sure,
it's a widely criticised language (even within the PHP community), but it
still accounts for the vast majority of server side code (80% according to
some sources).

What's baffling is why other languages and so many developers are blind to
this problem of easy server install. They think it's a non-issue.

Prolific blogger and programmer, Jeff Attwood ranted about how he disliked PHP
in one of his blog posts, but recognised that:

 _" If you want to produce free-as-in-whatever code that runs on virtually
every server in the world with zero friction or configuration hassles, PHP is
damn near your only option."_

To broaden choice, Attwood argues we should:

 _" build compelling alternatives and make sure these alternatives are equally
pervasive, as easy to set up and use as possible."_

That was written in 2012. ([https://blog.codinghorror.com/the-php-
singularity/](https://blog.codinghorror.com/the-php-singularity/)).

It's 2017 and what's changed? Nothing.

Having a ridiculously easy web app installation process for servers would
unlock countless opportunities for developers to reach more users or
customers. And it has, for many PHP open source projects and products.

Want your customers to self-install your software? Good luck getting them to
do that _easily_ with any language other than PHP.

~~~
aaron-lebo
It's a good barrier to entry. If in 2017 you can't figure out how to setup an
ec2 instance and run a simple webserver in any language, then you don't need
to be setting up software. It's not hard.

~~~
jimktrains2
Not even that, but with services like heroku and app engine, upload-and-
refresh style development isn't php or old asp or cgi on a shared host
anymore.

------
throw2016
PHP is a delight to work with, but that does not suit the signalling and over
engineering crowd. We must recognize there is a social phenomenon evolving
where some people seem to like complexity.

That's why these developers are blind to ruby setup and dependency hell or
nodejs insanity but magnify any self-perceived flaw in PHP without seeing the
dissonance. This is a difficult act to pull off. This is so over the top and
one sided it ceases to be useful.

Pandering to these criticisms will not work as they are not sincere and these
developers are too caught up in how they are perceived to ever use PHP. Those
who care for PHP should be concerned about attempts to pander to perceptions
as this will destroy the accessibility and simplicity that makes PHP useful
for everyone.

------
tomcam
Rasmus should win a Turing award for bringing an easy to use web-centric
server language to regular people. He does not get nearly the attention he
deserves.

~~~
DonHopkins
Anything but a Turing award. Turing was a computer scientist who cared.

"We have things like protected properties. We have abstract methods. We have
all this stuff that your computer science teacher told you you should be
using. I don't care about this crap at all." -Rasmus Lerdorf

~~~
dvfjsdhgfv
I also don't think PHP deserves a Turing award, but the remark about abstract
methods and protected properties is completely irrelevant - you can have an
amazing language without these and crappy ones with them.

~~~
DonHopkins
The point of the quote is not about abstract methods and properties, it's
about not giving a shit, and being proud of it.

If you really didn't already know about Rasmus Lerdorf's anti-intellectual
attitude (who admits to being "really, really bad" and a "terrible coder", but
still thinks he's "better than you"), then here are some more quotes:

There are people who actually like programming. I don't understand why they
like programming.

I'm not a real programmer. I throw together things until it works then I move
on. The real programmers will say "Yeah it works but you're leaking memory
everywhere. Perhaps we should fix that." I’ll just restart Apache every 10
requests.

I do care about memory leaks but I still don't find programming enjoyable.

I don't know how to stop it, there was never any intent to write a programming
language [...] I have absolutely no idea how to write a programming language,
I just kept adding the next logical step on the way.

I was really, really bad at writing parsers. I still am really bad at writing
parsers.

I really don't like programming. I built this tool to program less so that I
could just reuse code.

I actually hate programming, but I love solving problems.

For all the folks getting excited about my quotes. Here is another - Yes, I am
a terrible coder, but I am probably still better than you :)

[https://en.wikiquote.org/wiki/Rasmus_Lerdorf](https://en.wikiquote.org/wiki/Rasmus_Lerdorf)

~~~
verletx64
I think what's getting me is a really superficial notion of what 'solving
problems' means.

It's a leaking ceiling, a bucket under the leak ostensibly 'fixes' your
original problem of water spilling out onto the floor, but now you've got the
problem that at some point, the bucket will fill up.

It's rare for most problems you face in the workplace for the difficult part
to be actually solving the problem. It's solving it in a way that doesn't just
create three other messes elsewhere, in a way that somebody else can come
along and understand how the problem was solved and in a way that doesn't
hamstring you in the future.

Some of these quotes are really baffling. I mean, he must be being facetious
or something.

~~~
err4nt
I think it's called self-deprecating humour. I don't know too much about this
guy, but these quotes endear him to somebody like me who is learning as much
JavaScript as I need to do the things I want to do, but didn't necessarily
come from a CS background. He seems like he's questioning what is pragmatic by
using a bit of hyperbole.

------
jszymborski
>I got tired of rewriting the same code over and over again, and also _wanted
to separate my business logic from my HTML layout_.

> So I wrote a very simple tag parser that would parse through an HTML file
> looking for special markup tags and replace those special tags _with the
> result of my business logic code written in C_.

(emphasis my own)

I really like PHP, but I find it very interesting that Lerdorf doesn't
consider PHP code itself as business logic, but more of a templating language
for the web.

A lot of PHP's fundamental strengths and weaknesses make sense in that light.

------
dvfjsdhgfv
It's interesting to see how much the concept of 'backend' and 'frontend'
changed over these years:

> I personally use a combination of PHP and Perl for many of my projects: Perl
> mostly for back-end tasks, while I have PHP doing all the front-end work.

~~~
DonHopkins
Just like "client" and "server" swapped during the transition from X-Windows
to WWW.

------
jpswade
There's an analogy that describes PHP as a weird sort of toolbox. Everything's
there, but they are all a little funky.

The hammer is a double sided claw hammer, the pliers don't have serrated
edges. They will do a job, but perhaps not the job that you expected.

Eventually it leads to everyone using this weird little toolbox ends up with a
weird sort of house that might collapse at any moment.

Things have moved on quite a bit since then. Certainly in PHP 7, you're able
to give it the same treatment as a "proper" programming language and people
do.

My view is though, it's a little too late. I don't think new people are coming
into PHP because the barrier to entry has become higher than other languages.

It has become almost impossible to write a PHP application to do even the
simplest task without getting bogged down in all sorts of over engineering and
so called "design patterns".

We all know PHP will be around for a while longer.

Yet in 2017, I wouldn't recommend learning about PHP. Go learn something else.

~~~
muglug
> It has become almost impossible to write a PHP application to do even the
> simplest task without getting bogged down in all sorts of over engineering
> and so called "design patterns".

That's rubbish. There's nothing that stops you creating a single script to
return a value based on stdin or get parameters.

Design pattern nerds exist in every language. PHP has them no better or worse.

~~~
jpswade
Sure, but then in your example, you're using PHP just to transpose data. Why?

~~~
innocenat
Not parent but I have done this before. There was an old PHP code that utilise
TCPDF to generate a very complex report. The main application is being
rewritten (in JS), but the report is very complex and utilise many features of
TCPDF that I cannot find in PDFKit or other nodejs pdf libraries. In the end,
the PHP code that generate reports was wrapped to take JSON input from STDIN
and output the resulting pdf to STDOUT.

