Hacker News new | past | comments | ask | show | jobs | submit login
If PHP Were British (addedbytes.com)
347 points by shdon on Aug 20, 2011 | hide | past | favorite | 104 comments



If it were truly British then upon an exception it would apologise excessively and offer to dust you off.

Queues would also be ubiquitous. Data could not be accessed in order, but would have to be retrieved from an unordered queue, which would necessarily involve a long wait.

There would also be a congestion charge for drivers at certain hours of the day and interfacing with Rails would cause unexpected delays.


Hmm. Queuing might well be ubiquitous but data would be accessible only in meticulous order: from the head of a queue and from nowhere else.


unordered queue

What is that? Do you mean a regular, non-priority, queue?


Funny, but completely ignorant of the fact that Canadian English is distinct from Amrican English. We generally spell it 'colour' here, but draw the line at 'connexion', and have two spellings for 'seriali[sz]e', depending on the audience and style guide you follow. Joe Clark has a wonderful book about this, Organizing Our Marvellous Neighbours (http://en-ca.org/).


Yeah, the opening paragraph to this one lost me. I have a Canadian passport and I was living in Canada at the time and we spell it "colour" there. But yes, I chose to go with American English over Canadian/Danish/Inuktituk simply because I was already used to that from other languages. Like others have mentioned, non-American programmers don't tend to think of the terms in programming languages as an extension of the language, but simply as tokens that do things. Having those tokens consistent across languages makes sense.


Yeah, it makes me wonder if we'll ever see a programming language that uses "colour." Are there any out there? We must do something to reverse this trend!!!



Programming languages created in England use "colour", e.g. BBC BASIC.

http://www.bbcbasic.co.uk/bbcbasic/manual/bbckey1.html#colou...

Yes, BBC as in British Broadcasting Corporation.


Interestingly, Canadian English is almost en-GB-oed -- which is the closest thing the world has to "international standard English", seeing as it's the dialect preferred by both the United Nations and the International Organization for Standardization,


I'm amazed that no comment has yet mentioned my favo(u)rite take on the subject, the immortal Lingua::Romana::Perligata http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.... ;)


I find myself getting genuinely annoyed when having to write things like "color" in CSS.

I wonder, though, as fun as it is to think about these jokes, what serious implications it had. Let's say, for example, it actually had been started with variables using a £ rather than $, would it have made any difference at all?


really? I'm British and I'm quite amazed at how I can (without ever thinking about it) switch between colour and color. I wonder if maybe some people approach programming as a different language (eg: color isn't colour, it's color, it is a unique thing) and then some approach it as an extension of their own language.


Also a Brit here. I used to get annoyed, but eventually I think it seeped into my system as a different language as you put it. About 2 years ago I had a colleague get very angry with me for writing code analogous to:

Color colour = new Color();

To me, it makes perfect sense, and tbh didn't realise I was even doing it. I definitely endorse everyone standardising on American spelling though, now its been pointed out to me.


Strangely, I do that too. I tend to blame my education :)

Amusingly enough, (though not strange, if you consider its origins) Haskell uses the British spelling. Off the top of my head, the colour types are defined in the Data.Colour module.


After seeing him give a talk, I've come to the conclusion that Simon Peyton-Jones is possibly the most British man alive.


If anyone is interested:

http://ontwik.com/haskell/simon-peyton-jones-a-taste-of-hask...

I don't know if this is the one you meant, but I watched it a while ago and I think it's well worth the time: SPJ is great to listen to and you actually pick up a good amount Haskell and functional concepts.


He'll have to apologetically briskly out-stroll Stephen Fry first.


class Colour extends Color {} // problem solved.


I never had much of a problem with 'color', but grey/gray got me every single time. Always went with the British spelling.

However, at this point, I actually can't remember which spelling is which. I have to look it up. 'a' is the American one, right? (gosh, I hope I'm right)


There's an easy to way to remember which is which. GrEy is English, grAy is American.


Of course, both spellings are common in American English.


I've often wondered this. I had a friend who couldn't spell to save his life when he was writing prose - but when he wrote code he was fine. Never understood how that worked.


I'm glad you said this - I'm exactly the same. I automatically type "color: gray" when coding, I wouldn't dream of using them them outside my text editor.

It may not be limited to natural vs programming language though. I also have no issue daily switching between 0-indexed and 1-indexed languages, but I hear an endless stream of complaints about the latter language from people who insist they can't do that.


Are you saying that you don't? I most definitely think of code as being an extension of language. Code occupies this rather unique field where it is part machinery and part language. Approaching it only as machinery, limits your possibilities.


Maybe that's why I'm a terrible programmer then.


I doubt it. While it may limit your parent's capability (if he thought of it as a second language), I think it would a little presumptuous for him to imply it limits yours. I know lots of people who approach coding differently than I do, yet they still do just fine (even if I can't watch them code because it drives me crazy :).


It would be presumptuous if I was to say that not thinking that way would make you a bad programmer; I'm sure there are many ways to enlightenment. And many types of enlightenment, for that matter. But I would venture to say that being able to think of programming as language, is a strength. Whether you use this paradigm as the primary frame for writing software, is a different matter. I find it very powerful.

See also: Literate programming, or - more recently - Domain Driven Design (In particular: Ubiquitous language).


Maybe I just don't code enough to have got used to it.


In BBC basic it was indeed COLOUR, which took me some unlearning.


VDU 17 would have saved the day there.

</old_fart>


Just type C. - stands for either, takes up less space than having a VDU17 in the program!


Well, sure, but that gets expanded into 'COLOUR' when you do a LIST


When I was younger it'd annoy me. I'd always forget and slip back into writing colour. Then I'd wonder why the text or background colour of something wasn't changing. A few minutes later (of checking I was editing the right file, that I was changing the property of the right id/class, etc etc!), I'd finally realise I was simply 'misspelling' it. DOH!

Now, though, things have clicked and I find I can very easily switch between color and colour when needed.

Even to the point that if I'm typing on a US based site, I tend to use color (and Americanized spellings), and on non-US sites I tend to British spelling. Can take a while to get used to though.

Anywhoo, I loved this blog post :) Especially the:

Words fail me at this point. How is any self-respecting gentleman expected to make head or tail of these "words". It beggars belief that anyone could allow such distortions of words to be entered into a programming language. They, along with the myriad of similar errors, should be reverted to their proper forms immediately:

Bit!


I write a fair bit of wxPython code and one of the things that always struck me as surprising is that you can use widget.Color or widget.Center interchangeably with widget.Colour and widget.Centre!


> Let's say, for example, it actually had been started with variables using a £ rather than $, would it have made any difference at all?

I cannot see £ sign on my keyboard, so that would be slightly inconvenient. :)


Indeed, nor is it in ASCII. So it might at least have encouraged attention to be paid to character encoding issues a decade or so earlier!


Who cares about ASCII (American standard code for…) in a British product? This, of course, would use BS-4730 (BS = British Standards Institute.) it has £ where ASCII has #.


There's no # on mac British keyboards! You have to hit option-4 (did I get that right, don't have a keyboard in front if me) to e.g. comment ruby code...


It's ⎇-3, not 4. ⎇-4 is ¢.


It is option-4. But I almost went and bought a new keyboard before I discovered that.


> Let's say, for example, it actually had been started with variables using a £ rather than $, would it have made any difference at all?

I think that had more to do with the $ usage in Perl rather than with currencies.


The biggest problem would be that the £ symbol is not on US keyboards. The # symbol takes its place, but is called the pound sign rather than hash.


That would be an advantage, not a problem. No-one wants vulgar yanks sullying a classy language like PHP.


Map $ to £ - problem solved!


If you do that, you must hit the $ key 1.6 times to get £ to appear, which is kind of a pain.


Good point.

How about you press $ eight times - that gives you five £s and then you hit backspace four times leaving you with one £.


Brilliant! Given my sadness today around HP destroying the mobile platform I love (webOS), this has really cheered me up ;-) I especially like the cheerio() function.


I too thought it was brill. Next, lets play "if PHP were cockney"


we could replace the semicolon with "innit!"

$oranges = "lemons" innit!


I prefer the Manc version of PHP (which syntactically has bugger all in common with PHP coz thats how we roll in Manc):

    alright ar kid?
      im not being funny but x = y
      z is like 10 * 10 int it
      
      you got a spare minute?
         can you just do this for us
            // codage
         while im sorting this out
            // conditionage
      ta son

      if /*function*/ is acting the goat
          bloody_nora (error)
      
      summat wrong? nah : damn fucking right flower


$ is superior though, simply for its ease of access using the left index finger.

£ would require the use of the middle finger.

To British sensibilities, it would mean swearing at PHP on every variable declaration! Actually, that said...


£ isn't even available on my keyboard, I would need specific software or IDE features just for this.


I agree that ease of accessibility of the key is very important in choosing a variable symbol.

The first time I ever stepped into ERB, typing <% was a chore, since it was just a bit further than I had been used to typing tag characters. For en_US Americans on OS X, the £ character is a simple Option+3 though. Can anyone tell me what the key combination for the character is on en_US Windows platforms?


I'm always amazed how hard it is to type a | pipe on an american keyboard. On British keyboards it's next to left shift so you can type it with just one keystroke.


Oh god, I had to use a British keyboard while working on a project this summer, and that damn backslash/pipe key next to the left shift was the bane of my existence. I don't know how many times I accidentally hit that when trying to hit the left shift. Why would you ever put it there?

And the tall Enter key - uggh, why? Even if you need an extra key because of the pound symbol, you could just put it where the backslash/pipe key normally goes, instead of having a misshapen Enter key. And swapping " and @ - completely nonsensical. ' and " should be on the same key.


As I recall, the UK keyboard layout was designed to allow entry of every character in the ASCII and EBCDIC character-sets, which explains why it includes "¬" and both vertical bar ("|") and broken bar ("¦").

Putting double-quote above "2" makes perfect sense if you've ever looked at an ASCII table. A lot of 8-bit micro-computers did that, even in America - for example, the Apple II.


> As I recall, the UK keyboard layout was designed to allow entry of every character in the ASCII and EBCDIC character-sets, which explains why it includes "¬" and both vertical bar ("|") and broken bar ("¦").

Seems kind of pointless. If you're going to include some extra keys, how about a few Greek letters, or accented English letters (without AltGr)? Of course, that's not to say there aren't pointless keys on the US English keyboard (what the hell is "`" for?).

> Putting double-quote above "2" makes perfect sense if you've ever looked at an ASCII table.

But there's no reason to base the keyboard layout on ASCII tables. The keyboard should be designed to be as intuitive as possible, rather than staying true to some obscure technical details.


Presumably they didn't include any Greek or other letters because they weren't in the basic ASCII or EBCDIC sets. I guess they wanted their keyboard to be standard across both kinds of computers: micros and mainframes.


I find it hard to believe that you really think that the tiny hit-target for the enter button on an american keyboard is a good thing. It is one of the most frequently used keys.

If you think hitting the huge left shift button is hard then imagine how hard it is for someone used to a British keyboard to hit enter on an american keyboard.


> imagine how hard it is for someone used to a British keyboard to hit enter on an american keyboard.

Not too difficult, I'd say, because you can just move your right pinky directly to the right from the home position and you're good to go. The problem with the British Enter key is that it's tall instead of wide, so you have to reach even further to the right. I don't see any benefit to the increased height, because I'm always going to hit the Enter key from the home position anyway.

It's a similar issue with having the backslash/pipe key next to the left Shift. I move my left pinky down and a little to the left to hit the left Shift, but instead there's a backslash/pipe key there, which means I have to move it even more to the left, which is just uncomfortable.


On my UK keyboard, $ is <shift-4> and £ is <shift-3>. They're right next to each other.


That's the joke (Most touch typists will do shift-4 with index finger, and shift-3 with middle finger)


The only language I know which actually uses "colour" in its standard library, is Occam, designed in Bristol. Are there any others?

(Nitpick: "socialize" is the original spelling; "socialise" was a change in spelling on our side of the pond.)


There's actually many cases where we (Brits) hate on the American version without realising that actually theirs is the version we were using back when we sent people over to America, and it is us we have changed over the years not they. Still annoys me though :)


When I learned that, I found it extremely humorous. What was even funnier was that the extra U's showed up as Britain attempted to be more French-like. Isn't that a slap in the face today!


I still insist to write "behaviour" despite the protests of my spell-checkers. And I am a Brazilian/Hungarian educated mostly in Portuguese to whom English is a third language.

I blame my high-school English teacher.

But then, when in the browser, I also catch myself submitting forms with control-x control-s.


America is a preservation jar for per-Enlightenment Britain.


Quite. See this supposed American barbarism from Daniel Defoe's 1722 novel "Journal of the Plague Year": "besides, it being in the time of the vacation too, they were generally gone into the country". (http://www.gutenberg.org/files/376/376-h/376-h.htm)


The large majority of -ize/-ise verbs come from Greek words ending in -ιζειν [-izein] (sometimes via Latin, in which they end in -izare). English adopted many of these words via the French, which lacks "Z" as a native letter, and so the -ise spelling.

Americans reverted to the -ize spelling on the principle of spelling words as they sound (a foreign concept to the language, we must all agree), and much of educated Britain likewise used the -ize spelling on etymological grounds. (Thus Oxford spelling [en-GB-oed].) Esteemed English institutions such as the Oxford University Press and Cambridge University Press still use the -ize spelling, as did The Times, until it came to be perceived as an Americanism in the 1980s.

International English, such as that used by the United Nations, follows Oxford spelling and so uses -ize.


Well, it's not "colour", but there are actually a few types in the .NET Base Class Library (BCL) which use the British spelling. Example: the StackBehaviour enumeration (http://msdn.microsoft.com/en-us/library/system.reflection.em...)


I remember hearing a story about how bits of the BCL were written in Britain and originally used "Colour", but they were made to change it to standardise upon american english across the BCL.


The popular ggplot2 library for R uses colour, though I think color is also accepted in some places.

http://had.co.nz/ggplot2/scale_gradient.html


POV-Ray script accepts both spellings.

http://www.povray.org/documentation/view/3.6.0/230/


The British dialects of English have undergone far more change than English elsewhere. Some British dialects were heavily influenced by French, or imitated the francophone "upper" classes so much so that they no longer trill their 'r'. [Citation Needed]

Also, India preserves the vocabulary of the old English bureaucracy, now lost in Britain. [Citation Needed]


Ogre 3D (C++ library for realtime graphics) also uses the word colour, designed by a bright guy from Channel Islands, South England.


BBC BASIC, which does the reputable thing of accepting it both forms equally.



And if PHP was Japanese it would commit Seppuku.


If it were British there would be alcohol involved somehow.


We're talking about PHP, so I think we can take it as read that there was substance abuse involved somewhere.


lolz


preg_match might actually be better expanded as practical_extraction_and_reporting_language_regular_expression_match. (I'd comment on the original but it's currently too overloaded for it, I gather.)


Actually, my understanding is that the p in preg actually stands for perl. php.net refers to PCRE (Perl Compatible Regular Expressions).


Yes, and “Perl” has often been expanded as “Practical Extraction and Reporting Language” (I don't recall whether this is a half-joke or not, but I think it is).

If you like you can add the “compatible” though, which would conveniently add to the length.


$ perldoc perl

  NAME
       perl − Practical Extraction and Report Language
...


From Wikipedia: "There is some contention about the all-caps spelling "PERL", which the documentation declares incorrect[28] and which some core community members consider a sign of outsiders.[29] The name is occasionally backronymed as Practical Extraction and Report Language, which appears at the top of the documentation[27] and in some printed literature.[30]"

http://en.wikipedia.org/wiki/Perl#Name


Yes, I'm quite sure that is the actual meaning. Back in the day there was 'ereg' as well, but that has been deprecated for a long time I think. IIRC, in 1998-1999 it was a commonly asked question when to use preg_ or ereg_ functions.

But I guess the php docs themselves have caused people to think that the p stands for 'perform' - from the php docs 'preg_match - Perform a regular expression match.'. So yeah.


"pathologically_eclectic_rubbish_lister_regular_expression_match" would be my first choice.


Not overloaded, just form an orderly queue and wait please.


I moved the site to Linode and set my swap incorrectly, so as soon as the memory ran out it fell over. Oops.


yeah, where does 'perform' come from?


COBOL. But I think the author didn't know that the preg_*() functions use regular expressions the same way Perl does.


I did know that, but wasn't sure the "p" stood for "perl". The manual page for preg_match leads with "preg_match — Perform a regular expression match", so I went with that.


True, and you never know with PHP.

The preg functions are wrappers around the Perl Compatible Regular Expressions library, though (PCRE) vs the older POSIX greg PHP functions, so I do think they mean Perl.


He does have a point with the abbreviations.

The use of abbreviations and underscores in PHP is maddeningly inconsistent.

Example:

  pdf_stringwidth
  strlen
  str_replace


How long until some bored hacker writes a british<->us PHP compiler and posts it here? I give it a week.


A colleague once complained because I wrote 'initialize' with a z...


If we change the sigils, can we refer to objects as "quiddities"?


In Common Lisp, 'Fourth' is the fourth item in a list, rather than 'Forth'.



Presumably confusion with the river named after the progamming language.


I always thought the dollar sign originated as a variable marker because it was used in BASIC to mark a string. Is there an earlier origin?


Now if PHP were Japanese?


Joke about php devs not being savvy enough to actually go and make these changes in 3... 2... 1...




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: