每日最新頭條.有趣資訊

人類第一個可編程的產品,居然是1801年的一台織布機!

估計老差友們都知道,“ 紙帶 ” 這個詞兒在差評不是什麽褒義詞。

做新媒體,最重要的是啥?當然是消息靈通啊!只有能拿出一手消息的人才會贏得大家的尊重,這是心照不宣的對局。被大家冠以“ 紙帶 ” 的人,在差評是沒有地位的。

可能這時候,有些差友會奇怪,為啥 “ 紙帶 ” 成了我們評價一個人是不是消息閉塞的代名詞了呢?

這事兒還得從 1801 年說起。。。

那時候工業革命初興,機器浪潮席卷歐洲大陸,人們總是在想辦法讓生產效率提高。

為了能讓紡織機器能夠自動編制出複雜花紋的圖案,法國發明家Joseph-Marie Jacquard 在 1799 年發明出了雅卡爾織布機,這種機器能通過判斷卡片上是否有孔洞來操縱線團的高低位置。

只要根據圖案設計好每條線的走線,做好對應的打孔,紙卡連成長條,形成連續指令,便能不用人工調整不同顏色的線團的走線了。

此機器一經推出,立刻風靡歐洲,極大提高了生產力水準。可以說,它是人類最早的可編程系統。

再之後,紙帶再次大放光彩,就是有電子計算機之後的事情了。

大家都知道,計算機運行時使用的是二進製。紙帶上如果有孔,可以對應二進製的 1,若沒有孔,則對應二進製的 0。

所以,人們把編寫好的程序製作成相應的紙帶,通過讀紙帶機來將相應的 0|1 碼傳達給計算機,這樣計算機就能知道我們的指令是啥了。

然而,這種打孔紙帶實在是效率太低了。20 世紀 50 年代,美國製造了最先進的空軍 SAGE 防空系統,雇傭了當時美國一半多的程序猿,用62500 卷穿孔紙帶寫了 5M 的數據,花費了將近 10 年時間才完善。

所以,在我們差評,“ 紙帶 ” 妥妥是滯後的代名詞。

好在,後來 ACSII 碼出現了,人們終於可以用 0|1 來代表英文字母和數字。工程師們給當時出現的小型計算機加上了 “ 電傳印表機 ”,只需要用鍵盤敲擊指令,計算機就會把相應的結果列印出來,人們終於擺脫了打孔紙帶。

有了 “ 電傳印表機 ” 之後,人類才在編程的道路上開始發足狂奔。

1964 年,Dartmouth BASIC ( BASIC 語言的前身)成為第一個擁有 IDE 的編程語言。

IDE 的中文是 “ 集成開發環境 ”,可以理解為一種方便程序員進行開發的工具集合。

Dartmouth BASIC 的 IDE 非常簡單,程序員輸入一段指令,電腦就會返回相應的結果,它可是現在命令行編輯器的鼻祖。

這個 IDE 集成了編輯、文件管理、編譯、調試、運行等功能,讓人們開發效率迅速增加。

後來,因為螢幕的出現,開發程序的環境有了一點人機互動的樣子。。。

再後來,圖形化界面開始興起,高級編程語言興起,IDE 也在創新發展,這些都讓編程的門檻一再降低。

1998 年微軟公司開發了真正的程序員必備利器 —— “ Microsoft Visual C++ 6.0 ” 。

提起 VC++6.0,估計不少人要會心一笑了。大學時期的 C 語言設計,多少人第一次在螢幕敲打下 “ Hello World! ”,從此走上了程序開發強(tu)者(tou)之路。

此時的 IDE 已經可以支持編譯多種程序語言,通過插件可以實時查看變量的數值。

後來,各種各樣的 IDE 推陳出新,支持的功能也越來越多:關鍵字高亮、自動補全、代碼框架生成、版本控制、甚至是自動重構等等,程序員的工作效率和便捷度像乘了火箭一樣上升。

但是,功能越多,IDE 也就更繁雜。越來越臃腫的 IDE 卻沒有討好程序員,高階程序員們甚至寧願在 Linux 的編輯器裡用最簡單的 vim 編程。

後來微軟推出了 VS Code,輕量化,按需裝插件,才終於挽回了頹勢。

最近兩年在開發界,提的多的就是 “ 上雲 ”,伺服器部署雲端,數據存儲在雲端,於是,大家就在試探,是不是開發也能在雲端完成呢?

不懂的差友不要誤解,這裡的 “ 雲 ” 並不是指在天上,而是 “ 遠程 ” 的意思。就像有的人會將文件保存在本地電腦,有的人會將文件備份到網上 —— 這個就叫 “ 雲端備份 ”。

以前人們開發程序必須要在一台性能比較好的電腦上,所以大家應該會經常看到程序員去哪兒都要背著一個電腦,這就是 “ 本地開發 ”。

而 “ 雲端開發 ” 則可以讓人們擺脫對電腦的硬性需求,程序在雲上,開發環境也在雲上,你只要一個能連上網絡的螢幕就可以了。

華為雲今天在華為開發者大會 2020(Cloud)上介紹的 CloudIDE 就是這麽一個工具,你可以隨時隨地,用任何終端(電腦、手機、平板、甚至某些電視 )都可以查看編寫代碼。。。

雖然 CloudIDE 部署在雲端,但它使用起來該有的功能一個不少(自動補全、版本控制等),同樣,其他定製化需求可以通過插件來解決。

而且,如果你使用 CloudIDE 來開發代碼,它還會貼心為你準備各種模板,不僅有主流的各種編程語言,還包括小眾的量子計算開發和區塊鏈開發。

而且,使用CloudIDE 開發,可以根據自己的需求來決定雲端性能。最厲害的是它還支持在華為的鯤鵬架構下進行開發。。。

據統計,現在世界上的雲端算力由 ARM 構架提供的佔比已經超過了 80%,而鯤鵬正是基於 ARM 來運作的。

以前程序員經常會遇到在 X86 平台上編譯 ARM 程序的情況,總是出現各種各樣的問題。如果用 CloudIDE 的話,用鯤鵬的 ARM 環境編譯 ARM 程序,問題將迎刃而解。

而且,CloudIDE 還提供了一鍵驗證的功能,直接將實例對接雲端資源,瞬時搭起整個服務框架,在容器中隨意調試,是一個真正面向未來開發的工具。

在今天華為開發者大會 2020(Cloud)上,華為 DevCloud 研發技術總監王亞偉現場給大家演示,在 CloudIDE 上用 10 分鐘進行一個小遊戲的開發與驗證,編程時自動生成框架,強大毫無遲滯的自動聯想,都讓編程事半功倍。

從 GitHub 上直接拉代碼倉▼

自動聯想▼

如果差友們還是不過癮,還可以到華為開發者大會 2020(Cloud)的 Codelabs 上去瞅瞅,那裡有各種示例公開給大家。

有利用華為雲一站式 AI 開發與管理平台 ModelArts 智能識別手勢的例子,也有將 X86 代碼遷移到鯤鵬平台的示範。。。

無論是你想嘗試大數據的魅力,還是想體驗 loT 的魅力,都可以在 Codelabs 找到相應的項目。

大家可以通過 CloudIDE 來看相應的代碼,直接看解題思路,也可以自己試著動手修修改改,享受開發的樂趣。

像我就比較好奇之前 CloudIDE 中的量子計算,在 Codelabs 裡就正好有相應的編程教程和詳細代碼,於是。。。

滿足好奇心了▼

假如你是個學生或者開發者,沒準兒會有大收獲。只可惜,明天是 Codelabs 華為開發者暢玩周免費開放的最後一天,想嘗試的人一定不要錯過這個機會!

不過還是有個好消息的,華為雲公布,如果開發者使用 CloudIDE ,並選用鯤鵬平台的話,整個 2020 年都將免費使用。

現在一條龍服務都準備好了,感興趣的差友們趕緊戳“ 閱讀原文 ”去體驗一下吧。

圖片、資料來源:

wikipdia,Dartmouth BASIC、Command-line interface

《Crash Course Computer Science》

(廣告)

獲得更多的PTT最新消息
按讚加入粉絲團