軟體獲利的模式

學了幾年的程式設計,努力脫離新手村,也寫了幾個大大小小的專案,總是希望自己的努力有所回報。然而,對軟體人來說,會寫程式只算是跨過了基本門檻,但困難的是如何將自己的努力轉為獲利。本文介紹幾種常見的商業模式供有志於此的同好參考。 這些分類摘自某本英文書籍,因筆者很喜歡這些有軟工意味的標題,故採用之: Software Development as a Service Software as a Product Software as a Service Software Supporting as a Service 第一種模式就是俗稱的接案,這種模式是最容易上手的。總是會有套裝軟體無法滿足的情境,像是公司形象網站、企業內部軟體等,這種模式適時地填補套裝軟體無法滿...
「點我閱讀更多」

低價搶市的迷思

很多新進的創業者 (entrepreneur) 為了要擴大自己的產品市佔率,都會想要將價格拉低。當然,有時候會有一些現實上的考量,像是全世界最好的繪圖軟體是 Photoshop,全世界最有質感的手機是 iPhone,如果我們想要賣的是同質的產品,價格通常不會比這些產品高。對於軟體人來說,販賣的是無形的技術,價格就更暖昧不明了,但是還是要小心不要第一時間就落入價格戰的迷思。 關於市佔 vs. 獲利,一個知名的例子就是 Android vs. iOS,目前全世界約 98% 的市佔由這兩種系統所占,在這兩種之中,Android 系統的市占約為 85%,而 iOS 系統的市占約為 15%,但獲利能力是 iOS 大於 Android。這其中有許多細節可討論,像是 iOS 走在前面,品牌形象,產...
「點我閱讀更多」

5五將棋:具體而微的將棋世界

筆者小時候就很喜歡將棋,覺得將棋的五角形和書法字很優美,但將棋畢竟是日本的文化,在台灣沒什麼相關的中文書籍,筆者也不諳日文,一直沒有機會一窺將棋文化。後來輾轉間發現 5五將棋 (Minishogi) 這種小型的將棋變體,棋盤很小,很快就可以下完一盤。雖然筆者棋力不佳,和手機上的 5五將棋軟體互有勝負,透過這種小型將棋,筆者總算慢慢學會將棋的基本玩法。 對於將棋初學者來說,5五將棋是一個很好的教材,由於 5五將棋的盤面相對簡單,幾手內就可以從開局進入中盤,學習者可以很快學到一些將棋棋子間的組合和攻防。不過,5五將棋和本將棋還是有一些誤差,像是 5五將棋盤面較小,角行和飛車的角色相對削弱;另外,由於棋子數目少,防守的方式也比較簡單。雖然如此,做為一個微型的將體變體,5五將棋仍然是一個很好...
「點我閱讀更多」

買 Mac 來寫程式

每隔一陣子,就會在 Mac 討論區看到有網友問「我想寫程式,我要買 Mac 嗎?」或其他類似的問題。在這裡先講結論:根據不同的程式類型,會有不同的答案。有經驗的程式設計者,通常都知道自己需要什麼,不太會在這個問題上糾結;但對程式設計初學者來說,這個過於空泛的答案,似乎也沒什麼幫助。筆者根據自己使用過 Windows、GNU/Linux、Mac 等多種系統的經驗來說明什麼時候適合使用 Mac,讓初學者少走一些彎路;但筆者所學有限,也無法說明所有的使用情境,若講錯還請讀者多多包涵。 真正非用 Mac 不可的情境,就是要撰寫 Mac 和 iOS 應用程式,這個就和撰寫 Windows 應用程式 (包括 UWP 和傳統 Windows 桌面程式等) 就非得買 Windows 電腦一樣,這都是...
「點我閱讀更多」

Perl 6 小感

Perl 6 是 Perl 家族的新成員,在 2015 年十二月發布了第一個正式版 (v6.c),代表其語言特性大抵上穩定了下來。在今年年初開始,陸續有數本 Perl 6 相關的書籍問世,代表 Perl 6 社群開始試著向外拓展。筆者最近利用一些時間學習 Perl 6 的核心特性,在此向各位讀者分享一些心得,做為使用 Perl 6 的參考。 The Good Perl 6 最值得稱許的特性,就是內建一套完整的物件系統。原先 Perl 5 的物件系統相對簡單,有許多開發者試圖改善 Perl 5 的物件系統,反而造成 Perl 5 物件系統的混亂局面,直到引入 Moose 後,Perl 5 才有一個社群公認的物件系統。Perl 6 的物件系統支援不少特性,像是封裝、繼承、Role (類...
「點我閱讀更多」