??????? ?7月4日消息,據國外媒體報道,MS-DOS的開源版本FreeDOS在月底即將發布1.0版。FreeDOS的發起人Jim Hall坦言項目的進展略顯遲緩,但遠未到放棄的地步。之前曾有傳聞這項工程一度夭折。
FreeDOS項目始自1994年,時逢微軟公司發布Windows 95并停止支持MS-DOS。Jim Hall于那時開始投入這項開源操作系統的工作。FreeDOS基于GNU GPL協議,因此程序員們完全可
以為其開發新軟件,而不必依賴于MS-DOS。
FreeDOS.org網站一度門可羅雀,Jim Hall于是將網站指向了SourceForge的服務器,并詼諧表示FreeDOS壽終正寢。隨后他收到了許多郵件,問詢項目終結的緣由。這時Jim Hall立刻恢復了原有的頁面,但是FreeDOS死掉的消息已經流傳開來。
雖然開發人員之間存在不同意見的爭執,但Jim Hall目前信心十足,他表示FreeDOS 1.0將如期發布。
DOS的前世今生
DOS是Disk Operation System(磁盤操作系統)的簡稱,為1985-1995年個人電腦上使用的主要操作系統。DOS最早為西雅圖電腦產品公司工程師Tim Paterson研制,名為86-DOS,后由微軟公司以5萬美元購得并為IBM PC開發出MS-DOS。1981年MS-DOS 1.0發行,與IBM PC捆綁發售,微軟公司也從DOS開始發跡。Windows 9x/Me操作系統即基于DOS(新浪科技注:Windows NT基于OS/2),MS-DOS的最高版本是8.0。
Windows 95的發布使個人電腦迎來了新時代,但是DOS并未從此沉寂。許多程序員出于對Windows的不滿以及對DOS價值與潛力的深刻認識,繼續開發DOS軟件。由于在DOS時代的程序員大多都是些精通系統底層中斷和匯編/C語言的高手,有著豐富的開發經驗和編程功底,因此他們開發出的DOS軟件質量也相當高。為了開發更多的軟件并且增加開發效率,他們設計了諸多DOS軟件的開發工具,DOS在繼續向前發展。
仍在不斷發展和更新中的DOS有FreeDOS、PTS-DOS、ROM-DOS等,這些DOS的功能都十分強大,往往超過MS-DOS。而且由于Allegro等編程庫的出現,在DOS下實現MP3等音樂的播放已是輕而易舉。為了挑戰Windows的界面,程序員們開發了許多仿Windows的界面增強程序,著名的有Seal,Qube,WinDOS等等。還有內核為32位的DOS操作系統,如FreeDOS 32。DOS下已經可以直接讀取U盤,支持多任務、長文件名,可以上網,DVD-ROM、鼠標、游戲搖桿等設備的支持也不在話下。(長樂未央)
|
??????? 作為一個真正合格的程序員,或者說就是可以真正合格完成一些代碼工作的程序員,應該具有的素質。
1:團隊精神和協作能力
把它作為基本素質,并不是不重要,恰恰相反,這是程序員應該具備的最基本的,也是最重要的安身立命之本。任何個人的力量都是有限的,即便如linus這樣的天才,也需要通過組成強大的團隊來創造奇跡,那些遍布全球的為linux寫核心的高手們,沒有協作精神是不可想象的。一旦進入系統的研發團隊,進入商業化和產品化的開發任務,缺乏這種素質的人是不合格的。
2:文檔習慣
說高水平程序員從來不寫文檔的肯定是乳臭未干的毛孩子,良好的文檔是正規研發流程中非常重要的環節,作為代碼程序員,30%的工作時間寫技術文檔是很正常的,而作為高級程序員和系統分析員,這個比例還要高很多。缺乏文檔,一個軟件系統就缺乏生命力,在未來的查錯,升級以及模塊的復用時就都會遇到極大的麻煩。
3:規范化,標準化的代碼編寫習慣
代碼的變量命名,代碼內注釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助于代碼的移植和糾錯,也有助于不同技術人員之間的協作。有些codingfans叫囂高水平程序員寫的代碼旁人從來看不懂,這種叫囂只能證明他們自己?根不配自稱程序員。代碼具有良好的可讀性,是程序員基本的素質需求。沒有規范化和標準化的代碼習慣,研發之間的協作是絕對不可想的。
4:需求理解能力
程序員需要理解一個模塊的需求,很多程序員寫程序往往只關注一個功能需求,他們把性能指標全部歸結到硬件,操作系統和開發環境上,而忽視了本身代碼的性能考慮,性能需求指標中,穩定性,并訪支撐能力以及安全性都很重要,作為程序員需要評估該模塊在系統運營中所處的環境,將要受到的負荷壓力以及各種潛在的危險和惡意攻擊的可能性。就這一點,一個成熟的程序員至少需要2到3年的項目研發和跟蹤經驗才有可能有心得。
5:復用性,模塊化思維能力
經常可以聽到一些程序員有這樣的抱怨,寫了幾年程序,變成了熟練工,每天都是重復寫一些沒有任何新意的代碼,這其實是中國軟件人才最大浪費的地方,一些重復性工作變成了熟練程序員的主要工作,而這些,其實是完全可以避免的。
復用性設計,模塊化思維就是要程序員在完成任何一個功能模塊或函數的時候,要多想一些,不要局限在完成當前任務的簡單思路上,想想看該模塊是否可以脫離這個系統存在,是否可以通過簡單的修改參數的方式在其他系統和應用環境下直接引用,這樣就能極大避免重復性的開發工作,如果一個軟件研發單位和工作組能夠在每一次研發過程中都考慮到這些問題,那么程序員就不會在重復性的工作中耽誤太多時間,就會有更多時間和精力投入到創新的代碼工作中去。
一些好的程序模塊代碼,即便是70年代寫成的,拿到現在放到一些系統里面作為功能模塊都能適合的很好,而現在很多軟件一升級或改進就動輒全部代碼重寫,大部分重復性工作無謂的浪費了時間和精力,這是我們應當刻意克服的弊病。
6:測試習慣
作為一些正規化的開發而言,專職的測試工程師是不可少的,但是并不是說有了專職的測試工程師程序員就可以不進行自測;軟件研發作為一項工程而言,一個很重要的特點就是問題發現的越早,解決的代價就越低,程序員在每段代碼,每個子模塊完成后進行認真的測試,就可以盡量將一些潛在的問題最早的發現和解決,這樣對整體系統建設的效率和可靠性就有了最大的保證。
測試工作實際上需要考慮兩方面,一方面是正常調用的測試,也就是看程序是否能在正常調用下完成基本功能,這是最基本的測試職責,可惜在很多公司這成了唯一的測試任務,實際上還差的遠那;第二方面就是異常調用的測試,比如高壓力負荷下的穩定性測試,用戶潛在的異常輸入情況下的測試,整體系統局部故障情況下該模塊受影響狀況的測試,頻發的異常請求阻塞資源時的模塊穩定測試等等。
當然并不是程序員要對自己的每段代碼都需要進行這種完整測試,但是程序員必須清醒認識自己的代碼任務在整體項目中的地位和各種性能需求,有針對性的進行相關測試并盡早發現和解決問題,當然這需要上面提到的需求理解能力。
7:學習和總結的能力
程序員是人才很容易被淘汰,很容易落伍的職業,因為一種技術可能僅僅在三兩年內具有領先性,程序員如果想安身立命,就必須不斷跟進新的技術,學習新的技能。善于學習,對于任何職業而言,都是前進所必需的動力,對于程序員,這種要求就更加高了。
但是學習也要找對目標,善于總結,也是學習能力的一種體現,每次完成一個研發任務,完成一段代碼,都應當有目的的跟蹤該程序的應用狀況和用戶反饋,隨時總結,找到自己的不足,這樣逐步提高,一個程序員才可能成長起來。
具備以上全部素質的人,應當說是夠格的程序員了,請注意以上的各種素質都不是由IQ決定的,也不是大學某些課本里可以學習到的,需要的僅僅是程序員對自己工作的認識,是一種意識上的問題。
|
今天那位重點大學過了英語6級和高程的女生我們公司拒絕了....
其實看到她悻悻的離開,我真有點于心不忍,畢竟我出的題我自己做了5個小時才做出來,卻只給她一下午可能真的有點難為她了....可能看到這兒的朋友會覺得我很奇怪,怎么能對一個剛畢業的同學這么苛刻呢...其實我對她并非苛刻,一個剛過了高程的人我認為寫一顆樹應該是輕車熟路吧...我之所以給你4個小時去完成我5個小時才能完成的工作就是想看看你有沒有耐心去把樹寫出來..并非讓你將所有功能和界面都完成...如果你能寫出個大概,能耐心去做,我想我不會對你的工作很苛刻的,無非就是看看你的編碼習慣是不是好,思路是不是清晰,數據結構學的是否扎實....可惜,結果是你提前放棄了...呵呵
我一直堅信性格決定命運,面對平凡的時候你會不會厭煩...面對無從下手的工作你會不會放棄...面對無奈的時候你會不會積極的調整自己的心理...
我見過幾個剛畢業的學生應聘程序員的情景,并非我強調剛畢業,只是我見到的這幾個有個通病,比如今天這個,我想她并非是連一個基本的樹結構都寫不出的同學,只是面對我給的題目主觀認為題目太過復雜...復雜到自己幾乎沒有能力完成,導致放棄...為什么會讓她覺得題目復雜呢,先看看我的題目:將文件中以樹型結構存儲的數據讀出到樹型結構中然后將數據顯示到一樹型控件上...我想從以下幾點來說明為什么她會認為題目很難:
1,考高程的時候做題太書面化,盡管自認為各種結構理解的透徹,各種算法也都能熟練填空...可是很少有人上機實際將各種結構完整的實現...
2,面對未知或者沒用過的東西(比如樹型控件,各種文件操作)沒有正確的方法去解決,而是妄自菲薄認為自己沒有聽老師講過,沒有看教材上寫過,所以難度太大...其實正確的方法是學會看各種資料文檔,學會在網上搜索資料...
3,最后是沒有積極的品質,曾經一個男孩來應聘,同事出的題,大概也是看起來比較復雜的東東...那個男孩看了幾分鐘后對同事說太難了,做不出來..同事耐心的告訴告訴他,不用全部實現,你盡力去做,做到哪算哪..那個男孩說,這種東西你們看起來可能不難,可是我們剛畢業覺得無從下手啊,沒法做...
其實我想來應聘的同學并非都是沒寫代碼的外行,只是面對困難的時候首先就告訴自己太難了,我不行...放棄當然簡單,逃避就能避免被進一步的日瓜(洛陽方言)...寫到這里突然想到老婆...不要認為無所謂,其實在失敗之前只差一步就是成功,在放棄前再多走一步,再多走一步,希望能給想做程序員的同學們一點啟示...
如何在涉世之初少走彎路,有一個好的開端,開始一番成功的事業?以下是一些先行者積累的10條有益的涉世忠告。好好地遵循、把握這些忠告和建議吧,比起所學的課堂課程來,它毫不遜色!
1、買個鬧鐘,以便按時叫醒你。貪睡和不守時,都將成為你工作和事業上的絆腳石,任何時候都一樣。不僅要學會準時,更要學會提前。就如你坐車去 某地,沿途的風景很美,你忍不住下車看一看,后來雖然你還是趕到了某地,卻不是準時到達。“鬧鐘”只是一種簡單的標志和提示,真正靈活、實用的時間,掌握 在每個人的心中。
2、如果你不喜歡現在的工作,要么辭職不干,要么就閉嘴不言。初出茅廬,往往眼高手低,心高氣傲,大事做不了,小事不愿做。不要養成挑三揀四的習慣。不要雨天煩打傘,不帶傘又怕淋雨,處處表現出不滿的情緒。記住,不做則已,要做就要做好。
3、每個人都有孤獨的時候。要學會忍受孤獨,這樣才會成熟起來。年輕人嘻嘻哈哈、打打鬧鬧慣了,到了一個陌生的環境,面對形形色色的人和事,一 下子不知所措起來,有時連一個可以傾心說話的地方也沒有。這時,千萬別浮躁,學會靜心,學會忍受孤獨。在孤獨中思考,在思考中成熟,在成熟中升華。不要因 為寂寞而亂了方寸,而去做無聊無益的事情,白白浪費了寶貴的時間。
4、走運時要做好倒霉的準備。有一天,一只狐貍走到一個葡萄園外,看見里面水靈靈的葡萄垂涎欲滴。可是外面有柵欄擋著,無法進去。于是它一狠心 絕食三日,減肥之后,終于鉆進葡萄園內飽餐一頓。當它心滿意足地想離開葡萄園時,發覺自己吃得太飽,怎么也鉆不出柵欄了。相信任何人都不愿做這樣的狐貍。 退路同樣重要。飽帶干糧,晴帶雨傘,點滴積累,水到渠成。有的東西今天似乎一文不值,但有朝一日也許就會身價百倍。
5、不要像玻璃那樣脆弱。有的人眼睛總盯著自己,所以長不高看不遠;總是喜歡怨天尤人,也使別人無比厭煩。沒有苦中苦,哪來甜中甜?不要像玻璃那樣脆弱,而應像水晶一樣透明,太陽一樣輝煌,臘梅一樣堅強。既然睜開眼睛享受風的清涼,就不要埋怨風中細小的沙粒。
6、管住自己的嘴巴。不要談論自己,更不要議論別人。談論自己往往會自大虛偽,在名不副實中失去自己。議論別人往往陷入雞毛蒜皮的是非口舌中糾 纏不清。每天下班后和你的那些同事朋友喝酒聊天可不是件好事,因為,這中間往往會把議論同事、朋友當做話題。背后議論人總是不好的,尤其是議論別人的短 處,這些會降低你的人格。
7、機會從不會“失掉”,你失掉了,自有別人會得到。不要凡事在天,守株待兔,更不要寄希望于“機會”。機會只不過是相對于充分準備而又善于創 造機會的人而言的。也許,你正為失去一個機會而懊悔、埋怨的時候,機會正被你對面那個同樣的“倒霉鬼”給抓住了。沒有機會,就要創造機會,有了機會,就要 巧妙地抓住。
8、若電話老是不響,你該打出去。很多時候,電話會給你帶來意想不到的收獲,它不是花瓶,僅僅成為一種擺設。交了新朋友,別忘了老朋友,朋友多了路好走。交際的一大訣竅就是主動。好的人緣好的口碑,往往助你的事業更上一個臺階。
9、千萬不要因為自己已經到了結婚年齡而草率結婚。想結婚,就要找一個能和你心心相印、相輔相攜的伴侶。不要因為放縱和游戲而戀愛,不要因為戀愛而影響工作和事業,更不要因一樁草率而失敗的婚姻而使人生受阻。感情用事往往會因小失大。
10、寫出你一生要做的事情,把單子放在皮夾里,經常拿出來看。人生要有目標,要有計劃,要有提醒,要有緊迫感。一個又一個小目標串起來,就成了你一生的大目標。生活富足了,環境改善了,不要忘了皮夾里那張看似薄薄的單子。