因為鄭明是一名優秀的程序員,秦奕先帶著他來到李勇軍這邊,讓他了解“乾坤”語言和“方寸”編輯器。
鄭明看了一會兒乾坤的示例代碼,雖然關鍵字不一樣,但他還是通過程序結構,立刻意識到這門叫“乾坤”的語言是從c語言衍生出來的。
它有著和c語言類似的基礎語法元素、控製結構、函數定義與調用等。
不過,它沒有c語言裡強大卻相對複雜且容易出錯、讓人又愛又恨的指針運算符,也沒有c語言頭文件和實現文件分離的設計。
變量的作用域管理也大不相同。
在c語言中,一個文件內的全局變量默認是項目全局變量;而在“乾坤”裡,同樣的聲明方式得到的是一個單文件全局變量,也就是說項目的每一個文件都自帶命名空間。
頭文件和作用域的這種改動是否合理,見仁見智。
不過鄭明最疑惑的是這門語言關於指針的改動“你們這語言沒有指針相關操作的話,怎麼讓函數的修改傳遞出來給調用方?”
李勇軍解釋道“實際上,在‘乾坤’這門語言裡,函數對變量的所有修改都能傳遞出來。”
“在這門語言裡麵,變量實際上是對象的引用,這和指針有相似之處,它們都指向內存中的某個位置。”
“當把一個對象賦值給一個變量時,變量存儲的是對象在內存中的引用,而不是對象本身的值。”
“函數參數傳遞也是基於引用的,當將對象作為參數傳遞給函數時,實際上傳遞的是對象的引用,函數內部對該對象的修改會影響到原始對象。”
鄭明聽到這話,十分震驚“你這意思是,其實你們這函數裡麵是沒有值傳遞的!”
李勇軍點了點頭“是的。”
鄭明思考了一下“那這樣子很可能會導致一些不想傳遞的修改被傳遞出來。”
李勇軍說道“這是自然的,設計本身就是一種權衡。”
“我認為隻有引用傳遞帶來的好處遠大於它帶來的壞處,而且在較大規模的軟件工程當中,大部分變量都包含眾多成員變量,更經常出現的情況其實是不小心用了值傳遞帶來的一些問題。”
“了解。”鄭明若有所思地點了點頭,然後總結道,“我理解現在‘乾坤’語言相對c語言改進的地方有這幾塊。”
“第一個是剛才討論的指針能力的改動。第二個是內置了像是字典、可變數組、類這樣的高級數據結構,還有不少像是求和、最大值、最小值這種默認函數。第三個是用縮進來表示代碼塊,避免了大括號帶來的視覺乾擾。不知道還有沒有什麼疏漏呢?”
他把這幾塊內容稱之為相對於c語言的改動,是因為他十分相信這些改動能夠較大地提升程序員的開發效率。
聽到鄭明看一個示例工程就能這麼快分析出“乾坤”和c語言相比幾處關鍵的改動,李勇軍意識到眼前這人是一個編程水平極佳的程序員,他給秦奕使了一個眼色,秦奕卻有些好笑地搖了搖頭。
李勇軍感到有些可惜,不過他還是積極地和鄭明繼續交流“在代碼層麵上比較關鍵的改動基本就是這些,在運行時有一個比較關鍵的差彆,就是‘乾坤’是解釋器語言,它有一個運行時環境。”
“運行時環境?”鄭明皺眉,“這對程序性能損耗可不小。”
李勇軍說道“對,確實有不小的性能損耗,但其實大多數時候我們對性能並沒有那麼高的要求,而且我們還設計了‘乾坤’語言和c語言程序交互的方式,所以就算遇到部分對性能有要求的邏輯,我們也完全可以通過c語言甚至是彙編語言外聯的方式來達到高性能的目的。”
“原來如此。”鄭明說道,“不過外聯的方式始終是要複雜一些,運行時環境帶來的好處真有這麼大麼?”
“很大!我給你演示一下吧。”李勇軍開始在電腦上打開“乾坤”解釋器,開始演示起來,“首先,解釋器帶來的交互式編程能讓我很快地驗證一些小功能;其次,它的內存回收機製也能讓我在編程的時候不用太操心內存釋放問題。”
“我現在還在給解釋器增加對異步編程的支持,如果是c語言的話,想要實現比較通用的異步編程的話,就隻能依賴操作係統的能力了……”
鄭明和李勇軍兩人對著電腦上的解釋器一番操作,討論得不亦樂乎。
秦奕看到和鄭明一起來的人一時間有點被晾在一邊,他笑著說道“這位朋友,如果你對編程領域不太感興趣的話,可以看看我們彆的產品,我們還有一個基於圖形界麵操作的‘靈犀’辦公套件,相比ordstar,操作更便捷,想來你也是用得上的,可以了解一下。”
說著他就把這個人引到求博軍麵前,讓求博軍給他講解“靈犀”的功能。
過了一陣之後,鄭明和李勇軍的討論似乎告一段落,他拿著一張軟驅向秦奕走來,苦笑道“其實剛才我看你們那個叫‘鬥將’的街機遊戲的時候,就覺得你們公司的研發實力實在是很強大了。”
“勇軍給我介紹完‘乾坤’編程語言和配套的‘方寸’編輯器,我頓時覺得之前選擇工作的決定是不是有些草率了,我有點後悔我沒答應你的邀請來鵬大電子。”
秦奕笑道“哈哈,後悔嗎?其實你要是想來的話,現在鵬大電子也還是很歡迎你過來的,我們除了‘乾坤’‘方寸’‘鬥將’,可還有很多產品在研發呢,現在你同事正在使用的‘靈犀’辦公套件也是我們的拳頭產品。”
“真的可以嗎?”鄭明有些驚喜,“如果是這樣的話,我真的得好好重新考慮一下了。”
其實他之前選擇中科新技術,除了公司本身的原因之外,辦公場地也是相當關鍵的,他是冀省人,家離京城很近,在京城上班能時不時回一趟家,可要是到鵬城的話,那估計一年到頭就隻有過年才能回家看看自己的親人了。
喜歡科技革命,從1984開始請大家收藏101novel.com科技革命,從1984開始101novel.com更新速度全網最快。