2018年10月14日 星期日

外行人寫手機小程式 Ex - 雜談

因為 Part.6 裡啦哩啦雜寫了一大堆無關的東西,所以只好拆成兩半

現在我個人在選擇各種工具軟體來說的話,會比較偏向於介面操作大於功能性
長年以來的使用經驗來說,不管各種APP還是軟體,很少會使用到全部的功能



如果一個軟體有著容易上手的介面,那麼使用者就會比較容易去使用到比較深入的功能
反過來說,如果介面一開始就讓使用者搞不清楚如何開始的話,那麼可想而知的會是個小眾甚至被淘汰的軟體
比如說AutoCAD就是個很成功的例子,後面可以說長得跟他不一樣2D CAD,現在都已經全軍覆沒了 XD

老實說現在的商用軟體,很少會有什麼說我寫得出來別人就寫不出來的演算法還是辦不到的特殊功能
所以勝負點就只有2個,一個是介面、另一個是營收,是的不管是買斷也好DLC也好廣告也好
如果賺不到錢,以台灣人的標準來說就稱不上是個成功的APP軟體

今年曾經有個認識的想找我幫他寫個APP,倒不是說隔行就如隔山,我本行也不是搞程式設計的
只不過在溝通當中有一點讓我相當傻眼,對方認為他就是把構想提出來,然後我就把程式寫出來,就這麼簡單

但事實絕對不是這樣,除了主功能以外,user可以輸入那些變數?計算後輸出哪些數值?
這些就牽涉到介面大概需要長怎樣?應該要有多少輸入區?需不需要分前後端?資料長度多少有幾筆?
對方卻跟我說「不要教我怎麼寫程式,我不需要也不會寫程式」... 一整個就是先拒絕的態度
我整個理性分析一遍完「為什麼不是你給出個點子,我就生的出APP來?」,才理解到我說的是哪些東西
但最後這個case我的評估是賺不了錢,所以我不接放棄 (炸
更何況說看看各種google play裡各種評語,只要評語稍微多一點的
一定會有「一直閃退不能用」、「改版越改越爛」,要是不廣告賣錢的就罵得更難聽了

在本篇當中有提過的,我認為程式寫得越短代表功力越高,這其實正確也可以說不正確

在讀二專那時候,曾經出過這樣一個題目,老師給了個組合語言用加法器做個位數乘法的範例
要我們分組自己改寫出十進位乘法的版本,因為算法不是只有一種,當然程式碼就有更多種
當然不是說那時候網路上沒得抄,不過印象中那個時候我好像的確在估狗上找不到有得抄?XD
所以當時我與同組的兩個人各寫了一個版本,加上另一個同學自己寫,全班大概就這3個版本交差了事
不過同組與我的版本的算法不同程式碼也完全不同,組譯後我的版本容量較小但執行速度較慢
而同組我過去高職學弟(之前有提過台科大畢業當時還在考台大電機乙的那位),他的容量較大卻速度較快
請注意這是組合語言+單晶片的玩意,與像是C++還JAVA還是Python這些高階甚至轉譯語言是兩碼子事
寫了些沒必要或者是多餘的玩意進去,可能最後都會被組譯器或轉譯器給自動優化掉 (X

像是組語或是PLC這種低階語言其實還是一直都有必要,但是靠寫這個賺錢?難啦
很多這類工業電子程式都是10幾20年前,老闆找個人去逆向摳出來,然後複製複製再複製
這幾年已經是業務走網路、現場欠組立就找外勞,而且幾乎絕大多數的工具機廠都已經遷到中國去了
至於會去唸電子其實是更早10幾年前本來有要開發鍋爐用的人機介面,但那時候自己能力不夠
光靠我自己一個人做不出來,十分懊悔...這輩子這種事幹過2次,另一次是去考乙級CNC銑床執照
那又是另外一個故事了...

據說最近打算推廣小學就開始教程式設計,先不說隔幾年就有一些什麼國小國中生就寫了什麼程式上新聞
去年還有高中生會寫遊戲外掛在學校跟老師嗆聲,結果成績被打不及格的鳥新聞
有興趣的小朋友們自然會去學會去弄,電腦程式技術的門檻比起改車/運動/音樂等等要低得太多
但是沒興趣的人來說,就算不拿來考試,光是應付學校老師出的一些怪作業就能搞死一堆學生跟家長
而出社會之後選擇走這條也是不歸路,每年都在出新系統新語言,但是未來賺錢的門路在哪裡?不知道~ (茶