- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程式设计的时间
程式設計的時間
第 章
與空間 1
1-1 程式設計的本質
有部有點年紀的電影「星艦奇航 IV: 搶救未來」(Star Trek IV: The Voyage Home),裡面
有一幕,是從 23 世紀的未來,時間旅行到現代(1986 年)的企業號船員,為了操縱電腦
(Classic Mac)而把滑鼠拿起來對著說「電腦」。因為在星艦奇航的世界裡,想讓電腦做事
的時候,用的操作介面,只需要很自然地對電腦說話即可。
相較之下,現在的電腦還不太能理解人類說的話。儘管已經有可以用日語操作的軟體,
它們離實用似乎還有不短的距離。電腦最初就是為了執行 0 與 1 排列而成的機械語言而製
作的,不過對人類來說,要理解這些 bit 排列起來代表什麼意義卻是很困難的事情。
為了這點,建立人類與電腦都能理解的語言(程式語言)、以便將??類的想法傳達給電
腦的行為,就是程式設計(寫程式)。
話說回來,「程式設計」似乎不單只是「因為電腦無法理解人類說的話而生的代替作法」
而已。人類的語言十分曖昧,有時甚至不合邏輯。
Time flies like an arrow.
這句話的意思是「光陰似箭(時間像箭一般飛走)」,不過 flies 也可以當成「蒼蠅(複
數)」解釋,所以也不能說解釋成「時蒼蠅喜歡箭」是錯的。如果把「『時蒼蠅』究竟是什
麼東西」這個單純的問題先放一邊的話。
另一方面,程式語言跟自然語言(人類的語言)不同,設計的時候就考慮到不會有曖昧
情形,所以不會發生這種意義混淆的狀況。使用程式語言,即可嚴密描述處理步驟。
而將電腦應該做的處理步驟,以程式語言詳細描述的結果,就成了「軟體」。電腦的軟
體,像是文字編輯器、Web 瀏覽器這些規模龐大的東西,到 OS 這種基礎設施,全部都是
以程式語言撰寫而成。
9
第 1 章 程式設計的時間與空間
程式設計的本質是思考與思索
筆者自己幾乎一整天都在面對電腦,所以家人或許會覺得筆者的工作就是陪伴電腦也說
不定。不過,把「程式設計」解釋成「告訴電腦要做哪些工作」也太武斷了些。這種說法
跟實際情形還是有點不同。
程式設計確實是面對電腦的工作,不過身為工作成果的軟體(之中的大多數),都是「為
了人們進行人們想辦到的工作」(圖 1)。因此,軟體開發工作之中最重要的,就是思考並
決定「人們實際要求什麼、這些要求的本質是什麼、以及達成這些要求的詳細步驟是什
麼」的過程。換句話說,程式設計的本質是「思考」與「思索」。
儘管看起來像是面對電腦的工作,程式設計的對象卻完全是人類,是件充滿人味的工
作。筆者認為程式設計是十分需要人類親手進行的工作,也不相信未來電腦能夠自己進行
程式設計。
筆者開始寫程式是中學三年級的事情,因為父親買的 SHARP Pocket Computer(PC-
1210)可以寫 BASIC。儘管這是台只能輸入 400 個步驟的小電腦,不過看到依照自己寫的
命令運作的口袋電腦之後,就有了自己什麼都辦得到的「萬能感」了。
創造世界的樂趣
在那之後幾乎經過了四分之一世紀,不過筆者對程式設計感受到的「心動」仍然一點都
沒有減少,反而覺得還在不斷增加呢。
這種「心動」不知道是不是從創造新世界的行為
本質是什麼?
人們要求 產生的。筆者試著思考自己喜歡寫程式、不管經過
什麼? 幾年都不厭倦的理由,覺得最大的因素或許在於程
達成的步驟
有哪些? 式設計是充滿創造性的作業。
文档评论(0)