-
1 # 城管哎
-
2 # IT人劉俊明
作為一名從事網際網路行業多年的老程式設計師,我來說說我對這個問題的看法。
從語言本身能承載的內容來說,程式語言的難度要遠遠小於自然語言。為什麼這麼說呢?原因有三點:
第一,計算機目前還無法準確理解自然語言複雜的表達方式和上下文語境,所以從設計的角度來說,程式語言在複雜度上一定是遠遠小於自然語言的。
第二,計算機程式語言本身的指令侷限於計算機能完成的功能,目前計算機能完成的功能雖然很多,但是總的來說還是有限的。所以,計算機程式語言在表達能力上遠遠小於自然語言。
第三,計算機程式語言在設計上越來越簡單且易於理解。隨著程式語言的應用越來越普及,目前程式語言的設計趨勢就是越來越簡單,畢竟沒有人喜歡複雜。
既然計算機程式語言沒有自然語言複雜,那麼為什麼大部分人普遍認為程式語言難度高和複雜呢?主要原因不在於語言本身,而在於程式語言的使用過程。自然語言的主要功能是交流,而計算機程式語言的主要功能是完成各種任務,而這些任務的背後往往關聯著諸多演算法,因為程式設計問題說到底就是數學問題,所以給大部分人的感覺是程式語言比較複雜。
未來,隨著大資料、人工智慧的不斷髮展,程式語言將是大部分人需要掌握的一個交流工具,所以有時間可以學習一下目前比較流行的程式語言,給大家推薦一門程式語言:Python,Python語言簡單易學且使用廣泛,無論有沒有計算機基礎都完全可以自學。
如果有程式設計方面的問題,也可以諮詢我。
-
3 # 唐不嘚
程式語言和自然語言的區別在於一個是面對計算機,一個是面對人。
以下為一家之言,不喜勿噴。
計算機只能理解零和一,程式語言與其說是一種語言不如說是一種指令,學會程式語言和計算機交流,不,這裡並不是交流,而且資訊單方的傳輸。我們使用程式語言得到的反饋是可以預知的,可控的。
再看看自然語言,面對不同的人說同樣的話得到的反饋是不一樣的,計算機也不一樣,相同的JAVA和python 程式碼執行在不同的電腦(環境相同或系統相同)得到的結果一定是一樣的。
那麼這麼看來的話,自然語言和程式語言的難度對比也就更加清晰,要學會一種自然語言,要深入瞭解語言的文化,歷史和使用人群的風俗習慣等,這些需要耗費大量的時間,而對於程式語言而言,一年的時間就足以學會所有的關鍵字,語法等。
(圖片來自網際網路)
何況,會多種程式語言的程式設計師很多,精通多種自然語言的則少之又少。
以上。
-
4 # 日衝資訊 黃
我的思想受蒙太古語義學的影響較大,我相信自然語言的語義是可以被形式化的,從這個意義上說,自然語言同程式語言並沒有本質區別。不過,有很多語言學家認為這個觀點過分強調了自然語言和人工符號語言的相似性,忽略了二者的區別。不管怎麼說,自然語言處理(NLP)和程式語言的改善都是把蒙太古語義學作為基礎理論展開的。目前,自然語言的結構要比程式語言複雜很多,表達的語義也要比程式語言豐富得多。從這個意義上說,自然語言的難度遠超程式語言。下面我就從詞彙,語法和語義這三個方面說明一下這個問題。
詞彙的PK從語義學上看,語言中最重要的詞彙是量詞。比如,所有人都喜歡程式設計和有人喜歡程式設計。這兩句話使用了不同的量詞(所有,有的)從而意思上區別很大。自然語言中這類量詞的數量很大,而很大部分程式語言中量詞極為有限。第四代程式語言如Java中就找不到能表達這兩種數量的關鍵字,程式中基本要靠窮舉法作複雜邏輯分枝才能實現。這個問題在第五代語言SQL中得到了改善。SQL使用了ALL,HAS,Exists這些關鍵字比較好的表達了所有和有的的意思。還有更為複雜的情況,比如,喜歡電腦的人也喜歡程式設計。這裡沒有確定的量詞,數量是用上下文確定的。這對SQL文來說也不是問題。不過,自然語言中還有很多表示程度的量詞,程式語言是無法一一對應的,但是,使用一些邏輯表示式,基本上能表達出來。儘管有些武斷,我覺得可以粗略地認為在詞彙上,自然語言和程式語言打了個平手。因為,接下來的兩場PK,程式語言毫無勝算的機會。
語法的PK所謂語法是指句子結構上的規則。自然語言是非結構化的,它的規則十分複雜。儘可能地將自然語言結構化成了自然語言處理(NLP)的主要課題。反觀程式語言,它的規則就簡單多了。畢竟,程式語言是根據邏輯原理創造出來的結構化的語言。程式語言中最重要的語法邏輯是三段論,也就是,if…then。除此之外,幾乎沒有能和自然語言進行關聯的邏輯結構了。語法結構上,程式語言要比自然語言簡單太多了。
語義的PK說到語義自然語言就更加豐富了。從門派上,就能分出哲學語義,歷史語義,結構語義,語法語義,邏輯語義(孟德斯鳩語義)。其中,只有邏輯語義能和程式語言扯上一點關係。程式語言的語義更多的體現在程式設計上,比如,面向物件的思想。還有設計語言,如ER,UML之類。程式語言本身完全體現不出語義的成分。論難度,程式語言完敗。
回覆列表
無論是程式語言還是自然語言,只知道語句和語法,是無法掌握一門語言的。因為語言不僅有基本語句和語法,更重要的是有技巧。比如自然語言,有的人說話就生動、邏輯性強、易懂,有的人的表達就不夠確切、精準,往往詞不達意。大多數人剛學外語時都有此體會。程式語言也一樣,多多練習,不斷積累,總結出一些程式設計技巧之後,就會感到遊刃有餘了。剛入門的時候,才學用刀,刀比較鈍,所以感覺到是個瓶頸,這和剛學外語時是一樣的,多練習練習自然就好了。