Post view

軟體程式的智慧

軟體程式的智慧


    各位好, 8 月份在台北世貿中心的電腦應用展已經於 19 日正式落幕, 您是否
有趁暑假期間前往參觀? 今年或許是受到經濟景氣的影響, 參展的廠商較少, 但是
所展出的作品卻沒有受到影響, 不僅推陳出新甚至大有「看頭」! 也或許是口碑相
傳的原故, 來會場的人潮竟然比往常增加了許多倍, 還好本人有一張特權人士才
能持有的「貴賓卡」, 才免於大排長龍以及被擠得死去活來的恐懼。為什麼我會有
這張卡而各位沒有? 這是因為在下拿著「烏玆衝鋒槍」向「輕鬆輸入法」的作者
威脅利誘、連哄帶騙拐來的, 真可謂是 : 得來全不費功夫。

◎  千萬別誤會, 烏玆衝鋒槍只是一個電腦遊戲的名稱。


◎  輕鬆輸入法, 是一個真正人人輕輕鬆鬆, 不必用心背就可以學得會, 更不需要
    K 「字根表」的中文輸入法!  我們會在介紹中文輸入法時做詳細的說明。

    今年所展出的新產品裡, 其中有兩個非常有趣的電腦週邊設備 :


□  中國筆: 這是使用一隻電子的「數位筆」, 在一個特殊的寫字板上直接書寫文
    字, 電腦會立即辨認我們所寫的字, 如果看得懂的話, 就會把辨認後的字送給
    電腦裡正在執行的軟體。據聞軟體的辨識能力高達 95% 以上,不管你是用繁體
    或簡寫方式它都看得懂 (草寫呢 ?) 。這是國人自行開發的產品, 值得大家的
    鼓勵。電腦的中文輸入方法一直在改進, 由以前的鍵盤、滑鼠, 發展到了現在
    的數位筆, 不必再 K 中文輸入法的字根表, 可以直接手寫中文, 足以見得國
    人對於電腦的中文化一直不遺餘力。關於在電腦上輸入中文的問題, 留待將來
    介紹輕鬆輸入法時一併說明。

□  VTV : 三度空間科幻世界。以前無論我們玩那一種 Game 都只能用鍵盤、滑鼠
    、搖桿、遊戲控制器來玩 Game , 實在很難做到「身歷其境」的效果, 但是新
    的 Virtuality T.V 簡稱 VTV 居然做到了!  VTV 分為立式和坐式兩種, 當天
    所展示的是立式的 VTV。

 玩者必須先「全副武裝」, 頭上戴一個特製的顯示盔
    (除了可以顯示遊戲的畫面外, 還可以檢知頭部的位置是抬頭還是低頭), 腰間
    再綁上一個感應腰帶 (檢知玩者是否有轉身) , 手裡再握著一個前進 (向前行
    走) 和發射子彈的控制器, 最後再「關」入一個遊戲台上, 就可以開始玩了。
    玩者將會在頭盔裡看到遊戲裡面立體的動畫, 把玩者帶入身歷其境的環境裡。
    比如: 你可以抬頭、低頭或轉身來尋找天上飛的恐龍和躲在某個角落的敵人,
    如果發現它們的蹤跡時, 就趕緊發射飛彈, 若沒有打中它們會「落跑」, 這個
    時候就可以按前進鈕去追... 萬一不幸被恐龍抓到天上丟下, 當你摔到地上還
    會一陣天旋地轉 (別擔心, 只是動畫而已)。

    喜歡 VTV 嗎? 不過可不便宜喲! 雖然 VTV 的立體動畫還不錯, 但是線條太多
, 如果可以使用近乎真實的立體影像畫面, 並加強玩者的反應檢知, 例如: 跳、蹲
下... 則未來的世界裡, 玩 Game 可能會成為大人和同學們的最愛。筆者一直在想
, 如果用這麼好的設備來玩超級瑪利 Ⅴ、快打旋風 Ⅲ 、戰斧 Ⅳ 或大魔界村 Ⅲ
, 不知道會是怎樣的一種感受?說不定會玩一場下來會比打一場棒球、坐雲霄飛車
、看一場恐怖電影還刺激! 甚至可能會禁止: 體力不佳, 有心臟病、氣喘的朋友玩
VTV 或過於激烈的 Game !

    我們經常會聽到兩個流行的名詞 ─ 「硬體」和「軟體」, 所謂硬體就是電腦
本身以及和週邊設備的統稱, 英文是 hardware 。換句話說, 硬體是指看得見的摸
得到的實體產品組合, 比如電腦主機、中國筆和 VTV ...等。

什麼是軟體 (software) 呢? 簡單的說, 軟體就是電腦的智慧和靈魂。因此軟體不僅看不見也摸不到,
因為智慧本來就是無形的資產。軟體是由許多的指令所組合而成的, 使用不同的指
令和不同的組合方式 (程式) , 就可以構成不同功能的軟體。軟體可以命令硬體來
工作, 當硬體接收到軟體所交付的指令, 就會依指令的意義來執行動作。但是只有
硬體而沒有軟體的話, 它只不過是一堆電子零件的組合罷了, 和錄放影機裡沒有錄
影帶、車子沒有人駕使的情況是完全一樣的, 硬體本身並不會工作, 必須靠軟體來
指揮硬體工作, 就像中國筆和 VTV 。

    硬體是科技的產物、智慧的結晶, 而軟體也是人們智慧的結晶, 但因為軟體是
無形的資產, 所以很容易被人們忽略, 在無形中侵犯了軟體的「著作權」。輕鬆輸
入法的作者高衡緒先生, 每年都會參與幾次的電腦展, 他告訴我: 有些人對於軟體
的價值是依照軟體的有形物質來評斷其價值的, 比如一套軟體裡只有一本書和一張
磁片, 應該只賣二、三百元, 如果賣二、三千元就實在太貴了! 各位讀者們, 你認
為軟體的價值觀是這樣評斷的嗎? 雖然學校的老師們並沒有教我們該如何來評沽一
件事的價值, 但是我舉個例子讓各位想想看。

    比如有一位世界著名的畫家 ─ 畢卡索先生, 當他完成一幅世界名著後, 我們
會不會以他所用的畫筆、畫布和顏料的售價, 來決定這幅畫的價值?相信是不會的
, 如果真是這樣的話, 一定再也沒有畫家願意畫畫了, 因為我們都知道幾隻畫筆、
一張畫布、幾瓶顏料, 最貴也不過幾萬元, 如果一幅舉世名畫只賣幾萬元, 有誰還
肯畫呢? 一定是以這幅畫所給予人的感受, 來評斷這幅畫的價值。以一幅世界名畫
來說, 可能要價值幾百萬甚至上千萬元的代價! 為什麼會和畫的成本差這麼多呢 ?
因為在這幅畫上, 被畢卡索大師賦予了, 至尊無上的崇高智慧和心血。智慧是無價
的, 並不是說不值錢, 而是高得無法沽計其金額數字, 所以畢卡索的一幅畫儘管賣
到幾千萬以上, 我認為還是太便宜了。

    電腦軟體也是一樣的情形, 我們決不可以用這個軟體的包裝裡, 含有幾張磁片
和幾本書來評斷這套軟體的價值, 軟體是智慧的結晶, 智慧本身是無價的, 應該不
會有因為媒介的不同而有不同的評斷方式, 因此軟體本身亦是無價的, 可以說是「
無價之寶」。

但是有某些人為了一己之私, 把軟體當做不值一毛錢的無價之寶, 隨
意非法拷貝軟體來使用, 可以說一套軟體比市面上所租的一卷錄影帶還不值錢! 長
期下來就沒有公司願意製造品質精良的軟體程式了, 這是一種惡性循環。這樣講你
可能無法感受, 我們換個方式來說: 假設你的父親是軟體的開發設計公司的一員,
因為有許多人非法拷貝你父親所設計的軟體程式, 而使得公司沒有利潤而倒閉, 結
果他失業了, 而你的家庭生活和學業亦受到嚴重的打擊, 請問這樣的後果該由誰來
負責呢? 你? 你父親? 軟體公司? 還是非法拷貝的人?

相信明智的你一定清楚這是
誰的錯! 幸好目前著作權法已經通過了, 並且在電視上頻頻打出非法拷貝軟體要判
六個月以上的牢, 請大家切勿以身試法。所以一套軟體只買幾百元, 我們應該說這
套軟體「物超所值」, 如果喜歡的話請買一套帶回家。

    一般而言, 一個好的軟體必須集眾人力量才能完成, 在開發期間大伙投入無數
的心血和智慧, 經過「構思」、「分析」、「設計」、「撰寫」、「測試」、「除
錯」、「完稿」這些階段, 任何一步都必須仔仔細細馬虎不得, 才能做出一個完美
的產品。如果是製作電腦遊戲的話, 還要再加上「腳本」、「場景」、「人物造型
」、「動畫製作」、「音樂」和「導演」, 最後還要設計海報、精美的玩家手冊、
攻略技巧, 才算是一個完整的電腦遊戲軟體。

你認為要賣多少銀兩呢?1500 -3000應不為過吧,
這是美國當地的售價, 結果到了台灣只賣 150-300! 也未免太便宜了
, 有些還只要 50 元就更離譜了。為什麼會這樣呢? 因為台灣拷貝的風氣盛行, 以
薄利多銷的方式 + 軟體保護鎖,應該會讓很多人願意花錢, 購買台灣代理的遊戲軟
體才是, 結果呢? 還是有某些人連這一點小錢都不願意花, 喜歡玩免費拷貝得來的
Game 。其實仔細想想, 花錢買的軟體會比較珍惜, 即使只花 100 元, 也會多花點
時間玩到遊戲的最後一關, 這樣才是玩 Game 的真正樂趣不是嗎? 尤其是目前推出
了許多中文版的遊戲軟體, 更值得各位購買。

    說了半天, 軟體裡面究竟是什麼東東? 為什麼從存放軟體的磁片上, 一點也看
不出痕跡 ? (除非磁片被刮壞了) 相信你從錄影帶或錄音帶上, 也看不見影像和聲
音是一樣的, 它們必須經由錄影機或錄音機才能還原記錄在裡頭的資訊。磁片上所
記錄的軟體, 同樣的也必須靠磁碟機和電腦來還原資訊以後才能使用。那麼軟體是
記錄些什麼訊號呢? 只不過是許多的 0 或 1 的數字罷了。

每一個數字稱為一個位元, 電腦只看得懂 0 和 1 , 不像我們可以看懂 0 - 9 。若由 8 個位元所編成一
個字組 (word) 則這個電腦可稱為 8 位元的電腦,同理 16 個位元編成字組, 則稱
為 16 位元的電腦, 而目前最流行的就是 16 位元和 32 位元的電腦, 將來甚至會
發展到 64 位元以上的電腦。電腦的位元數愈多, 則表示能同時處理的數目愈大,
比如十進位數的 2 位元只能處理 00-99 , 而 4 位元則可以處理 0000-9999 。

    在電腦裡面同樣的 11010010  (二進位制) 可能被解釋為數字, 也可能被解釋
為某個指令的代號, 要如何解釋就要看這個數字所出現的位置了, 如果是位於程式
區則被解釋成某指令, 如果是在資料區則解釋為數字。11010010 (二進位) 可換算
為十進位的 210 或 D2 (十六進位) 。其實任何一種軟體都只有兩個基本元素, 就
是「指令」和「資料」。只是不同功能的軟體, 其構思、分析和設計的方法不同,
而使用不同的指令和資料, 不同的組合方法而已。因此軟體的公式是 :

        演算法 + 指令 + 變數 + 函數 = 軟體。

    演算法就是軟體的設計方法, 也就是軟體的智慧, 如果演算法愈複雜則軟體愈
聰明, 如果演算法愈簡單, 使用者就會覺得這個軟體笨笨的真難用。變數則是程式
裡儲存資料的地方。電腦裡的函數定義比較廣, 不只一般數學函數 sin、cos、tan
、exp.. 還包含了資料的輸出入、字串處理、記憶體管理、資料轉換、資料的搜尋
和排序、磁碟檔案管理、繪圖和動畫函數... 等。因為指令、變數和函數是大家都
可以取得的基本工具, 因此著作權法應該保障構思、分析和設計演算法的人, 也就
是保護軟體的智慧, 如果保障撰寫、測試、除錯的人不是很奇怪嗎? 沒有保護發明
人, 結果去保護工廠製作產品的人, 以後還有誰肯發明, 提供智慧呢?

    一般的電腦語言都會提供這些撰寫軟體的必備工具, 而其中以  C 語言所提供
的函式最多, 超過 450 個以上。再加上 C 語言擁有其他語言所沒有的強大功能,
因此 C 就成為最受歡迎的電腦語言。很可惜的是, 正因為 C 的能力高強, 而使得
學習上必須比其他語言,如 BASIC 付出更多的時間和心血才能學會。

目前市面上 C的書籍把讀者定位在已經學過其他電腦語言, 自然這些書對各位來說是「艱深難懂」。
當然如果你對程式設計有興趣的話, 肯多花點時間來學, 一定會比其他同學的
功力要高上許多。

不過可不要隨便買一本書猛K哦, 看書要有方法才會學得快, 應
該先挑一本你可以看懂前面部份或可以讀懂任何一句話的書, 然後把這本書所講的
章節抄下來, 等這本書看了大半或有空時再去找其他書, 重點是找這本書所沒有講
的章節, 只要有一個章節是其他書沒有的, 這本就應該買下來, 多買幾本書並挑出
書裡的特點, 就可以學會了。告訴各位一個小秘密, 筆者所有的電腦知識都是用這
個方法學來的, 因為每一本書的作者不同, 所學的角度和體會的程式設計技巧也會
有所不同, 如果你可以綜合這些書的優點, 相信可以成為程式設計的高手。

    因為上述的問題, 筆者正在寫一本 C++ 語言的入門書,希望各位可以用快快樂
樂的心情、輕輕鬆鬆「自學的方式」來學 C++ 。所謂自學就是自己 K C++ ,如果
有問題不必問同學或老師! 那麼要問誰呢?簡單, 當然是問學生文摘的祝主編啦!
啊!... 主編, 我錯了! 千萬不要拿著藤條追殺, 我已經很久沒吃過這個玩意了...


有問題當然是立即撥熱線。請注意 C++ 並不是 C 的「加強再加強」
版, 而是全新的「物件導向程式語言 (Object-Oriented Program Language, 簡稱
OOPL」, 只是採用 C 語言的語法風格, 所以叫 C++ (為什麼不叫 Object-C 呢 ?
或許 C++ 看起來像小精靈吃大力果這個 Game, 比較好記吧!) 如果是採用 Pascal
語言的語法, 則稱為 Object-Pascal。學一個全新的電腦語言, 一定比花時間學老
式的語言要好吧。我的意思是你也可以自己動手寫軟體喲!


名詞解釋 :
────────────────────────────────────
字根表 : 中文輸入法裡, 所有中文字的基本組合成員。例如 : 注音輸入法的基本
        字根有ㄅ、ㄆ、ㄇ、ㄈ、ㄉ... 比如「帥」這個字的字根是 ㄕㄨㄞˋ 。
        同樣字根的組合字有: 率、帥、蟀...。


週邊設備  : 除了電腦主機本身, 以外接方式接在電腦端子上的選購配備。安裝週
        邊設備可以提升電腦功能。下期我們將為各位介紹常用的電腦週邊設備。


二進位制  : 電腦看不懂我們所使用的十進位制, 只看得懂二進制和十六進制。十
        進制的數值範圍是 0 - 9, 而二進制的數值範圍只有 0 和 1 , 十六進制
        的數值範圍則較十進制廣, 為 0 - 9 A B C D E F , 其中 A - F 分別代
        表 10 - 15  。我們並不想在這裡討論較枯燥的進制問題, 有興趣的讀者
        請參閱電腦概念的基本書籍, 或一本有討論進制問題的電腦語言書籍。


電腦語言  : 電腦只聽得懂低階的機器語言, 為了方便人們和電腦溝通, 因此就設
        計一些比較近似英文的高階電腦語言, 例如 BASIC、PASCAL、COBOL、C..


程式  : 把指令、變數、函數依一定的程序 (演算法) 組織起來, 就是程式 (Program)。
        所以程式其實就是軟體。名稱不同但是都是表示同一個東西。


字串  : 任何文字的組合串列。一個字串裡可以寫任何的英文字、符號和中文字。
────────────────────────────────────

蘇言霖 2013/09/22 0 1295
Comments
Order by: 
Per page:
 
  • There are no comments yet
Rate
0 votes
Post info
蘇言霖
「超級懶貓級」社群網站站長
2013/09/22 (3841 days ago)
Actions