作者ChampYen (網路黑貓)
看板Tech_Job
標題Re: [討論] Linux的前景
時間Sun Feb 22 12:12:03 2009
※ 引述《meltice (三億兩千萬大散戶)》之銘言:
: 我個人覺得使用WinCE會來的問題比較少
: 反正就是原廠提供BSP然後再修改些driver
: 各種不同chipset平台甚至是和Desktop Windows的觀念也有互通的部份
: 可能是微軟在標準化的這部份做的比較完整吧
: 所以CE的經驗感覺上比較可以帶著走
:
: embedded Linux及其他如ecos,vxworks等等部份就很自由
: 每家chipset雖然都有提供toolchain跟OS
: 但是之間的軟硬體差異卻可能是十萬八千里
: 你熟析A公司chipset不代表你能在短時間內上手B公司的
: embedded Linux能提供的常常只是基本的OS功能
: 其它如GUI, audio/video, ...可能每家公司都有各自的framework
: 那些framework可能跟OS一點關係也沒有甚至是另外的DSP core在跑的
:
WinCE真的問題比較少嗎?
我不知道閣下怎麼得到這個答案
我想閣下可能沒碰過OS出問題
但是要解決時microsoft的處理方式吧?
其實談到"標準化", 我覺得也蠻諷刺的
微軟只有一種標準 - 自家提的標準
弄embedded system, 只有Win平台經驗比較可以帶著走?
這樣說可能把一些問題談論的太表面了
作這方面的工作, 如果只是建構在使用特定標準API
那麼與Desktop有何不同?
embedded system為何而存在?
是產品應用為了WinCE而存在 or WinCE 為了產品應用存在?
而只需要使用Microsoft的toolchain, 忽略了toolchain底下的事務呢?
: 簡單的說
: 例如你用MFC寫了個WinCE的AP
: 可能幾乎不用什麼改就可以放到不同硬體上面Run
: 但是如果你用embedded Linux
: 每家公司都提供各自的GUI framework
: 你每次都要重新學習重寫一次
: 難怪微軟會說用Linux不見得會比較"便宜"
所以這時自身的價值建構在"微軟的價值"
一旦Win/Microsoft的 bottleneck, 似乎這也是有可能的
而當平台的選擇, 由貪圖"標準flo"之後就只有WinCE?
而Win就真的不用重新學習?
這樣的Win History觀似乎有點短...
: 當然Linux上也有些標準的framework例如qt, directFB之類的
: 但是偏偏chipset廠商就是喜歡自己出自己的framework
QT/DirectFB並非"標準", 只是選擇之一
廠商的framework, 如果達到你口中所說的"cost"
那未必不是一種選擇, 設計的好壞其次
:
: 以軟體工程師的角度而言
: 有標準化是好事
: 經驗可以累積code可以重複剪貼使用
: 以後換工作也比較容易上手
: CE如果有問題也比較容易在MSDN,google找到答案
所以這就是"價值"?
問題是這也只是告訴大家, 你的價值很容易被取代
因為自身價值是建構在特定平台
讓你忽視核心的重要性, 解決特定問題的組合選擇
讓你只要copy paste?
: Linux因為軟硬體平台太多根本很難找到對的答案
: 或是很多答案都是for desktop的根本不適用embedded
: 原廠可能也僅止於給你toolchain跟OS support
: 其它問題就愛理不理認為不是他們的問題
: 而且Linux kernel常常改版
: 有些舊版的機制可能到新版又被改寫或整個被替換掉
: 這時候你又得花精力去學習新的機制
: 或是同樣一件事卻可以有3種不同的機制在handle
: 根本搞不清楚到底我現在的kernel是跑哪一套機制
: 或是哪些機制根本embedded Linux不support
Windows就沒這問題? Windows CE/Windows Mobile一以貫之?
XP 到 CE/Mobile 都有一致的API?
Linux就沒辦法mapping desktop到embedded上?
Windows就不太改版? 沒有機制上得重複?
為何是把Win CE App Level相比到Linux Kernel Module呢?
你搞不清楚, 會不會是你只想要有MSDN, Google那樣隨手即來
壓根兒都沒想要下去玩泥巴, 下去了解而形成的刻板印象?
: 至於核心技術也沒有必要知道吧
: 就算Linux source code給你看光光
: 又有多少台灣的工程師有能力去改kernel source
太過投射自我到大眾了..
這部份比你想的多, 以我小工讀生所認識的就不少
閱讀/修改kernel source並不難
就像念微積分那般多一點細心
這不是什麼特別困難的事情
: 我只想要板子能work不要當機就好了
: 然後我就要下班了
: 我一點都不想知道kernel到底有什麼bug
是的, 所以當客戶面對WinCE核心得問題, 你的態度是?
我也想早點下班, 板子work不代表work得好, work得穩定, work得有效率
但是不了解一些事情, 怎麼知道root cause, 板子能夠work好?
work hard, work smart, 看似很笨的作法, 可能才是解決問題的方法
這是小工讀生我, 從每個強者上看到安身立命不被取代的關鍵
回應一些觀點
Windows Mobile/CE與Desktop呼應, Linux根本完全不同?
近年採用這些feature-rich/full-feature的OS
原因在於protocol stack, 從PPPxxx/TCPIP/Wifi/Bluetooth到USB, 甚至PCI
而Driver而言, Linux有個好處當使用標準bus: ex: USB/PCI/PCMCIA/CF
在平台上driver與desktop並無二致, 而這類driver與AP都必須重新轉移到CE/Mobile
這有什麼好處? 像是USB device, 可以提供較多的硬體支援, 也提供了整合的多樣選擇性
既有硬體支援較不受平台限制
工讀生小弟我
這裡我不是要說Linux有多好, 或是Linux勝
只是CE/Mobile並沒有你說得那麼神, Linux沒你說得如此不堪
embedded system的有趣之處在於多元的組合可能
也是為了特定應用存在的軟硬體的組成
為了這樣的領域, 花時間耕耘可以面對與解決各種可能的"知識"
遠比建構在特定平台, 學習特定好用的"技能"來得重要
程式能夠幻化得型態在於思維與作法
所謂的大事是無數的小事累積而成,
說了這麼多
選擇路的自由還是在每個人自己
best regards
champ
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.75.222
※ 編輯: ChampYen 來自: 118.169.75.222 (02/22 12:13)
→ ChampYen:寫完發現漏寫toolchain的方面的東西..有機會再說吧... 02/22 12:14
推 anr2:TOOLCHAIN喔~~~ 入門就自己編一各看看 就知道辛苦了 02/22 12:50
→ ChampYen:是阿...:D 02/22 12:55
推 NetXiaoBai:心態不錯 02/22 13:31
推 molester:狂推一下~ champ 自稱小工讀生實在是太貶低自己啦~ 02/22 14:49
推 meltice:我比較懶吧 我更羨慕有些人幾十年都玩同一套51,PIC 02/22 15:08
→ meltice:能賺錢一套就夠了 什麼都摸什麼都懂並不會賺比較多 02/22 15:09
→ meltice:而且我也不想玩泥巴 我只想回家睡覺 02/22 15:09
→ meltice:至於板子穩不穩project會不會fail公司會不會倒不關我的事 02/22 15:11
→ ChampYen:so? 那又有什麼可以肯定如此Win問題較少? 02/22 16:24
→ fxxkboss:M大應該是系統公司的人 最喜歡total solution 02/22 17:47
→ stlo:就商業角度,管他黑貓白貓,會抓老鼠就是好貓.. 我要的功能如果 02/22 23:59
→ stlo:這個OS沒有,自己開發要多少成本,換算一下合不合就上了 02/23 00:00
→ stlo:哪個OS好,這留給資工系跟網路論壇去打嘴砲就好,賺錢重要.. 02/23 00:01
→ stlo:要簡單的也不用到Linux eCos就上了, 還比較便宜 02/23 00:02
→ ChampYen:同意 02/23 00:05