如果開發php語言的是英國人

fmms 13年前發布 | 7K 次閱讀 PHP

在拉斯姆斯·勒道夫(Rasmus Lerdorf,譯者注:php之父)準備把php整合出來的時候,他很聰明地沒有選擇用格陵蘭語或者丹麥語去寫,盡管他有這兩國的血統。這非常好,不然大家都不太愿意去使用這種計算機語言。相反,由于他當時待在加拿大,選擇了當地語言。不,不是法語,而是大英女王英語的一個雜種方言,大家稱之為“美式英語”。

從那時起,英國的php開發者就開始對此牢騷漫天了。他到底在想什么?更重要的是,我們如何挽回這個悲劇呢?即便在這數字時代,作為開發者的我們,如何確保大英帝國的傳統得到發揚呢?

當頭一棒

 $variable_name

首先來看,這也許是需要作出的眾多改變當中最重要的一個了,如果能將這個美國所心愛的符號去掉,換成一個更文雅,更可靠,更...的符號,給人以更高貴的享受。

£variable_name

我們開始吧

<?php echo 'Hello World!';?>

當今有多少英國程序員在準備開始用這個簡單卻很粗俗的美國化了的php語言寫程序的時候,會被其中極其不正式的語言所阻礙,通常都會提到的一句就是“Hello World(你好,世界)”。如果使用另一種更莊重、更正式的開場,將會讓更多年輕的英國天才們還能夠知曉英式英語,同時也能為廣闊的社會帶來一股更文質彬彬的空氣。

 <?php announce 'Good morrow, fellow subjects of the Crown(譯者注:Good morrow為英國古語,全句意為,早上好,我皇的子民們。).';?>

單詞縮寫

讓英國人最痛苦的就是不恰當的單詞縮寫了。倫敦的大街上并沒有出現“縮略語”,因為受到最純正英語教育的語法老師完全無法屈尊接受用如此方式發短信,“c u soon traffic kthxbye(譯者注:see you soon, I got traffic, OK, thanks, bye,意為,一會見,路上堵車了,回聊)等等,而是會以一種拼寫完全的,更加高雅的方式傳授信息,“尊敬的先生/女士,我會按時盡快抵達,預計會在一個小時內。我保證會開足馬力。此致敬禮。”(對,就是這樣,慢慢地寫,我們不喜歡別人催我們)

然而,php語法中充斥著不必要的單詞縮寫、首字母縮略詞。

str_replace()is_int()var_dump()preg_match()json_encode()mysql_connect()

應該做出如下改正:

string_replace()is_integer()variable_dump()perl_regular_expression_match()

javascript_object_notation_encode()my_structured_query_language_connect()

雄辯術

if ($condition){ // Code here} else { // Code here}

莎士比亞如果活到今天,必會羞于看到其母語發展畸形到了如此奇言異語的地步。在上下文中,恰當的簡潔是值得稱道的,特別在一些本不引人注意的地方,而不是這句。“if...else”是php中最為常見的傳統語法,它必須是盡可能地做到毫無破綻才行。有很多其他詞組可以代替它,但下面這個最適合:

 perchance (£condition){ // Code here} otherwise { // Code here}

單詞拼寫

imagecolorallocate()serialize()newt_centered_window()connection_status()

這次讓我崩潰的是單詞了。任何有自尊的紳士都不會如此拼寫單詞的詞頭詞尾。這就好像讓大家誤認為,任何人在開發編程語言的時候,都可以允許犯單詞拼寫的錯誤。這句中的錯誤,以及其他類似的富麗堂皇的錯誤,必須立即得到更正。

imagecolourallocate()serialise()newt_centred_window()connexion_status()

禮貌用語

 try { // Code here} catch (Exception $e){ // Handle exception die('Message');}

  “try...catch”模塊是php語言缺乏禮貌的一個最典型的例子。太過直接,根本不應出現在新版本的php里。此外,“die”這個詞也太不催人上進了。下面這個新語句,盡管有些冗長,卻十分禮貌并且上得了廳堂:

      would_you_mind { // Code here} actually_i_do_mind (Exception £e){ // Politely move on cheerio('Message');}

分類

或許在植根于英國心理學家內心里最重要的就是對于分類概念的闡釋了,盡管php里幾乎沒有機會讓我們去做一些更改了,但是這里要指出的更改是很重要的。

 class Republic { public $a; private $b; protected $c;}$example = new Republic

首先,現行的php系統中的類,并沒有進行階級分層,這是不可接受的。因此,我們必須對現有的類進行分級-上層階級、中產階級、工人階級-并且,在沒有高一階級的明確的許可下,任何階級都不可獲得高一階級的存儲方法(當然,盡管隨后也會接觸到高一階級的方法,但它并不會成為真正的這一階級的成員,也不可能憑借自己獲得該階級的權力去進入其他低階級的類)。“公有”和“私有”,在英國階級系統中,通常可以作為同義詞進行互變的(例如學校系統命名法)。因此這些必須進行修正,同時那些被“Protected(保護起來)”的財產也應該公之于眾,世代相傳。“new”這個詞雖然還說得過去,但也有一堆可替代的詞。

  upper_class Empire { state £a; private £b; hereditary £c;}£example = nouveau Empire;

我們就是日不落帝國...

大家都希望這些簡單的改變能提高php在眾多編程語言中的聲望和地位。不要讓他成為窮酸美國人的表親,而應讓他穩坐英式英語腳本語言的釣魚臺。

來自: dongxi.net

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!