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에서 가장 많이 사용되는 조건부 코드이므로 최대한 불쾌하지 않게 만들어야 한다는 주장임.- 간결함은 어두운 구석처럼 거의 보이지 않는 곳에서만 칭찬받아야 하며, 여기서는 더 장황한 표현이 적합하다는 풍자임.
if를perchance,else를otherwise로 바꿔 조건문을 더 셰익스피어풍으로 만드는 제안임.- 미국화된
switch ... case구문도 투박하고 불쾌하므로 다음과 같은 표현으로 대체하는 방식임. switch→what_aboutcase→perhapsbreak→splendiddefault→on_the_off_chanceswitch·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라는 단어도 너무 우울하므로 더 정중하고 긍정적인 표현으로 바꾸자는 제안임.try를would_you_mind,catch를actually_i_do_mind로 바꾸고, 예외 종료 함수die()를 작별 인사인cheerio()로 교체하는 방식임.- 예외 객체의 변수 표기도
$e에서£e로 바꾸며, 예외 처리 주석도 “정중히 넘어가기”에 해당하는 표현으로 바꾸는 구성임.
계급
- 영국인의 정신에 계급 개념만큼 중요하고 깊이 배어 있는 것은 거의 없으며, PHP의 클래스 영역에도 이를 반영해야 한다는 설정임.
- 기존 클래스 시스템에는 계급 위계가 없으므로 용납할 수 없다는 주장임.
- 클래스에 상류층(upper), 중산층(middle), 노동계층(working) 같은 구체적 계급을 부여하는 방식임.
- 하위 계급 클래스는 상위 계급 클래스의 명시적 허가 없이는 해당 메서드에 접근할 수 없으며, 접근 권한을 얻더라도 상위 계급의 진정한 구성원이 되지는 못하고 다른 하위 클래스에 상위 접근 권한을 부여할 수도 없다는 규칙임.
- 영국 계급 체계에서
public과private는 종종 동의어이므로 조정해야 하며,protected속성 가시성도 바꿔야 한다는 농담임. new는 어느 정도 괜찮지만 클래스 문제에서는nouveau가 더 적절한 대체어라는 제안임.- 기존 예시의
class Republic은upper_class Empire로 바뀌고,public은state,protected는hereditary, 객체 생성의new는nouveau로 바뀌는 구성임.
해가 지지 않는 제국...
- 이러한 단순한 변경이 다른 언어 사이에서 PHP의 평판과 위상을 높이기를 바란다는 결말임.
- PHP가 더는 가난한 미국인 사촌이 아니라, 마땅히 차지해야 할 스크립팅 언어의 영국 왕이 된다는 풍자임.
감사
- 금요일 펍에서 대영제국의 부활을 시작하는 데 도움을 준 전 동료 Mark와 Pat에게 감사를 전하는 내용임.
- 주석 1은
connexion이 맞다는 정정임. - 게시 정보는 2011년 8월 20일이며, 분류는
php,development,humour,empire임.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요