0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

從Unix視角看文言文為什么短不能用呢

Linux閱碼場 ? 來源:Linux閱碼場 ? 2023-03-30 09:11 ? 次閱讀

文言文為什么短?

我是搞網絡的工人,略懂文字,從Unix視角談。

Unix/Linux程序很像文言文,列舉一些:

ls, pwd, sed, awk, ab, bc, cd, cc, cat, dd, df, ex, fg, ip

不是干這一行的基本不明白上面這些命令是干什么的。

再看一些文言詞:

汝 子 若 君 爾 彼 其 或 所 何 安

是不是很像。這里面有什么關聯(lián)?

存儲開銷

Unix早期磁盤磁帶昂貴,古代龜甲竹簡絲帛紙張昂貴,信息越短越好。

傳輸開銷

Unix早期直到1990年代,網絡帶寬小且昂貴,古代書信運輸手段有限且昂貴,信息越短越好。

持久化開銷(寫開銷)

Unix早期鍵盤簡陋,分時使用終端,需快速輸入,古代識字寫字成本高,會擠兌農時,信息越短越好。

短信息實際是一種壓縮,雖有利于存儲,傳輸和持久化,但解壓縮成本也高,無論Unix命令還是文言文,都需要時間來記憶,會就會,不會就不會,Unix尚有manual,文言文就只能靠昂貴的教育了。

無論是Unix短名字,還是文言文,隨著時間的發(fā)展都成了一種文化,雖然我們現在依然會說ipt,但大多數人還是喜歡iptables這個名字,同理,我們也不會再滿嘴之乎者也。

時至當代,存儲開銷,傳輸開銷,持久化開銷已不再是問題,Linux程序逐漸以system替換了sys,以network替換了net。

然而上述只是一條線,還有另一條線。

文言文對應的有口語白話文,Unix程序對應的有源代碼,或者叫編程語言寫的程序。

持久化存儲的信息需壓縮至簡,這是受到一些限制不得已而為之,但如果日常交流也這般,非但不會有收益,還會平添開銷,你先跟對方說個謎語,再自己解釋這個謎語,豈不是冗余?

因此在無需存儲,無需傳輸的直接交流場景,就是口語白話文了。

看一下sed源碼中的一處定義:

/* Sed operates a line at a time. */
struct line
{
  char *text;                   /* Pointer to line allocated by malloc. */
  int length;                   /* Length of text. */
  int alloc;                    /* Allocated space for text. */
};

雖然很難理解sed是stream editor的縮寫,但看它的源碼卻無任何障礙,源碼不光是編譯成二進制,更重要是它還是工人之間交流的媒介。如果你寫的源碼不能表意,交流成本就會變高,甚至不得不重寫。

與文言文相對的白話也是為了交流,它重點考慮的是對方聽懂。簡單講就是要直白。

直白的源代碼,直白的口語,最大的優(yōu)勢是它們可以最小成本地適應變化。

編程語言不斷變化,不斷有新的編程語言問世,日??谡Z也根據地域,時間發(fā)生變化,直白的語言不需編解碼,不需壓縮解壓縮,因此應對變化更靈活。

編程語言一直在演變,但二進制卻沒變,我們的口語也一直在演變,但寫出來的文字卻很穩(wěn)定,這便是。

秦始皇書同文,并沒有要求語同言,不是因為他做不到,而是他故意的。

寫是一回事,說是另一回事,“寫”是為了跨時空交流的,必須考慮存儲,傳輸,持久化成本,“說”是為了當下交流的,是否直白幾乎是唯一的考量。





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • UNIX
    +關注

    關注

    0

    文章

    296

    瀏覽量

    41335
  • 編程語言
    +關注

    關注

    10

    文章

    1916

    瀏覽量

    34381

原文標題:從Unix看文言文為什么短

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    為什么AD9弄過來的原理圖封裝有的能用有的不能用

    請教一個問題 為什么AD9弄過來的原理圖封裝有的能用有的不能用 使用環(huán)境:pads9.5
    發(fā)表于 01-04 11:12

    LabVIEW做百度翻譯助手

    做天氣預報程序的時候,用過論壇一個UTF8_TO_GBK的VI,這個用此VI也沒用,所以現階段只能中譯英了。更新:已經解決中文顯示問題,現在可以實現多種語言的互相翻譯,居然還有文言文的。要運行程序需要安裝JSON API庫,我已經下載好放在壓縮包里面了,請先安裝。
    發(fā)表于 07-28 11:41

    服務端視角高并發(fā)難題

    `所謂服務器大流量高并發(fā)指的是:在同時或極短時間內,有大量的請求到達服務端,每個請求都需要服務端耗費資源進行處理,并做出相應的反饋。 服務端視角高并發(fā)服務端處理請求需要耗費服務端的資源,比如
    發(fā)表于 11-02 15:11

    為什么我不能用DHCP獲取動態(tài)IP地址?

    請問一下,我用開發(fā)板源程序做帶系統(tǒng)的LWIP_TCP客戶端實驗時,為什么我不能用DHCP獲取動態(tài)IP地址,只能是靜態(tài)IP地址,我DHCP的定義為1,請問該如何解決?(其中開發(fā)板為stm32f103)@zuozhongkai
    發(fā)表于 11-07 04:21

    什么是UNIX操作系統(tǒng)

    ,是指繼承UNIX的設計風格演變出來的系統(tǒng)。那什么是UNIX?UNIX操作系統(tǒng)(尤尼斯)是一個分時系統(tǒng)、多用戶、多任務操作系統(tǒng)。Linux是一個基于POSIX和
    發(fā)表于 11-04 07:29

    Linux上的RT***驅動不能用這個是為啥

    Linux上的RT***驅動不能用這個是為啥?如何實現USB轉網口功能
    發(fā)表于 03-03 11:15

    如何解決allegro16.3的stroke不能用的問題

    如何解決allegro16.3的stroke不能用的問題.用習慣了allegro里面的stroke,安裝了allegro16.3發(fā)現stroke不能用
    發(fā)表于 11-22 11:03 ?5230次閱讀

    電腦usb接口不能用沒反應怎么辦

    我們在使用電腦時有時會遇到電腦usb接口不能用或是電腦USB沒反應,可能很大部份人都遇到過這樣的情況。下面是小編整理的電腦usb接口不能用沒反應的解決方法。希望對大家能有所幫
    發(fā)表于 11-05 18:11 ?10.8w次閱讀

    Unix是什么?比較Unix和Linux

    最初的根開始增長,“Unix戰(zhàn)爭”開始了,標準化成為了社區(qū)的一個新焦點。POSIX標準誕生于1988年,以及其他開源工作組的標準化工作一直進行到到20世紀90年代。
    的頭像 發(fā)表于 07-25 17:06 ?5025次閱讀

    文本(數據)挖掘的角度去“探索”全唐詩

    然而,對于古漢語(文言文),尤其是詩詞的分詞處理可沒有這么簡單,因為單字詞占古漢語詞匯統(tǒng)計信息的80%以上,再加上古漢語微言大義,字字千鈞,所以針對現代漢語的分詞技術往往不適用于它。鑒于此種情況,筆者采取的是逐字切分的處理方式,同時去掉一些常見的虛詞,如“之”、“乎”、“者”、“也”。
    的頭像 發(fā)表于 02-20 14:23 ?2174次閱讀

    手機指紋不能用了如何解決

    手機解鎖的方式以前的密碼解鎖到現在的指紋解鎖,發(fā)展是非常的快,相比很多人都非常喜歡指紋解鎖,方便又快捷,但有時候指紋解鎖也會遇到問題。那么,手機指紋不能用了怎么辦?下面將會為大家介紹。
    發(fā)表于 06-15 17:39 ?7657次閱讀

    知道什么是虛和虛斷

    “虛”是指在分析運算放大器處于線性狀態(tài)時,可把兩輸入端視為等電位,這一特性稱為虛假短路,簡稱虛。顯然不能將兩輸入端真正短路。
    的頭像 發(fā)表于 11-03 15:35 ?4.4w次閱讀
    一<b class='flag-5'>文</b>知道什么是虛<b class='flag-5'>短</b>和虛斷

    物聯(lián)網流量卡到底能不能用

    物聯(lián)網流量卡到底能不能用?
    的頭像 發(fā)表于 08-28 09:40 ?5706次閱讀
    物聯(lián)網流量卡到底能<b class='flag-5'>不能用</b>?

    Unix和Linux的差異

    摘要:程序員都知道,Linux 不是 Unix,不過二者之間確實存在關系,即 Linux 系統(tǒng)是 Unix 派生出來的,而 Linux 是一個類 Unix 的操作系統(tǒng)。那么,二者之間
    發(fā)表于 09-04 12:42 ?508次閱讀

    什么情況下不能用和虛斷?集成運放虛虛斷的條件

    什么情況下不能用和虛斷?集成運放虛虛斷的條件? 虛和虛斷是指將兩個電路中的節(jié)點用一個“虛接點”連接起來,形成一個等效電路的方法。虛
    的頭像 發(fā)表于 09-20 16:29 ?6355次閱讀