
If PHP Were British (2011) - grepgeek
https://aloneonahill.com/blog/if-php-were-british/
======
Malic
_Snort_ The idea of the super global £_BISCUIT instead of $_COOKIE - that made
my morning.

~~~
signal11
Offtopic - re cookies, the etymology of cookie (or 'magic cookie') as an
opaque value is very obscure and has a interesting social side-effect in that
it's difficult for average people to get very worked up about websites serving
cookies (vs say the more universally understood 'tokens' or 'tracking codes').

While I get that the term originated in the Unix/C world[1], does anyone know
if it comes from a particular US dialect or something? e.g. West Coast/Boston?

[1]
[http://www.catb.org/~esr/jargon/html/C/cookie.html](http://www.catb.org/~esr/jargon/html/C/cookie.html)

~~~
pbhjpbhj
I don't know why but I (UK, en-gb native) always assumed "cookie" was
reference to a fortune cookie in turn a placeholder for the little slips of
paper with obscure notes on them hidden inside a sweet treat (ie the
website)??

------
robbrit
Since Rasmus Lerdorf was in Canada, I wonder what this would look like if it
were in Canadian English. It would retain the dollar signs and serialize(),
but switch to "colour" and "centre". It would be required by law to support a
French version for every keyword. All PHP developers would have the advantage
of free treatment for carpal-tunnel and other RSI injuries.

What else?

~~~
kijin
The Canadian version would apologize profusely whenever an error occurs.

~~~
noir_lord
It would also consistently support systems written in allied British-PHP and
American-PHP while never drawing attention to it.

Routine would be renamed Poutine.

------
The_suffocated
I honestly think that his "what_about-perhaps" construct is nicer than
"switch-case".

~~~
theandrewbailey
I agree: what_about and perhaps is very clear, not sure about the splendid or
on_the_off_chance bits.

------
kijin
exit() would be called brexit() as some of the commenters pointed out... but
instead of actually exiting, it will hang indefinitely trying to choose which
exit code to return.

~~~
forthac
brexit() is when you try to break from a switch but accidentally leave the EU.

~~~
kijin
Do you mean when you try to `splendid;` from a `what_about`?

------
tom_
In reality of course the only difference is that it gets spelled "colour"...

One thing I'm surprised to have seen only once is use of ¬ as an escape
character, because it's so reliably unused for anything at all. (I noticed in
the code that this program, which needless to say was written at a UK company,
had no way of escaping ¬ itself, presumably because nobody had ever needed
that.)

£ also seems a bit underused, but it's fairly specifically the UK's currency
symbol, so it's not obvious else you'd use it for.

(But I suspect only UK keyboards have these chars, so it's probably no bad
thing.)

~~~
petepete
The funny spelling of _centre_ always gets me too, it just looks so wrong! I
can get used to writing words that end in _ise_ as _ize_ , and _colour_ as
_color_. But _center_ , _fiber_ , _liter_ , etc just don't sit right.

~~~
smnrchrds
It's just a matter of getting used to. I imagine these spellings do not evoke
the same feeling in you, even though they are objectively following the same
rule as centre and fibre:

Maple not Mapel

Cable not Cabel

~~~
uwagan
Able not Abel

------
wlkr
I have to concede that I do prefer the longer abbreviations, especially
nowadays when most editors have auto-completion, although of course there are
limits. A healthy balance between (0) and (1). This also reminds me of those
ridiculously long class names (2).

    
    
      (0) my_structured_query_language_connect()
      (1) SHFILEOPSTRUCTW [0]
      (2) InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonPainter [1]
    
    

[0]
[https://news.ycombinator.com/item?id=20018562](https://news.ycombinator.com/item?id=20018562)

[1] [https://www.pushing-pixels.org/2007/11/07/and-the-longest-
jr...](https://www.pushing-pixels.org/2007/11/07/and-the-longest-jre-class-
name-is.html)

~~~
peterwwillis
This is part of the code-as-docs ethos which has really changed how I write
everything. I try to make my code as intuitive as possible to obviate comments
and documentation that only explain what the code is doing. You could also
call it code-as-prose.

This is impeded when languages have popular modules with names that are
absolutely unintuitive, like the Python "requests" module. Requests _what_?
Oh, HTTP? Then it should have been called _http_requests_. And the module that
one uses, urllib3, is actually an HTTP library, not a generic URL library
(URLs can be any web request, such as ftp, mailto, jdbc, etc).

~~~
heavenlyblue
>> Requests what? Oh, HTTP? Then it should have been called http_requests. And
the module that one uses, urllib3, is actually an HTTP library, not a generic
URL library

Python has httplib since 2.7. Also urllib in 3.7 contains all of the URL
parsing routines, too.

Naming is a hard problem, so frankly I would prefer if names did not try to
mimic their corresponding protocols in the first place at all.

It gets even worse when you would like to support HTTP and async HTTP; then
HTTP/2, HTTPS, HTTP server, etc... Which one of these libraries are supposed
to be actually called "http"? What if there's two libraries with the same
functionality?

urllib? Well, yeah - simply because someone wanted to provide a simple HTTP
interface. By the way - urllib also provides FTP/local file access routines.
So it does mean "a library to access URLs".

~~~
peterwwillis
> Python has httplib since 2.7. Also urllib in 3.7 contains all of the URL
> parsing routines, too.

> urllib? Well, yeah - simply because someone wanted to provide a simple HTTP
> interface. By the way - urllib also provides FTP/local file access routines.
> So it does mean "a library to access URLs".

You're missing my point. These are just random examples of bad naming
convention. Yes, Python has some core modules which sort of relate to their
name... but everyone uses "requests" and "urllib3", not "httplib" and "urllib"
(and urllib3 has no FTP support). And yes, you can name a simple http module
anything you want, but if it's unintuitive, it's counter-productive to the
humans that have to work with it.

> It gets even worse when you would like to support HTTP and async HTTP; then
> HTTP/2, HTTPS, HTTP server, etc... Which one of these libraries are supposed
> to be actually called "http"? What if there's two libraries with the same
> functionality?

The common solution is to create modules that inherit from parents, to extend
base modules for more specific functionality. The names then become
hierarchical - io, io::net, io::net::http, io:net::http::2,
io::net::http::secure, io::net::http::server, io::net::http::client, and so
on.

For whatever reason, Python doesn't support this, and instead creates new
unique packages rather than extending pre-existing ones. It's rather annoying
for multiple reasons, but specifically to my original point, it isn't code-as-
docs.

------
flixic
I quite enjoy exploring some of the languages linked here:

[https://en.wikipedia.org/wiki/Non-English-
based_programming_...](https://en.wikipedia.org/wiki/Non-English-
based_programming_languages)

------
sli
I did something similar to this many, many years ago with C just for fun.

[https://gist.github.com/sli/718436](https://gist.github.com/sli/718436)

------
baud147258
Previous discussions:

2011:
[https://news.ycombinator.com/item?id=2906480](https://news.ycombinator.com/item?id=2906480)

2013:
[https://news.ycombinator.com/item?id=5442496](https://news.ycombinator.com/item?id=5442496)

------
justinator
I feel if this was done for Perl, it would already be an option ala Klingon[0]

[0]
[https://metacpan.org/pod/Lingua::tlhInganHol::yIghun](https://metacpan.org/pod/Lingua::tlhInganHol::yIghun)

------
cattlefarmer
There's one for CSS too.

[https://github.com/hashanp/postcss-
spiffing](https://github.com/hashanp/postcss-spiffing)

------
thanatropism
Excel is localized to countless human languages. I wonder if it has a British
version.

------
zhte415
No content of value.

------
nestorD
I would argue that there is a need for a proper British PHP compiler.

------
jgrahamc
I suppose this is meant to be funny.

------
louthy
I assume the site is coded in PHP and that's why it's down ;) Text-only cache
[1]

[1]
[http://webcache.googleusercontent.com/search?q=cache:imONA_3...](http://webcache.googleusercontent.com/search?q=cache:imONA_3H6VcJ:https://aloneonahill.com/blog/if-
php-were-british&hl=en&gl=uk&strip=1&vwsrc=0)

~~~
dubcanada
It must be, cause only PHP sites go down under heavy load/s

~~~
pbhjpbhj
Damn, those PHP sites, they dirty!??

