搜索
Table_bottom

标签云
Table_bottom

分类
Table_bottom

声明
文章若未特別註明,皆採用 知识共享许可协议 請自覺遵守
Table_bottom

存档
Table_bottom

匆匆过客
30537
Table_bottom

功能
Table_bottom

“泛化”與“繼承”

據說“泛化”與“繼承”是一個意思,然而某怎麼想怎麼不對勁。

 

泛化翻譯自generalization。如果某理解不錯的話,general的意思是“通用的”,那麼generalization應該是“變得通用”。“泛化”這個翻譯其實很好,因爲“泛”就是“(使)通用”。

繼承翻譯自inheritance。有時extend也翻譯成繼承。不過這兩個詞的含義相近,均指以上方爲基,下方從上方獲得東西

 

這樣看來:“泛化”指進行抽象 以便從低抽象層級到高抽象層級;“繼承”指從高抽象層級派生出低抽象層級

由是,UML圖中那自低指向高的箭頭應泛化而繼承。可能是因爲過它描述了繼承關係,所以有人將其誤稱爲繼承。

我爲什麼使用傳統漢字

不知何故,這兩日關於簡化字這個東西的(討論|爭論|議論)大大小小有至少四次。這裏寫篇文章敘述一下我的觀點,同時歡迎禮貌的討論。

首先,爲了搞清楚下文所用的幾個術語,請閱讀BYVoid大牛的這篇文章。然而這篇文章中缺少一個對個人使用的漢字的稱呼,所以某稱之爲“傳統漢字”或簡稱爲“傳統字”,順便可與英文的Traditional Chinese相對應。

註:希望諸討論者不要搞混這些概念。

第一個問題:爲什麼不用簡化字。其理由如下:

  1. 簡化字亂合併不同的漢字。例如“後”和“后”、“干”“幹”“乾”,以至於有些號稱“精通繁體字”的人鬧出了“皇後”和“幹屍”這樣的笑話。
  2. 簡化字並不如課本說的那樣是“符合漢字的發展規律”的。從小學直到高中的(漢)語文課本中,均有一個很大的謊言,那就是:“漢字簡化是歷史的潮流……簡化字是符合漢字發展規律的。”然而實際上,漢字的發展規律是構成上的複雜化。本朝的簡化字卻逆歷史潮流而動。舉幾個簡單的例子:
    • 早先的時候只有“直”這個字,後來爲了區分不同的意義,衍生出了“值”“植”“殖”等字。
    • 甲骨文中只有“云”(當然,不是這樣寫的)這個字。到了篆書的時候,爲了明確表達不同意義,分化出表達說話的“云”以及和cloud一個意義的“雲”。然而我朝的簡化字卻復了三千年前的古,如何可稱爲合歷史規律?(如果你仍然覺得合併是合理的,請問上邊的例字是不是也應該合併?)
  3. ​簡化字並不足以稱爲一種新的“字”。歷來漢字的變化——不論是篆書到隸書還是隸書到楷書再有後來的宋體(明體)——均是整體性的,即所有字的構形都要進行一些變化,然而這些變化是有規律可循的,所以變化起來沒有太大的難度。然而一簡字只有幾千個(貌似是2000餘個),而漢字總量怎麼說也有數萬個,數千對數萬,只能說寥寥。且歷史上漢字的變化有一個很重要的推手是書寫工具的變化(篆到隸、楷到宋),然而我朝搞簡化字與此並不相干。
  4. 簡化字沒有減少識字量,反而在事實上增多了字數。這主要是因爲符合相同“簡化規則”的字,一部分被簡化而另一部分沒有被簡化。一些例子如下:
    • “幹”變成“干”,然而仍然需要記憶“擀”。
    • “趙”變成“赵”,然而“肖”、“消”、“銷”等字的聲旁並沒有變成“⨯”。
    • “歡”變成“欢”,然而仍然需要記憶“灌”“獾”等字。
  5. 簡化字事實上沒有減小識字複雜度,反而增加了複雜度。這主要是由於形聲字聲旁被替換成無意義的字以及上一條所述的原因。一些例子如下:
    • “漢”“嘆”“難”本爲形聲字,但是聲旁均變成“又”,讓人完全摸不到頭腦。
    • 如上述的“歡”、“灌”、“獾”等,本爲同一組形聲字,卻被簡化而打散,記憶起來難度增加不少。更嚴重的是會讓人意識不到漢字間的聯繫。
  6. 政治原因。這個問題比較複雜,而且關於具體政治原因也有不小爭論。個人推薦參考本文末尾給出的鏈接中的那本書中的理由。

關於受簡化影響而導致混亂的字,參見我的這篇文章

第二個問題:爲什麼是傳統漢字。或者說,爲什麼不是“香港繁體”、“臺灣正體”或者別的什麼。

這個問題的答案很簡單:某的訴求是將現在與華夏數千年的傳統重新接上,讓傳統成爲我們的助力或是後盾,但絕對不是累贅。不論是香港、臺灣還是日本、朝鮮,他們用的漢字中也含有相當數量的俗字,無法完成“承接”這個任務(這個問題可以參見上邊給出的BYVoid大牛的文章最後一部分)。所以我們需要一套合適的、刨除現代政治影響下的字形,並(在可能的情況下)統一漢字文化圈的漢字字形。

 

最後,希望有興趣的可以看一下彭小明先生的《漢字簡化得不償失》。這裏給出一個鏈接

各操作系統典型用戶心態

這裏試圖用一些典型狀況加上簡短的語句來描述心態。

  • Windows用戶:
    • 嗯,我需要安一個軟件。怎麼辦呢?上網搜索軟件,滿世界求安裝包。終於找到了,下載,安裝。誒?這是什麼東西?我要的是AAA怎麼變成BBB了!?好吧是點到廣告了……找到真正的了,一路下一步。嗯?桌面上怎麼多了點奇怪的東西?算了不管了……
    • 啊,電腦慢了。用XXX優化軟件掃描一下。發現XX項目亟待優化!嗯?有個一鍵優化?點之。嗯?報告優化X項目需要安裝XX軟件。啊,原來安裝XX還有X、X、X等好處,怎麼不早點告訴我?安裝……
    • 誒,電腦出問題了。去網上提問好了……“標題:我的電腦有問題了;內容:誰能告訴我是怎麼回事啊!”……
    • 聽人說XX軟件不錯。啊?這軟件怎麼還要錢啊?找破解版的去。什麼?破解版的是盜版犯法,那我用綠色免安裝版可以了吧……
    • 我把系統/軟件升級了。A功能去哪了?B功能呢?我X!你們這羣人有毛病啊非得要換界面!舊版本的呢,我裝回去……
  • OS X用戶:
    • 嗯,我需要裝XX軟件。哦,99元,這麼貴啊。咦?XX和A、B、C軟件搭配一塊買只要125元?雖然A、B、C我現在都用不到,不過還是買了吧,說不定以後用得上呢。
    • 嘿,我新買了臺Machintosh。嘿嘿,很多東西都改了,和別人的不一樣了,又有了炫耀的資本了。咦,怎麼沒有XX?嗯,肯定是不需要。
  • GNU/Linux用戶:
    • 嗯,我需要XX功能。來條命令搜索一下源裏是不是已有軟件可以完成該功能。嗯?沒有啊,好吧去google一下。咦?真的沒有啊……好吧自己用腳本語言寫一個……
    • 啊,更新一下出問題了。嘗試一個個回滾看是誰出了問題。嗯,原來是X的緣故啊。搜索一下看還有沒有其他人和我有一樣的問題。嗯?沒有?好吧我去看看源代碼去。啊,源代碼是A語言的但是我不會,好吧有空的時候去學習一下。(一段時間後)終於解決了,學到好多東西啊,記錄一下吧。(順手跑一下更新)啥?軟件有新版本已經修復這個問題了?……

(註:隨着 windows小白級用戶 的涌入,這裏有向windows狀況發展的趨勢)

 

p.s. 顯然,不可能所有的用戶都是這樣的,但是個人認爲統計上的置信度至少有90%。

p.p.s. 因爲目前爲止沒有在外國待過,對外國的用戶的瞭解僅限於網絡上,故而可能有失偏頗(尤其是Windows)。但是個人覺得大體上不會差太多,因爲用戶都是人,本身就差不多。

Acer 5745G藍牙

自從用Arch以後,藍牙設備就是一個很令我糾結的東西。之前還有Windows的時候,每當需要用到藍牙,都要去Windows下把開關打開,然後回到Arch下使用。後來硬盤掛了,新買了一個就沒再裝Windows,藍牙也就一直沒有用。

這兩天無聊想買個藍牙耳機,順便想到筆記本的藍牙問題還沒解決,於是決定好好解決一下。

以前用別的發行版(比如U盤上的Kali)的時候,藍牙是默認開啓而且可以使用的;而且Arch上也可以使用。所以先確定問題不在內核或者軟件上。所以問題應該就在電源管理上。

我最初認爲藍牙和無線網卡是在一起的(因爲無線網卡上還有個東西),所以精力集中在尋找是不是哪個內核模塊控制的藍牙電源。

我的無線網卡所用的是ath9k,它的參數中有bt_ant_diversity和btcoex_enable兩個和藍牙有關的項目。嘗試使用modprobe加參載之,用wiki中給的一段bash腳本查看下,發現沒有什麼變化。這條路行不通。

後來偶然在/sys/devices/platform/acer-wmi/看到一個叫rfkill的目錄,cd進去看到又有兩個目錄。分別cd進去並cat name,發現第一個是無線網卡,第二個居然寫的是藍牙!然後下載rfkill這個包,執行

rfkill list

發現藍牙設備(acer-bluetooth)的序號是2,只是被soft block了。之後執行

rfkill unblock 2

這時候如果有圖形化的藍牙控制前端(比如KDE或者Gnome一般都會帶),就可以看到藍牙設備的出現並正常使用了。

 

補註:

  • 執行lshw看到藍牙設備是在USB控制器下的。在archwiki的bluetooth條目其實有一個關於USB藍牙設備的troubleshooting,上邊寫的和我的問題幾乎一樣。再次證實了仔細看wiki的重要性。
  • 如果有人和我的電腦狀況類似,但是按上述執行沒有得到應有的結果,請檢查bluez以及相應的GUI前端是否安裝、bluetooth.service是否開啓。
    • 我就忘了啓用bluetooth.service,所以在執行過rfkill unblock 2之後KDE沒有給什麼說法。之後又用hciconfig和hcitool折騰了好久都沒有解決。最後還是偶然想起沒有啓動服務=。=