對於語言的理解

2022-01-22 10:40:08 字數 598 閱讀 5428

本文來聊聊語言,筆者前後已經接觸過近10種程式語言,回過頭想想,才慢慢的了解程式語言的本質。

按個人理解,程式語言和自然語言(指人類交流語言,如漢語,英語)本質上並無區別。為什麼?用看程式語言的方式看自然語言,那麼:自然語言有很多個關鍵字或者說全域性變數(各種詞語、單詞),這些關鍵字經過一定的語法排列最終可以形成各種句式,通過這些句式可以實現人與人之間的交流。自然語言也可以定義「變數」,也就是造新詞,只不過現在自然語言的詞庫已經很龐大了,基本不需要新的詞語。

程式語言與自然語言的區別乙個是前面說的關鍵字與全域性變數的數量,還有乙個就是人為理解的速度。自然語言學的比較慢,因為有大量的「關鍵字」,但是一旦學成,別人說的話你基本可以立即反應過來對方在說什麼;而程式語言,需要多行**才能做好乙個模組功能,人為來理解一段**的話至少需要幾秒鐘的時間。

以上算是個人對於語言的一點小小的心得,可能有描述的不到位的地方,也可以當成笑話來看。

寫這篇文章是激勵自己學習英語以及以後學習其他國家語言的。學程式語言到後面避免不了要看英文文件。筆者學習各種程式語言很有興趣,但心裡曾經十分反感學習自然語言,但是有了上面這些理解後,覺得自然語言也不過是種語言而已,所以本文也可以給那些程式語言學的「差不多」但是對外語比較反感的同行,願共同進步。

對於STL的理解

stl standard template library stl是一些 容器 的集合,這些 容器 有list,vector,set,map等,stl也是演算法和其他一些元件的集合。這裡的 容器 和演算法的集合指的是世界上很多聰明人很多年的傑作。stl的目的是標準化元件,這樣就不用重新開發,可以使用...

對於ftok的理解

回顧了一下以前的實驗,一直不理解為什麼在訊息佇列中要使用ftok,比如下面的乙個例項 if key ftok a 1 qid msgget key,ipc creat 0666 建立乙個訊息佇列 if qid 0 printf created queue id d n qid 輸出訊息佇列的id 要...

對於Zookeeper的理解

zookeeper是google 的chubby乙個開源的實現,是hadoop 的分布式協調服務。它包含乙個簡單的原語集,分布式應用程式可以基於它實現同步服務,配置維護和命名服務等。zookeeper包括乙個leader和多個follower。為什麼使用zookeeper?大部分分布式應用需要乙個主...