[結論1]不能賣os, 也要學寫os: 從程式範例教軟體工程
感謝很多網友的回覆指點.
關於 trace code 是否有助於學習軟工, 大部份是肯定的.
大部份人強調 基本功
=========================================================================
※ 引述《ggg12345 (ggg)》之銘言:
: 標題: [請益]不能賣OS,也要學寫OS打下基礎:從程式實作教軟體工程
: 時間: Mon Jun 11 11:31:08 2007
: 似乎軟體工程搞不好, 感覺是教 OS 這個課的人的責任 ?
: =======================================================================
: 推 abcdefghi:人家是強調>>美國的資訊教育「很重視練基本功」<<
: → abcdefghi:不是只有OS.
: 推 final01:寫os也不見的得變多強~多充實比較重要
: 推 lg31cm:事實上寫過OS才對OS有深刻的印象與了解
不然一堆名詞解釋上完每個人也忘的差不多了
: ggg12345:程式實作那麼多可應用, 幹嘛特舉 OS ? 還
ggg12345:教軟體工程冽?OS有driver, 軟工的不冒煙?
: 推 cyu021:事實上寫過OS才對OS有深刻的印象與了解
: 推 leicheong:事實上裝過一次LFS才對Linux有深刻的
: → leicheong:印象與了解, 也是同一道理. :P
: → ggg12345:很多人不認同裝個軟體能學到軟體工程耶 !
: → lg31cm:很多人軟體工程都碼是掛在嘴上
: → lg31cm:軟體工程不從實作出發,只要畫畫圖就好?
: → lg31cm:沒看過別人怎麼寫OS怎知道模組該如何劃分?
: → lg31cm:也難怪碰到有人CS畢業不知道mutex有API可用
: → lg31cm:還自己硬幹旗標的笑話
======================================================================
※ 引述《ephesians (ephesians)》之銘言:
: ※ 引述《ggg12345 (ggg)》之銘言:
: : 似乎軟體工程搞不好, 感覺是教 OS 這個課的人的責任 ?
: : 劉建民:「軟體業不是靠天才建立的,在大學就應該打下軟體的基本功,而不是只
: : 在寫網頁。」臺灣近幾年廣設大學,培養許多資訊人才,為何沒有促成軟體產業發
:
: 寫網頁與OS比較,誰高誰低?
:
: 為什麼寫網頁不算是寫軟體? 是因為大部份在於文件編輯嗎?
: 或者是因為對寫網頁來說,軟體的模組劃分已經被大大簡化,根本學不到精髓?
:
: 看完這篇,不很清楚它在講什麼,到底是台灣人的基礎軟體設計能力不夠,還是
: 台灣人只專注於教導軟體設計基礎,忽略了高層次的創造力?
:
: 也許是我誤解了. 要求高低層次的融會貫通,其實是資科資工的風格.
: 而資管的要學的是趨勢研究,譬如對Web 2.0甚至Web 3.0有創新見解.
:
: → lg31cm:台灣有強調軟體設計基礎嗎?
: → lg31cm:你網頁寫的再厲害你會寫 AJAX engine嗎?
: → lg31cm:講難聽點那種後端應用一堆高中也會
: → lg31cm:創意要有扎實的技術作基礎,不然只是空談
: → abcdefghi:沒技術門檻的創意一出來立刻就會被淘汰.
: → abcdefghi:完全不管現實技術的創意叫作 科幻小說
===================================================================
※ 引述《clliu168 (風)》之銘言:
: : 寫網頁與OS比較,誰高誰低?
: 就層次上來說,OS 高
: Computer Sciense 的核心科目沒幾顆,OS 就是其中一門
: 資格考有人在考怎麼寫網頁的嗎?
:
: 以 Computer Science 的學校訓練來看,寫網頁根本不應該列入一門課
: (我知道有不少學校把這個也當成一門課在上)
: 因為寫網頁偏重的是創意的表現,並不是基本功
:
: 會計系統牽涉到的還有 domain knowledge,並不單單只是 Computer Science
: Computer Science 的課程也不會教你怎麼寫會計系統
: 那通常都是工作的時候,需要用到,再去搭配會計 expert 或自己去瞭解會計
:
: OS 就是 Computer Science 的核心,如果你想要接觸到系統的東西,OS 就是
: 一門很重要的課.
:
: : 而會計系統的設計也是創造力的發揮.
:
: 會計系統的創造力應該還好,重點是你得要解決會計問題,讓會計人員覺得好用
:
: : 看完這篇,不很清楚它在講什麼,到底是台灣人的基礎軟體設計能力不夠,還是
: : 台灣人只專注於教導軟體設計基礎,忽略了高層次的創造力?
:
: 那篇我覺得寫的還好啊,為什麼你會覺得這麼嚴重 :)
: 基本工很重要,就是這樣
:
: 就算演變到現在,Computer Science 本質都沒什麼變,核心課程也還是那些
: 很多東西都是從基本的核心去延伸出來的。
:
: 這裡有一段話是張真誠教授的經驗, 這個軟體的基本功要不要對那個 OS 習題做
: trace ?
: http://www.cs.ccu.edu.tw/~ccc/article/software.htm
: 這裡有一段話是張真誠教授的經驗
:
: 軟體技術靠的是創意設計與純熟的經驗,單靠逐行追蹤( Trace )別人所開發的
: 程式,而欲取得技術將無異於緣木求魚。我念大學時,曾經依照書本上的原理,親
: 自動手開發過 PASCAL 的編譯器,及組譯器( Assembler ),也曾經逐行追蹤過
: PDP-11 的 I/O Driver ,這些苦功只能作為實務與學理的互相印證而已,對於
: 軟體技術開發能力的提昇十分有限。
:
: 推 lg31cm:我以前的學校還特別開一門課追蹤程式
: → lg31cm:本來就可以從別人的code學到東西
===========================================================================
※ 引述《MasterChang (我愛ASM)》之銘言:
: 我是念物理的,沒有寫過OS,只唸過Operating Systems: Design
: and Implementation,寫過 RTOS@80188 ,若像OS架構這樣龐大的
: 東西,以目前各大學商業導向教學的傾向,就算把OS列入核心課程
: ,對於學生真正在課堂上收益以及是否就真的會寫OS我是很懷疑。
: 另文中提到追蹤 PDP-11 這顆迪吉多早期CPU 就真的無益於軟體技
: 術開發嗎?應用程式也許,不過現在HDL 語言應用程度來說,看看
: 老CPU架構也不錯。
===========================================================================
※ 引述《ggg12345 (ggg)》之銘言:
: 張教授是認為 trace program 無助於 "取得技術" , 對 "軟體技術開發能力"
: 的提升 十分有限, 這總是一種個人的經驗談, 為何雙方說詞差距這麼不同,
: 有過經驗的應該可以分享一下看法.
:
: 推 lg31cm:從別人的程式可以學到模組如何劃分
: → lg31cm:版本控制等,這不是軟體工程是啥?
: → lg31cm:況且不懂技術光會講軟體工程,能開發軟體嗎
======================================================================
※ 引述《ji3g45j (pig)》之銘言:
: 我認為OS真的是個增加軟體設計能力最好的範本
: 文中提到將OS中某個模組拿掉,練習寫一個功能一樣的模組"裝"上去
: 這個過程就大概讓學生了解模組是什麼,該怎麼設計一個模組,如果
: 去trace現代的OS kernel更能夠學到很多高效能的寫法
: 我ㄧ直認為寫軟體系統就跟蓋房子一樣,只是寫軟體太簡單了,工具的使用實在是
: 太簡單了,不像是蓋房子,一定要先做到90%的規劃,才能開始動工,才能開始
: 雇挖土機、起重機來蓋一棟大樓
: 那軟體呢?
:
: 不乏有非常多的人不做任何規劃就開始動工,導致寫出來的系統
: 沒有模組,無法再度被使用,老是在抱怨bug太多做不完。
: 真的!!做越多的規劃,越能夠避免掉房子蓋了又拆再重蓋,直接在紙上走這條路
: 就會讓我們在軟體系統的設計上順暢許多,bug也能夠在控制的範圍內
:
=======================================================================
※ 引述《lg31cm (我住5F)》之銘言:
: ※ 引述《ji3g45j (pig)》之銘言:
: : 真的!!做越多的規劃,越能夠避免掉房子蓋了又拆再重蓋,直接在紙上走這條路
: : 就會讓我們在軟體系統的設計上順暢許多,bug也能夠在控制的範圍內
:
: 補充一下,不只是這個原因,而是這個時代維護、改寫、重用前人的程式
: 比自己重新寫一個的機會要高很多。
:
: 假如學生時代就能培養快速 tracing code 的能力,以後工作也會非常
: 有幫助。尤其網路上可以找到一堆 code,但是如何修剪成你要的,去掉
: 你不要的,瞭解你需要的?何不在學生時代就培養這種能力呢?
:
: 當然我同意在一些基礎學科,如資料結構、演算法等從0開始寫程式
: 的重要性。
:
: 但是讀別人的程式學寫程式是最有效率的途徑,已故的 UNIX 大師
: Richard Steven也有同樣的看法(記得 Knuth 也有同樣的見解)
:
=======================================================================
: 從推文可以知道認同的並不少.
: trace os, 更改模組, 替換成自己寫的模組 有助於
:
: 1.認識 模組分解
: 2.版本控制
: 但可能還有
: 3.測試樣本與測試程式的建立
: 4.外部相依模組與移機相容
: 5.除錯
※ 編輯: ggg12345 來自: 140.115.1.146 (07/03 18:53)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章