指令碼類語言真的方便嗎?

時間 2021-05-31 10:52:08

1樓:馮東

和邏輯相關的思維活動,一般有兩個步驟。第一,是用邏輯符號驗證頭腦中的想法;第二,是用「改進過」的邏輯符號表達來讓他人理解已經驗證過的想法。

邏輯思維是人腦進化到最近幾萬年的產物。「邏輯」這個工具固然強大,但是人腦前幾百萬年的進化遺產顯然還沒有,而且似乎也永遠不會完全向「邏輯」靠攏。這樣就造成乙個問題。

從邏輯的角度來看,人腦的活動有點「天馬行空」。容易在關鍵點上產生跳躍。所以,有時候頭腦中的一閃念看起來不錯,用嚴密的邏輯符號寫到紙上,就會發現根本行不通:

幸運的話,稍稍修改,不幸的話,可能整個想法都要推倒重來。

所以,人們發明了很多嚴密形式化邏輯符號來幫助大腦。但是這樣的邏輯符號必須有乙個特點:使用流暢,盡量避免干擾大腦本身的思維。

比如說,牛頓和萊布尼茨發明微積分的時候都使用自己的符號,這很好,只要不影響他們自己的思路。

接下來,你必須把自己用符號驗證過的想法介紹給別人,因為,你的想法必須併入到已有的邏輯系統中,才能發揮僅憑一人之力無法達到的功效(包括你驗證自己的想法時也利用了別人的很多想法)。這時就需要更加便於交流的符號。

軟體開發是最容易出現最初的想法和實際邏輯產生出入的地方。所以,對第一種邏輯符號的需求產生了高階動態語言。軟體開發又是最需要大規模協作的邏輯活動,所以,對第二種邏輯符號的需求產生了靜態型別系統。

所以,高階動態語言的價值在於,在初次把想法變成 code 的時候維持高速度的 flow of thought。這通過兩方面完成:第一,高階動態語言無需編譯,有更快的 REPL 速度;第二,高階動態語言沒有語言冗餘(語言冗餘是靜態型別系統的重要部分,靜態型別系統通過語言冗餘來檢查語言中容易出現的錯誤),所以思路的變化和 code 的修改往往一一對應,避免思路發生小改動的時候 code 必須修改多處,導致思維中斷。

目前軟體開發的一大難題是:兩種符號很難相互轉換。所以,很多團隊為了長遠利益,放棄了第一步(頭腦想法驗證)的效率。

還有一些其他原因。比如說:C 語言設計的確實不錯,所以用 C 來完成第一步,雖然效率比不上高階動態語言,但是也差強人意,同時又保證了第二步的效率。

所以,全部用靜態語言,避免採用高階動態語言,有其合理性。不過我認為,在這個問題上業界還需要多種嘗試。特別是 Lua 這種具備優秀的 C 介面的高階動態語言,可能會提供一種在第一步和第二步之間平滑過渡的機制。

2樓:彭望

指令碼語言的方便我感覺是不需要編譯啊抬手F5我就能跑了~

相對C++編譯半個世紀真是坑爹,有點BUG python改改我又開跑了,C++我改改又是半個世紀過去了。

大學用 iPad 記筆記真的方便嗎?

Cinderella 個人覺得紙質和ipad各有優劣,紙質更好吧,我用ipad寫英語作業,匯入pdf做題目,看課件,看網課等還是不錯的,畢竟筆記本帶起來不方便。 嘗吟 對於沒有課本,資料都是pdf,上網課,一大堆英文reading的人來說 實在太方便了!作業在ipad上寫,再也不用拍照掃瞄再上傳了買...

萊克M12max真的很方便嗎?

白骨精的唐僧吶 我想問這個問題的時候你還不知道200AW的吸力意味著什麼?就是說這個產品的效能遙遙領先於行業水平。這樣一款高效能的吸塵器還能做到方便已經很不錯了,更何況萊克在方便的同時把使用者體驗做到了極致。低重心立式設計,推著不費力,手腕也不酸,打掃時順勢推著就行。另外,由於吸入效率高,節能省電 ...

c ,c語言,c 真的有這麼形象嗎?

醉臥沙場 在漫漫歷史長河中,曾出現了一門絕世武功 九陰真經 各界武林人士為了一窺其真容,紛紛爭奪 學習 效仿。隨著歷史的推移,看過 九陰真經 真容的人越來越多,各種只言片語的手抄本改編本廣為流傳,在大家都快分不清 九陰真經 到底說了什麼的時候,江湖上又流傳出一本 十八陰真經 傳說比 九陰真經 強一倍...