作為程式設計師該了解的8條冷知識

2021-08-31 07:00:18 字數 1934 閱讀 6508

作為乙個不合格的程式猿,今天在探(lang)索(sao)的時候接觸到了一些冷門知識。。。

想要成為一名成功的程式設計師,我們除了了解不同程式語言的設計思路,也應當了解程式設計的發展歷史,從而判斷未來的程式設計技術將走向何方。接下就為大家普及下計算機發展歷程中的8個冷門小知識!

作為公認的程式設計之父,charles babbage發明了世界上首批計算機之一。他將這台新裝置稱為分析引擎。其體積超過一棟房屋,由六台蒸汽機驅動並使用打孔卡進行程式設計。分析引擎有四大主要組成部分:1.轉盤——相當於現代計算機中的cpu; 2.儲存——相當於現代計算機中的記憶體與儲存介質; 3.讀取器——相當於輸入機制; 4.印表機——用於實現資訊輸出。

史上第一款電腦病毒,竟然是由防禦技術專家fred cohen親手設計出來的。他創造電腦病毒的目的僅僅是為了證明程式對電腦感染的可行性,從未希望藉此對電腦造成任何危害。但這款程式卻能夠對電腦進行感染,並且能通過軟盤等移動介質在不同計算機之間進行傳播,因而命名為病毒。後來,他又創造出一種主動式電腦病毒,主要目的是幫助電腦使用者找到未受感染可執行檔案。

也許最令人難以置信的是,歷史上第一名程式設計師是位女性。她的名字是ada lovelace。在2023年,這位英國數學家ada lovelace,翻譯了義大利工程師luigi menabreaw撰寫的分析引擎文章。在翻譯過程中,她把自己的理解都批註到每篇文章下,而這舉動加快了計算機程式設計技術的發展。在這之後,她又設計出了第一種能夠利用分析引擎計算伯努利數的演算法,這也是第乙個用電腦編寫的演算法。

40年來,這幅被應用為影象處理方案中的泛用性標準測試素材,還被程式設計師們親切稱為lena的。但大多數人都不知道,它是來自《****》雜誌2023年11月刊的插頁。

linux kernel開創者和git的開發者——linus說,git使用了sha-1並非是為了安全性,而是為了資料的完整性;它可以保證,在很多年後,你重新checkout某個commit時,一定是它多年前的當時的狀態,完全一摸一樣,完全值得信任。

在程式中bug一詞用於技術錯誤。這一術語最初由愛迪生在2023年提出的,但當時並沒有流行起來。在這的幾年之後,美國上將grace hopper在她的日誌本中,寫下了她在mark ii電腦上發現的一項bug。不過實際上,她說的真的是「蟲子」問題,因為乙隻蛾子被困在電腦的繼電器中,導致電腦的操作無法正常執行。如所見,她寫道「這是我在電腦上發現的第乙個bug」。

如果將計算機程式設計世界看作乙個國家,那麼其中涉及的語言種類必然冠絕群倫。目前已知的程式語言共有698種,遠遠超過任何以語言多樣性著稱的國家。

更重要的是,程式設計師們應當了解程式設計技術的發展歷程以及各大里程碑式創新成果背後的貢獻者。另外,歷史文化能夠激發人們對於所從事行業的熱愛之情,從而更為積極地投身於工作當中。

作為PHP程式設計師應該了解MongoDB的五件事

2010年應該被人們記住,因為sql將在這一年死去。這一年關聯式資料庫行將就木,這一年開發者發現他們再不需要長時間辛苦的構造列或者 來存放資料。2010年將是文件型資料庫的起始年。儘管這樣的勢頭已經持續多年,現在才是乙個更多,更廣泛的文件型資料庫出現的年代。從基於雲計算的amazon到google,...

程式設計師必須了解的記憶體知識

c和c 語言開發中,指標 記憶體一直是學習的重點。因為c語言作為一種偏底層的中低階語言,提供了大量的記憶體直接操作的方法,這一方面使程式的靈活度最大化,同時也為bug埋下很多隱患。因此,無論如何,我們都要對記憶體有乙個清晰的理解。1.對記憶體的分配 32位作業系統支援4gb記憶體的連續訪問,但通常把...

程式設計師必須了解的記憶體知識

在c和c 語言開發中,指標 記憶體一直是學習的重點。因為c語言作為一種偏底層的中低階語言,提供了大量的記憶體直接操作的方法,這一方面使程式的靈活度最大化,同時也為bug埋下很多隱患。因此,無論如何,我們都要對記憶體有乙個清晰的理解。1.對記憶體的分配 32位作業系統支援4gb記憶體的連續訪問,但通常...