程式語言小傳之 一 最早的程式語言 機器語言

2021-07-07 04:33:49 字數 1037 閱讀 8966

現在普遍認同的說法是2023年2月14日,世界上第一台現代電子計算機,俗稱電腦,埃尼阿克(eniac)在美國賓夕法尼亞大學誕生。它使用了17468個真空電子管,7200個晶體二極體、1500個繼電器、10000個電容器,還有大約五百萬個手工焊接頭。 耗電174千瓦,占地170平方公尺,重達30噸,每秒鐘可進行5000次加法運算。據說當時每次埃尼阿克計算機開動起來,計算機所在的費城全城的電壓都會降低!

當時還沒有任何計算機開發語言,怎麼讓機器「理解」人的要求,然後計算結果反饋給人,是一件非常麻煩的事情。儘管它能執行複雜的操作序列,可以包含迴圈、分支和子程式,但是這個機器沒有儲存器,只能理解機器語言(二進位制),可想而知,給它程式設計會有多麻煩!把乙個數學計算問題變成乙個輸入,讓它能夠「理解」、「計算」,通常要花好幾周的時間。當把問題搞清楚了以後,操作各種開關、連線各種電纜,然後通過打孔卡片輸入,又要花掉好幾天時間。然後,還要進行驗證和測試,通過機器的單步執行來協助測試。

當時,做這種「程式設計師」工作的主要是六位女士,她們2023年入選國際科技名人堂。下圖為她們的工作場景:

※  引自網路:

至於埃尼阿克(eniac)的程式設計原理與方法,有興趣的話,可以參看下面**:

現在我們許多程式設計師自嘲自己是碼農、做體力活的,第一代程式設計師,那6位女士,可真是幹體力活!

埃尼阿克(eniac)的第一次測試執行是計算氫彈相關資料,輸入、輸出資料是一百萬張卡片!

每秒5000次加法計算的速度,拿到現在來說只能是玩具級別的,還是低檔的玩具!可相對於人工計算,已經是相當驚人的了。比如對於圓周率的計算,英國人w.香克斯在2023年計算到小數點後707位,後人為了紀念他,在他的墓誌銘上,刻了707這個數字。而據說他是用了30多年的斷續工作才完成的。而使用eniac進行計算,僅用了40秒就達到了這個記錄,還發現香克斯的計算中,第528位是錯誤的。

值得一提的是,當時做計算處理器(cpu)的,是電子管。而電子管除了體積大、發熱大等缺點外,最大問題是容易壞掉。而埃尼阿克(eniac)最長無電子管損壞記錄才100多個小時!

C程式語言之一

d 按照十進位制整形數列印 o 按照八進位制整形數列印 x 按照十六進製制整形數列印 c 表示字元 s 表示字串 表示 本身列印 ld long型輸出 幻數 define 名字 替換文字 define num 100 i,比i 更精煉 兩者的區別 i,不會產生乙個中間暫存器變數來儲存變數 i 產生乙...

程式語言 扯談程式語言的選擇

還有兩天就回學校了,這兩天的主要任務是了解lisp的歷史和現在的各種分支,然後選擇乙個來學。既然又扯到計算機程式設計上了,那就乾脆說開了吧。有種出生牛犢不怕虎的感覺,雖然程式設計年齡不小了。但是由於一直自學,自我感覺良好,其中走了不少彎路,更浪費了太多的時間。程式語言種類繁多,但是主要正規化或型別乙...

R語言程式設計 阿里推筆試題之一

沐哲是乙個菜鳥倉庫的乙個揀貨員,但他有非常個怪異的習慣。每次揀貨的重量都要比之前揀的乙個輕,每次揀到貨後都可以得到1塊錢,沐哲想知道這樣最多能賺多少錢 32 34 7 33 21 2 13 12 3 11 26 36 16 30 22 1 24 14 20 23 25 5 19 29 27 15 9...