這個題目是我私心訂下的(哪次不是?),10Please respect copyright.PENANAZDMtKUKs0f
意思是沒有要管大家看不看得懂就是~10Please respect copyright.PENANAzPlgiKIIPR
畢竟從畢業到現在已經當工程師這麼多年,10Please respect copyright.PENANAp2tVI5fFTc
接觸的程式語言雖然都是大家耳熟能詳的那些,10Please respect copyright.PENANAs4aQEDO4pa
也不少了~10Please respect copyright.PENANAelx8uVJbqA
所以這次的分析算是藉由我對於所學過的程式語言的觀點整理,10Please respect copyright.PENANAXWvEWpuS4s
(不代表建議新手該從哪個程式語言入手喔)10Please respect copyright.PENANAj89tQ95YyM
然後來跟學長的特質做對應喔!
第一個我想到的最佳解就是Python,10Please respect copyright.PENANAjcIg9i9d2C
Python顧名思義就是蟒蛇,10Please respect copyright.PENANAfdKFQJFhT5
他的Logo是兩隻蛇纏在一起,10Please respect copyright.PENANALyTDGbMKWR
一隻藍色一隻黃色~10Please respect copyright.PENANA3CfzDn25oS
此外,目前最受歡迎的Python編輯器之一叫做Anaconda,10Please respect copyright.PENANAbJLSwTZGgr
是森蚺的意思~10Please respect copyright.PENANAyjNMhyZz9D
會選擇這個程式語言,10Please respect copyright.PENANAb8eK9CjMtZ
除了是Logo讓我幻想成學長和我們手牽手的樣子,10Please respect copyright.PENANAaLDDVPYrvP
再來就是蛇代表小龍(讓我想到迷你龍)~10Please respect copyright.PENANAd6M5cHNFVH
還有Python的繼承跟別的程式語言不同,10Please respect copyright.PENANA6y8CkP37Rg
一般程式語言的繼承只能有一個父類別(一個父親),10Please respect copyright.PENANAms2jhZrSOv
但是Python卻可以有多個父類別(多個父親)!10Please respect copyright.PENANAg2TzFHZLFl
這讓我覺得對應到了學長的多重身分~10Please respect copyright.PENANAYBZwTsA8Ah
既是四天王也是聯盟社社長,10Please respect copyright.PENANA18y48c7IQ5
再來就是Python簡化了很多語法,10Please respect copyright.PENANAbANTKeMJkj
是懶人救星~(相當於學長懶散的個性)10Please respect copyright.PENANAwJh7kyvD8K
比方人家寫方法要用function,10Please respect copyright.PENANAbgjE1wNK2M
Python只要用def就可以定義方法了~10Please respect copyright.PENANAPnkh4lVS5k
對了對了,10Please respect copyright.PENANARrpG9ywpDN
Python也是許多人用來學習處理大數據(meta data)、10Please respect copyright.PENANAQIIFzX6M7P
AI(scikit-learn)、爬蟲(Beautiful Soup)的程式語言呢!10Please respect copyright.PENANA075IIhRQoD
對應學長的戰術能力剛剛好呢!
雖然最佳解出來了,10Please respect copyright.PENANAWxMV2rOrif
但還是要給其他的選項供人思考呀~10Please respect copyright.PENANATFHqFV2MCY
那麼第二個選項就是Java10Please respect copyright.PENANAmiTYMYHHmY
沒錯,就是爪哇,還有咖啡豆的那個Java~10Please respect copyright.PENANAUxQ67jSMDm
當年代代流傳Java螞蟻書(而且是有翅膀的螞蟻)~10Please respect copyright.PENANA9Se4gt9qMH
我因為畢業很久,想說我再也不碰Java啦~Jo Jo!10Please respect copyright.PENANAVfAbw8LOyd
就把那個超厚的書做回收了~10Please respect copyright.PENANAGqfipVtTEQ
然後我就遭到報應了...10Please respect copyright.PENANAH9iPT566fI
好在重新接觸Java沒有花太多時間就是,10Please respect copyright.PENANABWilbxuOBt
凡走過必留下痕跡嘛,10Please respect copyright.PENANAKmefYnfypr
我可是號稱2年沒碰的程式碼不會忘,10Please respect copyright.PENANA9A9P2iNrdO
10年前公司的專案我也知道怎麼維護呢哼哼!10Please respect copyright.PENANAqDhYHZanbM
那為什麼選Java而不是Javascript呢?10Please respect copyright.PENANAcn5QOjTdj9
因為我個人私心覺得,10Please respect copyright.PENANAzSjkXmRal4
學長的個性還有給我的印象,10Please respect copyright.PENANA0qB8VAayQr
比較偏向後端程式語言。10Please respect copyright.PENANAKwg91LQ65z
然而我就不在這邊討論前端與後端程式語言的差異,10Please respect copyright.PENANAOxiBdUS5Hw
只想奉勸你們各位已經被冠上全端工程師(如我)的工程師們,10Please respect copyright.PENANA3h1YcYjcW0
不要拿後端思維到前端程式碼使用~反之亦然!10Please respect copyright.PENANAWDBeVH5gzo
我們繼續說下去,為什麼選擇Java吧!10Please respect copyright.PENANAcVojfEI5bR
第一個理由確實是因為咖啡的關係~10Please respect copyright.PENANAsls31WGqv5
畢竟代表學長的飲品中多少都有跟咖啡有關的選項。10Please respect copyright.PENANAKbmzrH6dwn
再來就是學Java免不了要會的OOP(物件導向程式設計)~10Please respect copyright.PENANAef1gl5WBBs
我也曾經歷過不懂為什麼命名要叫做set還有get,10Please respect copyright.PENANAfSj03QRINh
不懂為什麼建構子(Constructor)代表藍圖...10Please respect copyright.PENANA3xZeXLj170
以及分不清楚abstract和interface的時光,10Please respect copyright.PENANAQsg4EH0QpM
好在學了多個程式語言,反而把不會的概念也補完了!10Please respect copyright.PENANATzv2ythfp6
儘管OOP不是只有Java有,10Please respect copyright.PENANA8b2wTu5EjA
等等的那個選項也有這個觀念,10Please respect copyright.PENANAGmvflKKKvF
但畢竟是我第一個正規接觸的程式語言(註),10Please respect copyright.PENANARVgtBlMtW9
所以就以Java作為代表了~10Please respect copyright.PENANA9f2dhAZA2R
OOP這個技巧的出現,10Please respect copyright.PENANADObGfA80ue
其實是為了讓程式碼能夠再利用,10Please respect copyright.PENANA3TvKBWj7me
讓你不至於成為碼農、什麼都複製貼上~10Please respect copyright.PENANAsn6yGAfDDP
同時也比較好維護程式碼~(註2)10Please respect copyright.PENANAoy0CHX9rgu
而OOP的最常見的三大觀念即是─10Please respect copyright.PENANAIHmm32K4Ui
封裝、繼承、多型10Please respect copyright.PENANACTJR12ZJWM
讓我想到每個人加入聯盟社(繼承),10Please respect copyright.PENANAsSpE7MdnaO
成為聯盟社的成員(實例化),要努力賺BP(多型)~10Please respect copyright.PENANAol7zD2aeph
關於多型,我看到有人下一個很簡單易懂的註解─10Please respect copyright.PENANAP1cmziqY87
即是指一樣的事,不同做法。10Please respect copyright.PENANAXQbGDzn3QR
又或者:同一個行為,但有不同的結果10Please respect copyright.PENANA3u4Xr7KBln
而學長代表Java神之手讓我們進入聯盟社,10Please respect copyright.PENANAWW1RonAJy7
開啟了農BP的地獄(特別對沒朋友的人不友善的機制)...10Please respect copyright.PENANAZMAZaQkz9w
此外,10Please respect copyright.PENANAUuHZCf1Dth
各位你還聽過Silverlight嗎?10Please respect copyright.PENANAiw2YPBQJPi
記得當年微軟還給它做了一個形象人物─藍澤光10Please respect copyright.PENANAcJz5zX8sdL
我曾經用Silverlight寫網頁...10Please respect copyright.PENANAlQJrKiQWVd
然後得知這東西要被報廢了...10Please respect copyright.PENANAikZhWzH0LG
真的是有夠恨鐵不成鋼的!!!10Please respect copyright.PENANA2cLjFqXi0h
雖然可能沒有關聯性,10Please respect copyright.PENANAxe3e8aJvFk
後來的就是Spring Boot,10Please respect copyright.PENANAbihk3zK1X0
但也沒想到同事說Spring Boot也有點老了...10Please respect copyright.PENANAoENkauyO0Z
總之,10Please respect copyright.PENANAsfA1EHcM2D
如果Silberlight是學長的話,10Please respect copyright.PENANAcsY9jqoKv0
那Spring Boot大概就是烏栗了~10Please respect copyright.PENANAM9wMbDrp75
唉,都是時代的眼淚呀!
最後一個選項老實說也是我重新摸索的程式語言,10Please respect copyright.PENANAkM9of8WFg4
那就是C++10Please respect copyright.PENANAVz4Wr8HMDV
當年學C++是為了影像處理,10Please respect copyright.PENANAX8Ga8Jldpg
我也沒想到當年使用openCV,10Please respect copyright.PENANAyxBUma7hYN
現在2025年了,大家還是繼續使用openCV。10Please respect copyright.PENANA72v4u6JJ7L
儘管都這麼久語法應該都更新了,10Please respect copyright.PENANAMhht9javwM
你們如果當年好好學習openCV,10Please respect copyright.PENANA1vXurqVwGV
10年後還是受用呀!(對,我2012年大學畢業的)10Please respect copyright.PENANAitwDPHYqrg
會選擇C++的原因是因為我曾經聽過有人這樣比喻C++:10Please respect copyright.PENANAy3Uxi9mlMO
發明出C++的人,對於(現在的)C++掌握程度也只有70%10Please respect copyright.PENANALHXLO8HPsl
因此如果在面試的時候,10Please respect copyright.PENANAHNlVs67QLX
面試官問你,你對於C++的掌握度有多少?10Please respect copyright.PENANAGElumdv9wf
會回答超過70%的人不是真的有實力,就是過份有自信...10Please respect copyright.PENANAK8EMgQapXM
會這樣有感而發是因為,10Please respect copyright.PENANAbM5kjpx70q
今天已經是這個系列的第83篇了,10Please respect copyright.PENANAR5qfYKUjC7
不過我對於學長的理解,10Please respect copyright.PENANARedKOSNzSe
就跟對C++的理解一樣,10Please respect copyright.PENANAifA7GIZxUu
還是只有淺層的程度~10Please respect copyright.PENANAbxnvzqJmjp
除此之外,10Please respect copyright.PENANAXtB6XhYVDD
C++也是懶人程式語言之一,10Please respect copyright.PENANAAJtzVCdEH9
前提是你要很熟練~10Please respect copyright.PENANAPq2PBZNOhx
怎麼說呢?10Please respect copyright.PENANAmF9UjLp96I
C++會在背後幫你做一堆的記憶體管理,10Please respect copyright.PENANAInp23lPhHR
使你程式碼的效能提升~10Please respect copyright.PENANA9YQwSdPzT7
不過它的這個特性有時候也會是兩面刃,10Please respect copyright.PENANAAqbBIFVQC5
就是因為他擅自做了你沒預料的事情,10Please respect copyright.PENANA0ssHvlwxdl
當你要解BUG的時候,10Please respect copyright.PENANAysUR1HtqAj
就不得不懷疑他根本是愛搞事的學長呀!
再分析下去會沒完沒了~10Please respect copyright.PENANAFoxbm11xVE
畢竟還有至少3種以上的程式語言沒列出來呢,10Please respect copyright.PENANAIlpxVrDtd7
如果私心想要再追加一個我心中代表學長的程式語言,10Please respect copyright.PENANAIIFOblOXMK
那就是被淘汰的Flash了~10Please respect copyright.PENANAUJ67oqwBay
嚴格來說應該是叫做ActionScript。10Please respect copyright.PENANAwh1yjamGkF
不過我知道大家對於這個名稱不熟,10Please respect copyright.PENANAUgW6KQrNxM
因此後續我還是用Flash稱呼。10Please respect copyright.PENANA90jJWuALYn
然而程式語言的部分其實都是指AS~(註3)
Flash是我完全從書本上自學起來的程式語言。10Please respect copyright.PENANApCdaZGzTSh
過往老師只有教多媒體的觀點,10Please respect copyright.PENANAf952jxliIq
只把Flash當動畫的工具~10Please respect copyright.PENANAgY45KlEZFt
但是我真的很想學習做遊戲,10Please respect copyright.PENANAOETb7ZGKaE
國小又看到同學用Flash做遊戲,10Please respect copyright.PENANAX8TyXyj1cA
因此我人生有一大段時間,10Please respect copyright.PENANA2lpc7vMuec
每年至少有一款Flash遊戲~10Please respect copyright.PENANAG476bofro8
懷舊完,說明一下為什麼選Flash吧!
Flash有一種特性是目前所有程式語言望塵莫及的,10Please respect copyright.PENANAIFri2EGkNs
那就是即時性!10Please respect copyright.PENANA4OWpSAbTAs
各位也許對於現在的通訊軟體的lag或者延遲覺得無傷大雅,10Please respect copyright.PENANAIf9JJOlorh
但若真的要做到一比一的實時性,10Please respect copyright.PENANAdUm4FY51Qn
好比你在畫布上畫一條線,10Please respect copyright.PENANA9PQ23STihw
那每一點都同時間顯示在朋友的螢幕上,10Please respect copyright.PENANAqAZ8K4woJO
全部的程式語言中,10Please respect copyright.PENANAdKBvPdncEQ
就只有Flash可以做到~10Please respect copyright.PENANAz0eACDkM4Y
剩下的號稱可以的,10Please respect copyright.PENANAyiq2H8hG6b
拍謝~都只是因為影像計算快速,10Please respect copyright.PENANAYWjZzctQ7d
讓你誤以為是即時的感覺~10Please respect copyright.PENANAbcJDBBeCeM
然而它之所以能做到這點,10Please respect copyright.PENANAoV9rxXS7PJ
歸因於其特性,而這特性也是它被淘汰的原因之一;10Please respect copyright.PENANA2twf0gQ1km
那就是它有太多的漏洞了~10Please respect copyright.PENANAJb7W8qzvHG
Flash程式語言繞過了很多安全問題,10Please respect copyright.PENANAXY6eIhK6oF
使得駭客能透過Flash(SWF檔案)來執行任意程式碼,10Please respect copyright.PENANAka3ql7vyA7
同時Flash又能被嵌入在網頁上,10Please respect copyright.PENANAlozTsjhc4M
等於把這種危險性又擴散出去~10Please respect copyright.PENANAoy1UsgceX0
(因為人們可能會點這些Flash動畫進而電腦中毒)10Please respect copyright.PENANARP9qxSO261
但也因為繞過了安全問題,10Please respect copyright.PENANAtFmx9020W0
才能將資訊即時的送到對方電腦上~10Please respect copyright.PENANAj6ykPIxald
(其他程式語言還在做安全加密或應對措施)
基於讓人又愛又恨的特性,10Please respect copyright.PENANAmpD4vpb6a9
讓我想到學長給人兩極的印象~10Please respect copyright.PENANARoSGohPmgI
但這邊我是偏向愛多一點,10Please respect copyright.PENANA1UxB2UjqyC
因為我還是很懷念Flash,10Please respect copyright.PENANAlXDTOILdDy
在那之後我就跑去Unity,重回C#懷抱,10Please respect copyright.PENANAOO0c23sJIB
爾後又被收費嚇到,而去學Godot(也是用C#)10Please respect copyright.PENANAeAIYs2CKTm
(雖然後來Unity不收費了,但我也回不去了)
此外,10Please respect copyright.PENANABnm6pYmM6D
Flash在初學者學習做動畫這部分真的很友善,10Please respect copyright.PENANAbd3zeUfTv5
我在做遊戲中的動畫時,10Please respect copyright.PENANAMjpHAhQCcY
也都是思索著如果是Flash會怎麼處理?10Please respect copyright.PENANA3XJYEVBoaI
那親切的像是學長和我們打成一片,10Please respect copyright.PENANAI2rFMi0vL8
甚至四天王對決時,還特別不收取我們的BP~10Please respect copyright.PENANAHdTK1HlUYB
當我們打贏其他人時,10Please respect copyright.PENANAAMgiVrM61S
還會幫我們說明其他人的心路歷程一樣~
學長也像Flash一樣,10Please respect copyright.PENANALLfV5INsLS
是我們的老朋友~10Please respect copyright.PENANAEZXdg9UOC7
那些年的小朋友齊打交、夢遊先生等等小遊戲,10Please respect copyright.PENANAJ2RY16rbqp
陪伴了我們無數的時光~10Please respect copyright.PENANATiEaZ6KpPb
而我現在使用的Newgrounds遊戲平台,10Please respect copyright.PENANAsuDTWnX4ra
有專門的軟體可供用戶繼續玩Flash遊戲。
當然我也知道,10Please respect copyright.PENANADKe1rQaKK3
觀念要改,10Please respect copyright.PENANAVcNpXNbdl1
新的技術還是要學。10Please respect copyright.PENANA9L6i5kDsyw
就像同事和主管提到的Rust或許會成為未來的趨勢~10Please respect copyright.PENANAyADC0SemYC
而今我不再每天跟學長對戰了,10Please respect copyright.PENANAIsip2zkG6i
接觸寶可夢Z-A後,10Please respect copyright.PENANAocRqHTyLEj
也不好說會不會有其他人取代學長在我心中的位子...10Please respect copyright.PENANArbMn5w25UE
但是為了學長而寫的這些每日日記,10Please respect copyright.PENANAtZKghGiPLM
讓我有機會透過這種方式反覆思索著10Please respect copyright.PENANAI3tlv7B0Lv
過去現在未來的點點滴滴~10Please respect copyright.PENANA68khc79NSe
進而讓自己有人生方向以及動力!10Please respect copyright.PENANA5qqOOJXA0i
同時還增廣見聞~10Please respect copyright.PENANAHUpGJt6okj
真的很感謝當年Flash的啟蒙,10Please respect copyright.PENANAh69nIG94vV
曾經,我以為自己是空有夢想,10Please respect copyright.PENANAvBG2MOVDcf
而無法做遊戲的人~10Please respect copyright.PENANAkEvshayGmP
也是因為認識了學長,10Please respect copyright.PENANAnKaIXDiGGC
讓我能有主題參加每日日記挑戰~10Please respect copyright.PENANAsefeADNKmK
給自己每天創作的契機!10Please respect copyright.PENANAQ2dML5GDBt
雖然結束後我會重新整頓自己的創作步伐~10Please respect copyright.PENANAZbrleAyxCl
很高興自己還願意持續的創作!
7/19 完10Please respect copyright.PENANA6sVDwScOx6
註: 我人生第一個學習的程式語言其實是Visual Basic,10Please respect copyright.PENANAMCHCteM1vT
還曾經做一個猴子接香蕉的小遊戲,10Please respect copyright.PENANAbr6oz1xiRy
那是我國小的事情。10Please respect copyright.PENANAVwK3AX6FAF
以前網路空間或者備份的概念都很差,10Please respect copyright.PENANAzdOw0pNBtS
最終因為電腦重灌就清掉我的努力了~
註2: 原則上我們都是希望有人能看懂我們的程式碼,10Please respect copyright.PENANAM831LAqpNt
讓大家都能共同維護和開發功能~10Please respect copyright.PENANAI2MUptQ85U
但也有人反其道而行─10Please respect copyright.PENANANFkSmmmVE4
我偏不走這路線~所有人都看不懂我的程式碼,10Please respect copyright.PENANADGuOdn2Rke
就沒人能取代我了!10Please respect copyright.PENANACgGDv6l3Vc
主管也不敢趕我走!10Please respect copyright.PENANAXWcFMIv3oJ
不過這種短視近利的想法,10Please respect copyright.PENANAlb3h8Urpm7
其實害人又害己~10Please respect copyright.PENANAYCchbH7gI9
總不太可能專案都是一個人完成,10Please respect copyright.PENANAioX0Wg5ZGy
如果是那樣的專案,10Please respect copyright.PENANAaR32zBTPff
大抵也不是太大的專案...10Please respect copyright.PENANAWQIGodMyqy
如果哪一天有什麼你很難完成的任務,10Please respect copyright.PENANAIxsVTSUKxT
其他人也幫不了你(因為別人看不懂你的程式碼)~
註3: Flash你可以想像是一個做動畫的開發軟體,10Please respect copyright.PENANAcByYThBRTy
當你在畫面上拉出一個按鈕時,10Please respect copyright.PENANAAOPKfhmqQb
按下按鈕會發生什麼事情呢?10Please respect copyright.PENANAPdpD4DrHCo
這時就要透過ActionScript撰寫程式碼,10Please respect copyright.PENANAmxZxK2YuxA
綁定事件在按鈕中,10Please respect copyright.PENANAUGYjNTEHyr
使得按下按鈕後,會跳轉到下一個場景。10Please respect copyright.PENANA7tvaejqCsD
這之間的關係大概是這樣~