236.
“ül?”
程理看到這個名字的時候,不由愣了一下,一個塵封已久的記憶,逐漸被喚醒了。
在上大學的時候,程理因為旺盛的好奇心,經常涉獵各種有趣的事情。
其中就包括了世界編程史。
一直以來,很多人通常認知的,世界上最早的編程語言是Forfran。
但實際上,地球上最早的編程語言是德國計算機科學家Zuse,在1945年自己獨立編寫出來的一種名為ül的高級編程語言。
當時,Zuse是為二戰時期的德國效力,二戰時期的德國確實是非常的厲害,不僅自己懟全世界,還要忍受豬隊友的拖累,在這種情況下,二戰德國在戰爭時期,擁有許多黑科技的發明。
這其中包括最早的計算機原型之一Z4計算機。
而除了Z4計算機外,二戰德國當時還有另外一項黑科技,就是當時全世界范圍內都是最為領先的高級語言編程領域。
當時Zuse為二戰德國效力,他所帶領的項目團隊為二戰德國在設計計算機和編寫相應編程語言,做出了重大貢獻。
然而到1945年初,盟軍轟炸摧毀了大量德國的原型計算機,於是Zuse搬到了偏遠的巴伐利亞村莊Hinterstein,而他的項目團隊成員也就各奔東西。
於是,Zuse獨自一人著手開發一種在Z4計算機上表示計算過程的語言,並最終在那一年完成了這個高級語言的研發。
不過,當時二戰德國戰敗,德國由於被西方主流世界所忌憚,因此加以隔離。德國的科學家,包括計算機領域的一切研究成果,都難以流傳到西方主流世界中。
因此Zuse在1945年寫下的ül語言設計手稿,一直到1972年,才正式發表,才為人所知。
而當時,基於某種政治正確的引導,西方學術界大多數認為,世界最早出現的編程是由IBM公司率領的團隊邊寫出來的Fortran語言。
不過現在,就程理在算學碑的這個萬界圖書館裡的收錄情況來看。
ül語言確實是地球上當之無愧的最早出現的計算機編程高級語言。
因為這本《ül語言設計手稿》是被排列在這個計算機編程語言書架的最前列,也就是最早出現的。
ül語言是在1945年就被Zuse設計出來,而一直到15年後,他ül語言所包含的一些功能,才逐漸在其他語言中顯現出來。
ül語言的超前性,由此可見一斑。
“ül語言?這個我倒是有點印象。”
程理回憶完這段關於ül語言的歷史後,不由說道。
“ül語言作為高級語言是相當的完整,也不知道當時二戰德國是怎麽網羅了這麽多天才如彗星一樣的人物為其效力。如果二戰的時候,讓德國率先研發出原子彈,那麽二戰結果還真是猶未可知。”
程理胡思亂想了一翻後,開始翻起了這本書籍。
“這是最早的編程語言,總不會還不讓我看了吧?”
程理翻開了第一頁,讓他感動的是,那煩人的迷霧,終於沒出現了。
那書頁上,似乎還殘留著剛寫下的墨汁香味,朝著程理撲鼻而來,讓程理看到了無比清晰的字跡。
“有了!可以看到!”
程理精神一振,總算有一本完整介紹高級語言編譯器設計思路的編程語言。
這讓程理不由得開始聚精會神的讀起了這本書。
而隨著深入的讀取這本書的知識後,程理越發的感到驚奇。
“真難以想象,ül語言是在1945年出現的……它在數據結構方面具備了好多超前的特性,很多都是要到十幾年後才出現的。”
程理開始深入分析起這種語言。
“ül中最簡單的數據類型是單個比特位,整型和浮點數類型都是用單個比特建立的。其中浮點型采用了兩兩互補的標記方法和隱藏位方案,而這種方案後來經常被用來避免存儲浮點值規格化後小數部分的最高位……”
“這只是ül語言在數據方面的特性,而在結構方面,ül語言除了常用的標量類型之外,還包含了數組和記錄,可以包含嵌套的記錄……”
“而在於語言的規范上,ül語言雖然沒有顯式的goto語句,但是它包含了與Ada語言中for語句類似的迭代語句,它還包含了一個帶上標的Fin命令。此外ül語言還包含了一條選擇語句,不過並沒有else語句……”
程理的研究越發的深入,他對這個語言有了更加深入的了解。
在地球上的時候,程理對ül並不太了解,甚至只是知道這樣一個大概的名字。
畢竟當時,程理所處的時代,已經有太多更加先進方便的高級語言,所以ül只是靜靜躺在歷史博物館裡供人瞻仰而已,甚至由於那些歷史原因,很多人都不知道ül是世界是最早的編程高級語言。
但現在,ül卻成了程理在這個世界中,最先掌握的一門高級語言。
“有趣,真的太有趣了。”程理一邊研究一邊說道,“ül語言最有趣的一點是用數學表達式來表示程序變量之間的關系,這和後世JAVA語言和公理化語義中的斷言非常相似。”
“而且這個ül語言,雖然是在1945年那個計算機剛誕生不久的年代出現,當時在1945年,計算機界主流都還停留在用二進製機器語言編程的低效年代。 而Zuse的這份手稿裡所包含的事例程序,就比當時1945年其他用機器語言編寫的程序要複雜得多。”
“我粗略估計了下,如果我學會了ül語言,那麽要實現一些諸如對數組的排序、測試圖的連通性、執行整數和浮點數運算,以及對多個不同優先運算符的邏輯公式進行語法分析,甚至包括算法設計,都有巨大的幫助!比起我現在用二進製機器語言直接進行編程,能有效率上的巨大提高!”
在編程領域通常都有一個說法,高級語言的編程效率高,但執行效率低,因為要經過翻譯這個中間環節。
而二進製機器語言的編程效率低,但執行效率高,因為可以被計算機直接讀懂並進行執行。
不過,對修真者有過一番了解的程理,很清楚,對於這些修真者來說,硬件上並不存在太多的製約,編程效率上的低下問題,才是這些修真者最需要解決的問題。
簡單一句話來說。
修真者,更需要學會如何用高級語言去編寫法訣(程序)。