Tag Archives: 軟體產業

那些台灣軟體產業所缺少的 – 版本控制系統

這幾年來,多多少少接觸了不少業界的人,雖然我自己還不算有真正待過業界太久,但是這期間看到不少業界的現象都令我挺驚訝的,例如在聊天時提到你們公司用的版本控制系統是什麼,有很多人都會回答 「那是什麼?」,一直以來這些在國外的主流開發環境都基本常識或是標準配備的東西台灣業界居然很多都連有那樣的工具存在都不知道,或著是對於某些東西有錯誤的認知,所以我想大略提一下常見的幾個問題 版本控制系統 我想這是最常見的毛病,很常發現很多公司在開發軟體時從來都不使用版本控制系統,最誇張的狀況就是管它三七二十一直接修改   除此之外,常見的土法鍊鋼有聽說過資料夾複製,然後將資料夾名稱命名為版本1之類的方法,高級一點還有搭配Excel來記錄改過了什麼之類的 更進階的還有多人共同開發,還架了FTP來放這些檔案 但這些都有很大的問題,而且其會遇到的問題都正好是版本控制系統所要解決的,所以到底是什麼樣的問題非用版本控制系統不可? 首先,用資料夾copy有個很大的問題,一來是copy的過程很容易出錯,而且更糟的是出的錯很難發現,你怎麼從資料夾的內容來判斷這到底是哪個版本? 最常見的做法就是回想你到底在哪個版本改了什麼,然後去看對應的位置,是否有那些改動,但你有可能記得嗎? 要是程式不是你改的呢? 因此依賴資料夾名稱來得知檔案的版本是極度不可靠的做法,再者,如果你不幸改到錯誤的版本,辛辛苦苦改了半天,才發現改到舊版本了,那你要如何把你改的和正確的版本合在一起? 如果你只改了三行,這還好辦,但如果你改了三百行,那該怎麼辦? 用Excel來記錄改動的事項和版本一樣不會有幫助 那多人開發使用FTP來分享檔案呢? 老天,事情更慘了,原先只是你自己的開發,自己改錯了就算了,如今變成多人開發,有時出問題還不是你改的,這樣想好了,FTP上有個檔案 hello.py 今天張三載回去改了,變成 hello.py (張三版) 不幸的是,王五在張三上傳回FTP之前,也載回來改,變成 hello.py (王五版) 接著,張三把它的檔案上傳了,所以FTP上的檔案變成了 hello.py (張三版) 然後好戲發生了,王五也把它改的東西上傳了,所以FTP上的檔案被蓋掉,變成 hello.py (王五版) 發生了什麼事? 張三改的版本被蓋掉了,你可以想見張三在demo給老闆看時發現改的地方被蓋掉了,翻過辦公桌衝過去揍王五的情景了嗎? 像這樣還只是最簡單的情境,以這類土法鍊鋼的方式,還有太多太多預料不到的複雜情況會發生,什麼? 那你說,如果我們規定每人都得把資料夾以自己的名稱命名,加上版號,再上傳,這樣就不會錯了吧? hello_project-王五-rev123/ 拜託,何苦呢 ? 版本控制系統就是用來解決這些問題而開發出來的,學一套新工具有這麼難嗎? 常見的理由可能會有什麼沒時間學、不信任工具等等,事實上那些都不是理由,只要是程式碼的開發,都得使用版本控制系統,現在已經是2011年,如果你的軟體開發沒有使用版本控制系統,我說這不叫落後,這是原始 用了版本控制系統,最重要的好處是 你可以安心地放膽去改程式 … Continue reading

Posted in 中文文章, 分享, 嘴砲 | Tagged , , , | 9 Comments

軟體產業的失敗藉口 – 台灣的市場太小了?

最近在網路上越來越多軟體產業相關的部落格,也有很多不少相關的討論,其中我發現很多人將台灣軟體產業發展不起來歸究到台灣的市場太小了,我個人覺得這是最糟糕的藉口,因為事實上網路並沒有國界,只要有能力,一台電腦,一條網路線,一個人一樣可以做全球的生意,把自己能力不足怪到沒有市場是很奇怪的事,在這世界上有無數軟體成功的案例,都不是來自美國等軟體大國,我想在這裡舉出這些我所知道的一些例子,來證明確實在地的市場並不能做為軟體產業發展失敗的理由 EVE online – 冰島 冰島這個國家,人口數三十幾萬人,主要的產業活動是漁業,除此之外軟體產業也是這個國家的產業之一,是世界主要軟體的輸出國之一,有趣的是,在不久之前冰島還是被選為所謂最幸福的國家,吸引大量外資到當地投資,但因為炒作過度,導致整個國家銀行破產,幸福國度的神話也從此破滅,這個國家軟體產業最為人知的代表作就是一套以科幻星探險的線上遊戲,玩家可以駕駛太空船,在太空進行買賣、挖礦,還有海盜的冒險,我曾經有玩過一陣子,這遊戲有個公司的機制,玩家可以組成公司,一起行動來達到最佳的利益,例如有些公司以挖礦為業務,為了防止被海賊攻擊,就得有護衛艦負責保護,也有些公司是專門四處獵殺玩家的,我就有因為貪圖在高危險區的高任務獎勵,被守在星門外的海賊集團打暴過,印相相當深刻,值得一提的是這套遊戲的核心語言是Python 來自官網的遊戲畫面截圖 想想看一個人口只有三十幾萬的非英語系國家,國家還破產了,居然可以推出一套受全球玩家歡迎的線上遊戲,台灣有兩千餘萬人口,中文使用的人口是世界上最多的,居然說台灣沒有市場,這真的是一件很丟臉的事,請不要再提台灣市場很小做為失敗的理由 Minecraft – 瑞典 Minecraft是一套以挖礦和建造建築為主要活動的遊戲,很難以常見的遊戲類型分類,可以說是很特別的一款遊戲,這款不起眼的遊戲已經在全球賣出了兩百多萬套 作者是Notch,他來自瑞典, 瑞典的人口有九百多萬人,使用的主要語言是瑞典語,不用說市場當然是比台灣小,除此之外他在遊戲前期的開發都完全只靠他一人,在遊戲賣到一定量時,他就拿資金成立的公司,這又是另一個和在地市場無關的成功案例 Angry bird – 芬蘭 紅遍全球的手機遊戲,這家公司是來自芬蘭,國家人口數五百多萬,主要語言是瑞典語或芬蘭語,我想這遊戲不用太多介紹大家都很清楚了,同樣是來自比台灣人口少的國家,使用的也是人口數較少的語言 ICQ – 以色列 ICQ是一款在十幾年前相當流行的即時通軟體,在MSN Messenger之前ICQ可以說是獨佔了即時通的市場,ICQ是來自以色列的軟體,以色列的人口數七百多萬人,這國家的四週被敵國環繞,即使今天ICQ已經沒落了,但以色列依然還是全球的主要軟體輸出國之一 還有很多 這類非英語系小國家在軟體成功的例子其實還有很多很多,平時看到我沒有特別記下來,而且這類的例子有越來越多的情況,常常我會想,台灣的人口兩千多萬人口,這樣算市場小,所以是軟體產業發展不起來的原因? 我覺得反而是相反的,台灣的市場要大不大,要小不小,除了國際市場還有中文市場,上面所列出來的這些例子,這些國家都沒什麼在地市場,連語言都很小眾,如果他們沒有能力一口氣打進國際市場,沒什麼生存空間,反觀台灣這個不大不小的市場,吃不飽餓不死,接接企業專案、做做政府專案,都還可以活下去,因為這樣的環境,讓很多人以為市場就只有台灣這麼小的地方,忘了連上網路沒有所謂的國界這件事,所以請別再說台灣市場太小了,只能怪你自己能力太爛沒辦法在國際市場競爭 靠自己最實在 台灣現在很多人都還在用許多十年前的過時方法/技術在開發軟體,因為吃中文市場就能活下去,國外也不太可能來搶中文市場,倒頭來還是只能怪自己不精進技術、語言能力等等的能力,真的要成功,還是得靠開發者們加強自己的能力,我一直都這樣認為,台灣要有軟體產業,必然要先有一些開發者當種子,先靠自身的能力闖出一遍天地,才能帶出更多優秀的開發者,確立經營的方式等等,而這些後起之秀才能出去帶出更多優秀的人才,只是坐著抱怨起不了太大的作用

Posted in 中文文章, 嘴砲 | Tagged , , , , , | 4 Comments