說起來也很巧,我前一篇文章,提到寫韌體程式觀念裡的RTOS 。
其實以我入門時看過美國人用組合語言寫汽車四缸引擎噴油點火控制程式。
裡面處處塞著所謂的故障碼概念。這個概念在這位第一位NASA 女性軟體
工程師 Margaret Hamilton,在她所寫的阿波羅任務中的控制程式就已經
建立這樣子的概念了。所以稱她為現代軟體先驅,一點也不為過。
但很不幸的是:這周三傳出她以九十歲高齡辭世了。
無論如何,以我們這些後進晚輩裡,也都未必能像她一般的建立這種
韌體控制概念。人家還是用很基礎的機械語言刻出來的程式...更不用說
她的程式容量或周邊資源...
以下是我搜尋節錄的兩篇報導:
Margaret Hamilton, computing pioneer who led software development for
the Apollo program, dies at 90
Margaret Hamilton: ‘They worried that the men might rebel. They didn’t’
其中第二篇報導裡,有一張屬於她經典照片:就是列印出來的程式碼
比她人還要高。
有興趣想進一步了解她的傳奇,現在AI 搜尋很方便,可以找一下。
---
等你稍微看過她的資歷,你會有一種感覺就是:人家就是有那個環境
與機會可以讓她在工作經驗裡,創造出一種屬於她的成就。
所以我以前也常常說:不是你厲害,年紀輕輕的出來創業,
你就可以努力地磨練出怎樣的功力?有時候還是得看你過去經歷了
怎樣的工作經驗或環境。不是在大公司不好,也沒人說你就非得要
做過甚麼技術或產品。就像我個人:雖然不是電子電機或資訊科班
出身的,但我很高興在我真正入行寫韌體程式前,我就有機會在
自我要求下去研讀美國人用組合語言撰寫的那一套完整的引擎控制
程式。然後在經歷園區IC 設計公司SOC 產品的韌體開發---實現基礎
技術套用在產品上。還記得我寫過的一篇文章:
電子自學學習心得回憶(二)
文章中,我所推導控制程式的概念,就是來自於美國人所寫的那套
引擎控制程式,然後背後運行的也是老美所寫那套分時多工系統。
---
努力學習固然重要,但我一直強調的是:你的學習條件與環境也很重要。
不是傻傻地埋首自家實驗室裡,十年磨一劍,你就變得很厲害了...
我自己都不認為自己很厲害或是天才型的工程師,我們也是凡人而已。
也都是需要透過實務經驗或從別人的教導與參與產品開發過程去累積。
當你閱讀別人偉大成就的故事時,你自己也可以想想:你為你自己的
學習環境與條件創造出你那些與人不同之處?
或許這才是當我們在悼念緬懷一位偉大的工程師時,所應該自省與
思考的地方。
沒有留言:
張貼留言