TL;DR

  • PHP의 미국식 문법과 명명법을 영국식으로 바꾼다는 가정 아래, 결론은 대영제국풍 프로그래밍 언어로의 과장된 재설계임
  • 변수 표기의 $를 더 품위 있는 £로 교체하고, echo와 “Hello World”를 왕실풍 표현으로 바꾸는 방식임
  • 불필요한 약어를 없애고 str_replace() 등을 더 긴 전체 명칭으로 확장하는 제안임
  • 조건문·예외 처리·클래스 계층에 영국식 어휘와 계급제를 도입하는 풍자임
  • 미국식 철자를 영국식 철자로 바꾸고 PHP를 스크립팅 언어의 영국식 왕으로 세우려는 유머임

배경

  • Rasmus Lerdorf가 처음 PHP를 구성했을 때, 출신 배경에도 불구하고 그린란드어나 덴마크어로 작성하지 않은 선택이 합리적이었다는 농담임.
  • 캐나다에 있었기 때문에 더 지역적인 언어를 선택했지만, 프랑스어도 캐나다 영어도 아닌 여왕의 영어에서 갈라진 속칭 미국 영어(US English)를 택했다는 설정임.
  • 영국의 PHP 개발자들이 그 선택에 منذ 계속 불만을 품고 있으며, 디지털 시대에도 대영제국의 전통을 지키려면 어떻게 해야 하는지가 글의 출발점임.

얼굴을 후려치는 일격

  • 변수 표기의 $가 미국에서 사랑받는 기호라는 이유로 제거하고, 더 세련되고 단단하며 ‘스털링’한 기호인 £로 교체하자는 제안임.
  • 이에 따라 $variable_name£variable_name처럼 표기되는 방식임.

시작하기

  • 기존의 <?php echo 'Hello World!'; ?> 방식은 단순하지만 지나치게 미국화된 비격식 인사로 묘사됨.
  • 영국의 젊은 인재가 언어에 남도록 더 제국적이고 격식 있는 소개 문구를 사용하자는 농담임.
  • echo 대신 announce를 사용하고, “Hello World” 대신 “왕실의 동료 신민 여러분, 좋은 아침임”에 해당하는 표현을 출력하는 방식임.

약어

  • 영국인에게 불필요한 약어보다 더 혐오스러운 것은 거의 없으며, 런던 거리에서 문자식 표현은 찾아보기 어렵다는 풍자임.
  • “c u soon traffic kthxbye” 같은 표현 대신 “친애하는 선생님 또는 부인께. 시간이 허락하는 대로, 한 시간 안에 도착할 것으로 예상함. 말들이 아끼지 않고 달리게 하겠음. 정중히 올림”과 같은 장황한 문장을 선호한다는 설정임.
  • PHP에는 불필요한 약어와 두문자어가 지나치게 많다는 지적임.
  • 다음과 같은 함수명을 더 긴 표현으로 확장하는 제안임.
  • str_replace()string_replace()
  • is_int()is_integer()
  • var_dump()variable_dump()
  • preg_match()perl_regular_expression_match()
  • json_encode()javascript_object_notation_encode()
  • mysql_connect()my_structured_query_language_connect()
  • preg_match의 확장 표현을 잘못 썼다가 지적을 받아 수정했다는 편집 메모임.

웅변

  • if ... else 블록은 PHP에서 가장 많이 사용되는 조건부 코드이므로 최대한 불쾌하지 않게 만들어야 한다는 주장임.
  • 간결함은 어두운 구석처럼 거의 보이지 않는 곳에서만 칭찬받아야 하며, 여기서는 더 장황한 표현이 적합하다는 풍자임.
  • ifperchance, elseotherwise로 바꿔 조건문을 더 셰익스피어풍으로 만드는 제안임.
  • 미국화된 switch ... case 구문도 투박하고 불쾌하므로 다음과 같은 표현으로 대체하는 방식임.
  • switchwhat_about
  • caseperhaps
  • breaksplendid
  • defaulton_the_off_chance
  • switch·break·default 같은 단어는 독자에게 거칠고 맥락이 부족하므로, what_about, perhaps, splendid, on_the_off_chance 같은 더 신사적인 표현을 사용하자는 제안임.
  • include()i_might_be_partial_to() 같은 표현으로 교체할 수 있다는 흥미로운 아이디어가 언급됨.

철자

  • imagecolorallocate(), serialize(), newt_centered_window(), connection_status() 같은 함수명이 영국 신사라면 이해하기 어려운 왜곡된 단어라는 풍자임.
  • 미국식 철자를 적절한 영국식 형태로 되돌리자는 제안임.
  • imagecolorallocate()imagecolourallocate()
  • serialize()serialise()
  • newt_centered_window()newt_centred_window()
  • connection_status()connexion_status()

예절

  • try ... catch 블록은 지나치게 직접적이어서 PHP의 예의 부족을 보여주는 사례로 묘사됨.
  • die라는 단어도 너무 우울하므로 더 정중하고 긍정적인 표현으로 바꾸자는 제안임.
  • trywould_you_mind, catchactually_i_do_mind로 바꾸고, 예외 종료 함수 die()를 작별 인사인 cheerio()로 교체하는 방식임.
  • 예외 객체의 변수 표기도 $e에서 £e로 바꾸며, 예외 처리 주석도 “정중히 넘어가기”에 해당하는 표현으로 바꾸는 구성임.

계급

  • 영국인의 정신에 계급 개념만큼 중요하고 깊이 배어 있는 것은 거의 없으며, PHP의 클래스 영역에도 이를 반영해야 한다는 설정임.
  • 기존 클래스 시스템에는 계급 위계가 없으므로 용납할 수 없다는 주장임.
  • 클래스에 상류층(upper), 중산층(middle), 노동계층(working) 같은 구체적 계급을 부여하는 방식임.
  • 하위 계급 클래스는 상위 계급 클래스의 명시적 허가 없이는 해당 메서드에 접근할 수 없으며, 접근 권한을 얻더라도 상위 계급의 진정한 구성원이 되지는 못하고 다른 하위 클래스에 상위 접근 권한을 부여할 수도 없다는 규칙임.
  • 영국 계급 체계에서 publicprivate는 종종 동의어이므로 조정해야 하며, protected 속성 가시성도 바꿔야 한다는 농담임.
  • new는 어느 정도 괜찮지만 클래스 문제에서는 nouveau가 더 적절한 대체어라는 제안임.
  • 기존 예시의 class Republicupper_class Empire로 바뀌고, publicstate, protectedhereditary, 객체 생성의 newnouveau로 바뀌는 구성임.

해가 지지 않는 제국...

  • 이러한 단순한 변경이 다른 언어 사이에서 PHP의 평판과 위상을 높이기를 바란다는 결말임.
  • PHP가 더는 가난한 미국인 사촌이 아니라, 마땅히 차지해야 할 스크립팅 언어의 영국 왕이 된다는 풍자임.

감사

  • 금요일 펍에서 대영제국의 부활을 시작하는 데 도움을 준 전 동료 Mark와 Pat에게 감사를 전하는 내용임.
  • 주석 1은 connexion이 맞다는 정정임.
  • 게시 정보는 2011년 8월 20일이며, 분류는 php, development, humour, empire임.