第六十章 就這麼簡單
帝寵之養鬼成妃 痴情蠱 面首三千 修真吧少年 神域祕境 天穹弒 極品孃親腹黑兒 英雄聯盟之明星召喚師 墮落 上 網遊之武林群俠傳
第六十章 就這麼簡單
大概是在LUS十一歲的時候,他的外公終於抱回來第一臺計算機,名稱為VIC-20。這臺計算機就是LUS接觸的第一臺真正意義上的計算機,他之後就完全沉迷在這個神奇的世界中。
VIC-20是最早的家用計算機之一,只有一個小盒子作為主機,需要連線上電視機作為顯示器。LUS的外公只是將其作為一個升級版的計算器,而事實上這臺計算機的功能也並不是很強大,但是這臺計算機對於LUS來說,卻有著非常重要的意義。
VIC-20雖然很簡單,但是卻可以使用BASIC語言編寫程式,而這成為了LUS之後最大的樂趣。
BASIC語言是一種相對來說比較簡單的高階程式語言,最適合初學者學習使用。
LUS至今還對他的第一個電腦程式印象非常深刻,那是不斷迴圈在顯示器上列印“HELLO(你好)”的小程式,是他按照程式設計手冊上的範例而輸入到BASIC程式設計器裡面的,很簡單,只有兩行程式碼。第一行程式碼就是告訴計算機“列印HELLO”,第二行程式碼則讓它跳轉到第一行。
通常情況下,計算機執行程式的時候,是從前到後按順序執行的,但是如果人為地指定了跳轉的話,他就會乖乖地調到你指定的地方重新開始執行。
所以,LUS編寫的第一個程式就是不斷的在顯示器上列印“HELLO”,後來他妹妹看到之後,就讓他將這個程式進行了修改,將第一行列印的內容改成了“薩拉是世界上最棒的!”。
LUS很快就將BASIC語言用得很熟練了,他可以使用這種程式語言來幫助外公來解決一些比較複雜的計算問題,他成為了外公的得力助手。這個時候,他才深切的體會到,計算機程式設計對自己生活的改變。
從那以後,他用BASIC語言編寫了好多程式,大多數都是一次性的,寫完之後刪掉又重來。他將自己各種各樣的奇思妙想都用程式設計實現出來,他享受到了無線電之外的樂趣。並且他開始嘗試著將計算機和他的無線電臺聯絡起來。畢竟都是電子產品,兩者之間還是有著一些聯絡的,他將自己的零花錢省下來,購買了一些資料線和轉換介面,將計算機和自己的電臺連線起來。並且開始嘗試使用BASIC語言編寫一個程式,想用這個程式完成英文字元和摩斯電碼之間的相互轉換。
也就是說只要將需要傳送的文字內容輸入進去,這個程式就會自動將這些字元轉化為摩“嘀嗒”模式的摩斯電碼,然後透過連線在計算機上的電纜線傳遞給發報機,從而將訊號傳送出去。
這是一個非常實用的程式,有了這個,大大簡化了他和別人進行通聯的效率,將自己電鍵按鈕中解放出來。
花了大概一個月的時間,他的程式的確是編寫好了,英文字元可以順利轉換為“嘀嗒”訊號,但是他遇到了一個比較頭疼的難題,他不知道如何將這些訊號透過資料線傳遞給發報機。
這需要搞清楚資料傳輸的底層原理,但是BASIC語言在這一塊卻根本沒有這方面的內容。
他花了大量的時間來研究這個問題,但是卻一直沒有頭緒。直到有一天,他從一位業餘無線電朋友那裡得到了這樣一個程式。
這個程式的功能和LUS之前構想的功能是一樣的,而且可以正常工作,順利將CW等幅報傳送出去。對LUS來說,最重要的並不是這個程式的功能,而是編寫這個程式的語言。
在此之前,他一直以為計算機程式設計就是BASIC程式設計,以為計算機裡面有且只有BASIC一種程式語言。對於計算機底層到底如何工作,他並沒有一個非常清晰的理解。
而這小程式向他打開了計算機底層原理的大門。
那個火腿朋友不但將編譯好的程式給了他,與之附帶的還有這個小程式的原始碼。
LUS驚訝地發現,這個程式並不是由BASIC語言編寫的,而是一些奇怪的數字,剛開始的時候他一點兒也看不懂,但這並沒有影響他對其進行深入研究的興趣。後來他才知道,原來這些數字是一種十六進位制的被稱為“機器碼”的語言。這些數字,按照固定的換算關係,可以很容易地將其轉換為僅僅由“0”和“1”組成的數字串。
而“0”和“1”才是計算機中最本質的原理所在。
BASIC語言只是建立在“機器碼”之上的一種高階語言,之所以發明出來,是為了讓程式設計師能夠更好的記憶,降低程式設計的難度。
這個道理,就如同那些成語典故一樣,雖然只有短短的幾個字,卻可能包含著一大段的內容。程式設計師之前早就學過這些“典故”,所以他們編寫程式的時候,就如同在寫文章,隨心所欲地使用著這些成語典故。但是計算機卻比較“笨”,他無法直接理解這些典故,必須透過“編譯器”這種工具翻譯一下,將成語典故解釋為一大段比較淺顯易懂的文字,這樣它才能理解。
程式設計師甚至不用關心這些典故的詳細內容,如典故發生的時間地點和涉及到的具體人物,他們只需要大概知道這個典故可以在什麼時候使用就行了。反正還有“編譯器”這個翻譯人員在,他最終會將具體的細節和計算機說清楚的。
這樣的好處是顯而易見的,程式設計師可以節省大量的時間和精力,透過使用“典故”,可以很迅速地就可以編寫出字所需要的程式。
不過,這也有很大的弊端。因為如果程式設計師不瞭解這些“典故”的來龍去脈的話,就無法做一些比較細緻的東西。就如同LUS之前那樣,他只學過BASIC,而並不知道BASIC最終到底會被翻譯成什麼樣的機器碼,不瞭解其中資料傳輸的細節,所以也就無法編寫出這個程式。
這實際上是BASIC的限制所導致的,它本身的設計缺陷導致了它無法操作這些底層的東西。
而透過這個小程式,LUS知道了原來在BASIC語言下面,還存在一種被稱之為“機器碼”的東西,而在機器碼的下面,更是有一種叫做“二進位制碼”的東西。
到了這個層面,這就完全是硬體方面的東西了。“0”表示一個開關的斷開,而“1”則是表示開關的閉合。作為一個資深火腿,對這種簡單的電路他最是熟悉不過。
他這個時候才發現,原來計算機就這麼簡單。
====
小強建了一個騰迅微.群,詳細請訪問【rockxie點com】檢視,歡迎大家加入
C