Archive for the ‘Let’s Talk IT!’ Category.
Monday, November 14, 2005, 12:38 am
不久前 IBM 的個人電腦業務正式轉給聯想經營,當然是因為 IBM 個人電腦銷售情況欠佳(這種古老的設計,有人會買嗎?),而大批購買的辦公室電腦又敗給戴爾(Dell)了,PC 市場自然沒有留戀的理由。聯想能不能令那毫無起息的個人電腦業務重新是另一回事,倒想談談 IBM 還有甚麼可以發展的地方。
另一件較廣為人知關於 IBM 的新聞當然是下一代的遊戲主機 PS3,XBox 360 統統轉用 IBM 的 Cell 和 PowerPC 處理器。每顆處理器的利潤我想也有三成吧,但是開發處理器的費用高昂,而 Cell 又不是打零售市場,只做處理器生意看來並不划算。IBM 早前宣佈他們日後的定位是搞 B2B 為企業提供服務,而這又是甚麼樣的服務呢?
IBM 為大公司推出的產品可多著了,可以說是一條龍全包服務:由大型主機(mainframe) 的 zSeries 和 OS/400,中小型伺服器如 iSeries,xSeries,pSeries 等等也是 IBM 的天下 (特別是大型主機方面)。當然還有大型印表機和收銀機,但市場佔有就沒那麼大了。軟體就更厲害了:由網絡整合和管理的 Tivoli 系列,內部通訊的 Lotus,資料庫 DB2(資料庫是最弱的一環啊),應用伺服器及Portal Server WebSphere,軟體開發的 Rational 系列(當然也就包括了 UML 繪圖會用上的 Rational Rose)。
近來 IBM 好像有意「控制」 Java 市場。先是給 Eclipse 開源,後支援 Apache 在搞 Geronimo (J2EE 容器) 和 Harmony (JVM)。Java 的親生老爸 Sun 自然老大不滿意:罵 SWT,屈服了以後又鄙視 Harmony。倒是這次我卻希望 IBM 能成功踩界,不知道是否跟 Sun 的宣傳手法還是 Java 給 Sun 接近完全控制有關。
除了在家用機市場外,我對這家大公司有一點點的好感。也有可能是微軟的手下敗將(大家仍記得 OS/2 嗎?),也可能是近來它在開源上作出的努力。現在 home consumer 成了 Lenovo,我也衷心希望它能站穩住腳,因為我喜歡看大企業打大企業。
Friday, October 28, 2005, 11:01 pm
究竟編寫程式需要一個怎樣的環境呢?相信每一個編程員也會有自己的喜好,不過應該沒有人會獨愛堆在 14″ 顯示器前,拿記事本寫程式吧?正所謂「工欲善其事,必先利其器」,良好的工作環境,加上完善的軟件配套,必會增加工作效率。此外,由於不少人是單人匹馬開發起家,很多時候也會在群體開發的環境裏變得手足無措,甚至會有溝通不良,合作不愉快的情況出現。所以,一套團隊管理方案是不可少的。
至於我理想的開發環境,是這樣的:
硬件:
- 顯示器
最少要 17 吋的 LCD 螢幕吧?LCD 沒那麼傷眼,較適合長時間觀看。而通常開發的時候也會同時顯示很多東西,例如參考文件,程式碼,編譯結果,系統資源等等,一個小號顯示器絕對不能滿足一個程式員的需要。
- 滑鼠和鍵盤
滑鼠通常較少用,但是嘛,有些時候又不能不用(例如網頁各種元件),所以對我來說,光學(不會有污垢)有輪的普通兩鍵滑鼠是最低標準(我愛羅技的),而鍵盤,打的時候要安靜的和按得爽脆便可以(有些鍵盤按起來像按豆腐)。經常聽見有人說 IBM 的 Model M 系列才是王道,可是我沒緣試過。
- 主機
除非是開發 3D 遊戲吧,顯示卡的需求不用太高。可是,CPU 和 RAM 一定要快,一定要多,特別是寫諸如 Java 和 .NET 這類半編譯語言。現在公司裏走的是 P4 1GHz 和 1 GB 的 RAM,可是走起 Java 上來還是要叫苦連天。(其實是 J2EE web portal 的模擬環境,慢透了,上洗手間再添水回來它還沒完成)
- 電腦以外
大書桌,供放文件用。
書櫃,放參考書。
紙筆,抄下重要的事情,以及突如其來的靈感。有時候動動筆也有助解決邏輯問題。
坐得舒服的辦公椅。
光亮的燈光,人也精神一點,腦筋也動得快一點。
軟件:
- IDE
整合式開發工具方面鍾情於 M$ 的 Visual Studio.NET (.NET)和 Eclipse (Java 及其他)。喜歡他們是由於 Code Assist (Intellisense) 和即時的語法檢查 (像 Word 檢查錯字一樣,有問題的地方會以波浪線 underline。
- Lightweight IDE
首推 Notepad++,但是欠缺 FTP/SFTP 功能。UltraEdit 便可以了,卻不是免費。如果有 Mac Platform 的 SubEthaEdit 那有多好…
- 瀏覽器
Firefox + Web Developer Plugin 是不二之選。但問題是有些時候還要走 IE…
- SCM
SCM 團隊開發不可少。首選 SVN,公司 official 在用的 Clearcase 太麻煩了。
大概是這一堆吧。有些時候會加上不同的東西 (例如網絡開發便會用上 Ethereal),但主要是以上幾套。
除了軟硬配套,同事和波士也很重要的。我要求的是兩者也 smart,不太倔強便可以。而幸好以上所列的條件,現在的工作算是符合了一半。
Tuesday, August 9, 2005, 9:45 pm
當有一套新技術要出爐的時候,總會有一班人對它盲目追求。LAMP 搭配出場,那班人便以為 LAMP 是拯救世界,打倒微軟的唯一方法;近來興起 XML,接著他們又急不及待把手中一切計劃的檔案格式換成 XML;AJAX 是近期的一個流行癥狀,有人說甚至 AJAX 會取代作業系統云云。
好些人未對技術完全深究,便全盤接受新科技,我以往也是這樣。現在看來,我那時候真的有點瘋狂呢。有些人身子差,抵抗力不足,很容易會給外來物感染,染病的時候便會糊裏糊塗說夢話。通常病一會,一退燒便會好,但有些人卻甘願染病,剛病好了又惹來另一種,結果久病不好,也不能增強自己免疫力,甚至患了病自己也不知道。
「難道就不接受,只用舊東西嗎?」不,我的答案是「看情況」。例如,把家人平時用慣的 Windows 轉成 Linux,他們定老大不滿意,就是事實上 Linux 多麼安全好用;別嘗試把 AJAX 當成「網絡程式唯一語言」:他們相對上較慢,network overhead 也來得高;PHP 不適合編寫大型系統(主流市場就只有 .NET 和 J2EE 合意),而 MySQL 功能也不太齊備。當然,其他情況下,他們也有其長處,比如 PHP 直譯較 J2EE 的編譯來得快,符合 RAD 的需求。所以,不能「一套走天涯」,我們總得考慮其他可能性。
Sunday, July 31, 2005, 2:22 pm
自從拙文「為甚麼 PHP 沒被大企業採用」登出以後,不少人問「是否你不愛 PHP 了?PHP 在你心目中是不是沒有價值啦?」當然不是!PHP 是強大的語言,開發中小型系統最好不過,但是由於 PHP 平台對分散系統的先天支援不足,所以通常那些跨洋越洲的系統大多選上 J2EE 或 .NET 作開發平台(對了,還有很多系統還用上 C/C++,Perl,etc)。
Continue reading ‘PHP Design Patterns’ »
Saturday, July 16, 2005, 2:02 am
投身 IT 一行之前,不妨想想以下幾點:
1. 你好學嗎?在上班的時候除了電腦的知識外,你還要學懂不同的 Business Logic (商業邏輯)。比如說,知道酒樓賣點心的結帳程序是怎樣,知道客戶下訂單以後的流程是怎樣。你會有心機去學習電腦以外的商業知識嗎?
2. 可以處理大量資訊嗎?資訊科技一行需要大量的資料運算和邏輯。要是你連圖書館索書目錄或網上搜尋也害怕的話,請另謀高就。
3. 有良好的數理邏輯和理解能力嗎?設計資料運算需對處理的資料有個概念,有些時候,要面對著程式碼想像著運作流程(對不起,編程沒有「所見即所得」這回事),少一點推理和邏輯是不行的。
4. 你是死板的人嗎?是?也不要到 IT 部門去。IT 要的是活腦筋的人,會靈活運用各種工具。不一定要最新的語言和技術,不過思想卻要預備可以不停更新學新東西。
5. 只懂待在螢光幕前?不行,IT 人員的工作是利用 IT 來符合 business requirement,而這過程必須要與人溝通,也要設合別人的想法。除了寫 code 以外,你還可能會寫 manual,作資料搜集,問卷調查,開會,授課(不然誰懂你的一套?),計數……
6. 你願意在壓力的環境下工作嗎?Deadline 前趕工是家常便飯。你也不可以被突如其來的問題嚇得不知所措,IT 人只會低聲吐幾句粗口,便可以繼續工作。
可以符合以上的條件嗎?可以嗎?恭喜你,歡迎你成為 IT 人的一份子。不可以,那也好,至少知道自己在 IT 圈子內只會浪費時間。
Tuesday, July 12, 2005, 11:49 pm
廣義:
IT 工作泛指一切與電腦接觸的工作,例如設計網頁,編程,砌機,搞網站,駁線。甚至打機,寫電腦雜誌,推銷電腦也可以算是 IT 工種。
狹義:
IT (Information Technology) — 資訊科技指收集,處理,傳送和儲存資訊的技術。從事資訊科技行業即運用不同的資訊科技設計,建設和維護應付大量資訊的系統。IT 行業集中在編程和系統設計/分析居多,偶有專案管理(Project Management),系統管理及維護(System Administration and Maintenance),轉型分析(Transformation Analysis)等等。
IT 在商業上的應用範圍很廣,當然不只是搞入門網站。除了大機構有自己的 IT 部門以外,也有公司作 B2B 向其他公司撰寫合用的管理軟件。常見的有以下幾類:
1. ERP (Enterprise Resource Planning,企業資源策劃)
ERP 是一類可管理整間公司上下的系統。由個人薪金到全年業績也可以透過 ERP 計算及管理。較著名的 ERP 開發商莫過於 SAP 和 Oracle。
2. CRM (Customer Relationship Management,客戶關係管理)
大公司的客戶繁多,有時候同一個客戶可能會由十個以上的行銷人員 follow-up。CRM 是讓市場推廣部知悉客戶流向,負責人,聯絡,日程等等的管理工具。
3. SCM (Supply Chain Management,供應鏈管理)
當貨物與銷售地點遙遠,銷售地點不集中,公司可用 SCM 系統管理及計劃最快捷省錢的分發路線。
4. POS (Point of Sale,零售批發系統)
收銀機,櫃員機也是零售批發系統的一部份。零售批發系統是包括終端及主機的零售管理及記錄軟件。
當然還有不少較專門的系統,擇日再談。
Monday, June 6, 2005, 8:35 pm
今天一早上班的時候另一位老板找了我們進房講幾句,說得頗有見地,便在此覆述一下。(由於記憶力不佳,未能原汁原味盡錄)
這位中年生意人一見我們便開口:「知道入左黎要做咩?係呀,其實你地呢家個 system 係一件舊 product,0個時初初起都有好多野 hard code 左,唔 work,好多野我地都做錯左,跟住我地咪又起過舊細規模 D 架囉。之後我地睇下原來呢個 system 都仲有得發展,咪請左你地黎睇下有乜野改進,發掘一下市場。其實呢行都有好多人做緊類似既 system (註:我們的公司專責酒店系統),競爭都好大架。有好多大集團都 work on 呢套 system,不過據我所知,就淨係得 Holiday Inn 既 Holidex work 既0即。你諗下,成套 centralized 既 system,你諗下要乜野 logic?好似就拎美國為例,有個客想訂房,通常都會打0個 D 1-800 既免費熱線既,咁就直接打左去個 Central System 訂房,但係當地酒店又要同步更新番房既數目喎。而0係本地訂房既人又要同個 system update 番呢家淨幾多間房,有時有 D 本地酒店又唔係全部房放晒上個 system 度喎,有時 D 客訂左房但係未俾錢又要另外處理喎,入面都有好多 logic 要搞。」
他續說:「其實呢 D system 都好有市場,特別係對 D 中小規模既公司黎講,佢地又用唔起咁大既系統又俾唔起咁多錢,所以我地公司個 system 有前途架。另外我地又用晒 D open source 既野,PHP,Linux,咪唔駛俾班美國佬牽住個鼻走囉,因為佢地 open source 嘛,人人自己可以有自己既一套 version,唔係好似 Microsoft 或者 Sun 咁話變就變,又唔駛花錢走去趕住 upgrade。你知唔知點解美國佬會成日出新野丫?佢地一路出野佢先會賺到你錢架嘛,咪狂整 D features 落去囉。其實 Java 都好大舊野架,你一話起 J2EE 既話都真係煩到七彩,人地 D SME 鬼彩你咩?(註:說實話,J2EE 設定頗麻煩的,比如說 JBoss,Jakarta,回想起來… 唉) 」
「其實你出到黎見工,同人講識乜識物 language,有鬼用咩… 出到黎到做 IT 呢行,最緊要就係識關於0個行既 business,知道人地0個行點樣運作,先寫到人地要用既 software。好似人地手提電話公司請人,你講你識 SIM 卡點 read D data 點運作,之前有好幾年工作經驗,人地請你係因為你有0個幾年經驗,知道人地成套系統點 work,唔係因為你識乜 language。通常 IT 人做一行就會精於0個行點運作,都唔會驚自己老左會追唔上電腦科技,因為到0個陣時你就會 guide 住成班新人做野啦,駛乜鬼追潮流學新軟件丫?」
如果說資訊科技是一條高速公路,那現在有兩班開發人員:一班在設計和建造道路,一班在設計和製造車子。建路的人為要使交通便利,便不斷為道路研究:為路面鋪上最好的瀝清,增強汽車的抓地能力;在路旁邊加上防撞欄,髹上油漆,架設先進又醒目的指示路牌,提供駕駛者保障及指引。設計車子的公司可不同了,他們所顧及的是駕駛者的需求:要舒服的,我們有房車;要快捷的,我們有跑車;要載貨量高的,我們還有貨櫃車。而安全也依車的特性而考慮,比如說跑車要加上定風翼,貨車要加上圍欄等等。有好車但只走在崎嶇的山路上,好車跑不快,還易生意外;同樣,有完善的道路網卻只能徒步行走,道路網也形同虛設。
道路設計者就好比技術開發團體,而車廠就如應用軟件開發團體。技術開發團體訂立最有效的標準和工具,好像 XML,HTTP,PHP 等。但徒有標準而沒有應用,那電腦也只能算是大人的玩具。但沒有良好的標準,我們也不能開發有效的軟體,資訊科技一定會步向衰亡。所以說,兩者相輔相成,缺一不可。唯現在有很多人著重於語言和工具,忽略了電腦以解決難題為本的方向,XML,PHP,ASP,JSP 便搶著跟人高談闊論,反之甚麼系統邏輯便嗤之以鼻,實在怪哉。老板說,空談語言是沒有用的,還是怎樣把程式應用才最重要。
大概老板二號還說了不少其他事物,不過和本文主題無關,不錄。