經過幾天的思考,林奇做出來了一個艱難的決定,自己先開發出來一個語言。
這門語言要讓所有的認識字的國人都能使用,林奇希望憑藉著這個語言,讓我國的軟體行業實現彎道超車,領先於全球。
要實現這樣的目標,首先這個語言必須是漢語言,其中不夾雜一點點外語,不能像之前的一個宣稱是漢語程式設計的叫做易語言那樣,只是把if變成了如果,那麼簡單的東西。
林奇希望這門語言變得易學,只要有初中程度的文化水平的人也都能在短短的7天內學會使用這個語言,真正的實現《7天精通xx語言》。
這就要求這個語言足夠簡單,至少是用法上足夠簡單,不管後面邏輯是怎麼樣的,只要開發人員在前臺輸入了簡單的一些語句,它就能準確無誤的執行。
基於這兩個主要的目標,林奇開始了自己的程式語言之戰。
林奇首先給自己定製了一臺配置超高的計算機,開啟程式設計軟體,林奇寫下了第一句話:xx年xx月xx日xx分xx時xx秒,開始了x語言(現在林奇也不知道這個語言要命名為什麼)的編寫。
所有的語言在編碼的時候都要遵守一些特定的規定,比如有的語言要求,在行尾必須有英文的符號「;」否則程式碼進行編譯或者執行的時候就會報一個語法錯誤,說這個檔案某某行編寫的有問題,不能執行下去。
不過如果你忽略這個,強行執行下去,那麼他輸出的結果很難是你想要的結果,甚至有的程式你根本就執行不下去,不是閃退,就是直接報錯,這還怎麼玩,只能遵守它的遊戲規則。
林奇不想準守這個,他覺得,既然開發人員要表達的主要意思都表示出來了,只要沒有異議,那麼像這些邊邊角角的東西編輯器自己加上去就好。
可能一百次中有一次自己加錯了,那也沒有問題。
林奇想打破這個規則,不讓程式編寫那麼枯燥,總是寫一些無關緊要的東西。
林奇希望程式設計師只需要全身心的開發主要的東西就可以了。
還有一個也是所有的程式語言都知道的,但是偶爾也會陰溝裡面翻船的事情,那就是所有的語言裡面的陣列,編號都是從零開始的,比如我們數數都是一個饅頭,兩個饅頭,三個饅頭……一百零一個饅頭。
而在程式語言裡面,就不是這樣的,他們是這樣數數的,第零個饅頭,第一個饅頭,第二個饅頭……第一百個饅頭。
這是因為為了節省機器的空間,因為二進位制電腦是從零開始的,這樣可以節省一些空間。
但是林奇對這個早有詬病,程式是電腦執行的,但是原始碼是人看的,這明明是面對的兩種不同的情況,編譯器內部難道不能做這些轉換嗎,為什麼非要從開始的時候就定成編號從零開始。
所以林奇把這個也加入到了自己必定最佳化的點,可能有的人會說,現在所有的程式語言都是從0開始,你這x語言從1開始,到時候推廣的時候人們會不會就搞不清楚,會誤用這塊。
林奇想告訴有這樣想法的人,你們想多了,只要人們知道有這個用法,那麼以後人們絕對不會誤用,因為這個才符合「人」的思維,也許他們用這個語言習慣了,可能會覺得其他語言裡面從0開始計數的設計非常難用。
林奇以前還看了一個段子:程式設計師去面試,你知道什麼叫做「類」(程式語言中的一個屬於)嗎?程式設計師回答:老闆我不知道什麼叫做累,我這人幹活特別勤快,天天加班到2點都沒有問題。
這個「類」是語言經過了很久的進化而出現的一個高階產物,它在某些方面很有用途,林奇決定這塊要保留,但是也要進行一些變通,讓它使用起來更加的簡單,甚至讓人在不知不覺中就開始用,而不是必須去想著這麼用,才去考慮。
對於函式、變數這些,所有的程式語言都有這一個東西,林奇覺得這個做的挺好的了,也一起保留。
語言還可以分為強型別語言和弱型別語言,就是一個變數他表示的是1234這樣的數字,還是「落霞與孤鶩齊飛,秋水共長天一色。」這樣的字串,對於強型別語言,他表示的是什麼就是什麼,比如是1這樣的數字,他可以+100程式設計101,但是不能給他賦值為「小荷才露尖尖角」這樣的字串。