這個題目是我私心訂下的(哪次不是?),7Please respect copyright.PENANA5MYrys6in4
意思是沒有要管大家看不看得懂就是~7Please respect copyright.PENANAaAc4omtgtZ
畢竟從畢業到現在已經當工程師這麼多年,7Please respect copyright.PENANA4LX5Ztx7TH
接觸的程式語言雖然都是大家耳熟能詳的那些,7Please respect copyright.PENANAZ90OzpKPZo
也不少了~7Please respect copyright.PENANAEhuMUcqXbb
所以這次的分析算是藉由我對於所學過的程式語言的觀點整理,7Please respect copyright.PENANA02uVP5ORGA
(不代表建議新手該從哪個程式語言入手喔)7Please respect copyright.PENANA3nVxpIm75G
然後來跟學長的特質做對應喔!
第一個我想到的最佳解就是Python,7Please respect copyright.PENANApymqKWInWq
Python顧名思義就是蟒蛇,7Please respect copyright.PENANAw3Yn87zbDT
他的Logo是兩隻蛇纏在一起,7Please respect copyright.PENANAfmgmGXJNmX
一隻藍色一隻黃色~7Please respect copyright.PENANAKcVrKXppm7
此外,目前最受歡迎的Python編輯器之一叫做Anaconda,7Please respect copyright.PENANAf4w4WIvH3W
是森蚺的意思~7Please respect copyright.PENANAeFeZCLAHG9
會選擇這個程式語言,7Please respect copyright.PENANAVn7NEh9I1d
除了是Logo讓我幻想成學長和我們手牽手的樣子,7Please respect copyright.PENANARr3wNHlfh2
再來就是蛇代表小龍(讓我想到迷你龍)~7Please respect copyright.PENANANntGLWOxGy
還有Python的繼承跟別的程式語言不同,7Please respect copyright.PENANAxvb5cpR40T
一般程式語言的繼承只能有一個父類別(一個父親),7Please respect copyright.PENANA8hQhAdYndx
但是Python卻可以有多個父類別(多個父親)!7Please respect copyright.PENANASUmnRfnKpg
這讓我覺得對應到了學長的多重身分~7Please respect copyright.PENANAEbJGMDxEhn
既是四天王也是聯盟社社長,7Please respect copyright.PENANAWHyKuabLRF
再來就是Python簡化了很多語法,7Please respect copyright.PENANAeC1l9xhc3Y
是懶人救星~(相當於學長懶散的個性)7Please respect copyright.PENANASRYUYJZvJY
比方人家寫方法要用function,7Please respect copyright.PENANABmtz5XbJN2
Python只要用def就可以定義方法了~7Please respect copyright.PENANA980S5qvRDD
對了對了,7Please respect copyright.PENANAFgITfvxQD6
Python也是許多人用來學習處理大數據(meta data)、7Please respect copyright.PENANA2OR8LDYmZH
AI(scikit-learn)、爬蟲(Beautiful Soup)的程式語言呢!7Please respect copyright.PENANAKy6YQw3zxp
對應學長的戰術能力剛剛好呢!
雖然最佳解出來了,7Please respect copyright.PENANAEXrfL7yxER
但還是要給其他的選項供人思考呀~7Please respect copyright.PENANA3C0OHPbdiz
那麼第二個選項就是Java7Please respect copyright.PENANA4oAWmr7ltp
沒錯,就是爪哇,還有咖啡豆的那個Java~7Please respect copyright.PENANACd2rOQBGS4
當年代代流傳Java螞蟻書(而且是有翅膀的螞蟻)~7Please respect copyright.PENANA5iE70MTzN8
我因為畢業很久,想說我再也不碰Java啦~Jo Jo!7Please respect copyright.PENANAhMG0iLf5Kf
就把那個超厚的書做回收了~7Please respect copyright.PENANAAqftGEVmfY
然後我就遭到報應了...7Please respect copyright.PENANAEiaZulM75C
好在重新接觸Java沒有花太多時間就是,7Please respect copyright.PENANAQ56KfM1Ndt
凡走過必留下痕跡嘛,7Please respect copyright.PENANAwfQjfgP1F8
我可是號稱2年沒碰的程式碼不會忘,7Please respect copyright.PENANAFoUlzhabfY
10年前公司的專案我也知道怎麼維護呢哼哼!7Please respect copyright.PENANA4U2H78YLjv
那為什麼選Java而不是Javascript呢?7Please respect copyright.PENANAl8Sn5o3OXe
因為我個人私心覺得,7Please respect copyright.PENANAKFwNAzNpLJ
學長的個性還有給我的印象,7Please respect copyright.PENANAIhL0snCBei
比較偏向後端程式語言。7Please respect copyright.PENANAX5ZVPFfg6m
然而我就不在這邊討論前端與後端程式語言的差異,7Please respect copyright.PENANAAlZWLN9yiP
只想奉勸你們各位已經被冠上全端工程師(如我)的工程師們,7Please respect copyright.PENANArzfj4hcVXS
不要拿後端思維到前端程式碼使用~反之亦然!7Please respect copyright.PENANAEoPNH4Z2Qz
我們繼續說下去,為什麼選擇Java吧!7Please respect copyright.PENANA8JRjDBAdO6
第一個理由確實是因為咖啡的關係~7Please respect copyright.PENANANgdcglyafu
畢竟代表學長的飲品中多少都有跟咖啡有關的選項。7Please respect copyright.PENANAIClmZk4od0
再來就是學Java免不了要會的OOP(物件導向程式設計)~7Please respect copyright.PENANASuQn9ehsIj
我也曾經歷過不懂為什麼命名要叫做set還有get,7Please respect copyright.PENANAWX3FcFJNnK
不懂為什麼建構子(Constructor)代表藍圖...7Please respect copyright.PENANAuUtUy1lFaI
以及分不清楚abstract和interface的時光,7Please respect copyright.PENANAOqnJMayghz
好在學了多個程式語言,反而把不會的概念也補完了!7Please respect copyright.PENANAe8bw1MLSMv
儘管OOP不是只有Java有,7Please respect copyright.PENANA3OXf4L5XzN
等等的那個選項也有這個觀念,7Please respect copyright.PENANAbS8gBWIaAU
但畢竟是我第一個正規接觸的程式語言(註),7Please respect copyright.PENANAGsy1aGMRJW
所以就以Java作為代表了~7Please respect copyright.PENANAbmF6nHF9om
OOP這個技巧的出現,7Please respect copyright.PENANAxewYcvLP8U
其實是為了讓程式碼能夠再利用,7Please respect copyright.PENANAW0SVSoymev
讓你不至於成為碼農、什麼都複製貼上~7Please respect copyright.PENANAAxaMBwEx79
同時也比較好維護程式碼~(註2)7Please respect copyright.PENANAVvCwn72kAH
而OOP的最常見的三大觀念即是─7Please respect copyright.PENANAcMMnAsV9BH
封裝、繼承、多型7Please respect copyright.PENANAUd6E8q4Llw
讓我想到每個人加入聯盟社(繼承),7Please respect copyright.PENANADRep0xhkB0
成為聯盟社的成員(實例化),要努力賺BP(多型)~7Please respect copyright.PENANAcBWfL4y74v
關於多型,我看到有人下一個很簡單易懂的註解─7Please respect copyright.PENANA4zAHjVgwh8
即是指一樣的事,不同做法。7Please respect copyright.PENANAtP1tN6ZRn4
又或者:同一個行為,但有不同的結果7Please respect copyright.PENANAUgAiqfKHNJ
而學長代表Java神之手讓我們進入聯盟社,7Please respect copyright.PENANAWAqBWh7aFq
開啟了農BP的地獄(特別對沒朋友的人不友善的機制)...7Please respect copyright.PENANANAX7RYJXgl
此外,7Please respect copyright.PENANAhBpQl87krF
各位你還聽過Silverlight嗎?7Please respect copyright.PENANAbkoG5JTNQ9
記得當年微軟還給它做了一個形象人物─藍澤光7Please respect copyright.PENANAcxqfGQpvol
我曾經用Silverlight寫網頁...7Please respect copyright.PENANARowX2lpCZu
然後得知這東西要被報廢了...7Please respect copyright.PENANApLtul2LALI
真的是有夠恨鐵不成鋼的!!!7Please respect copyright.PENANAI0zud9o8NM
雖然可能沒有關聯性,7Please respect copyright.PENANA1u51VScxrD
後來的就是Spring Boot,7Please respect copyright.PENANAAq9fVSh3Uq
但也沒想到同事說Spring Boot也有點老了...7Please respect copyright.PENANAApIbkhF4mc
總之,7Please respect copyright.PENANAKHJLpdI391
如果Silberlight是學長的話,7Please respect copyright.PENANAsQA3rdflCj
那Spring Boot大概就是烏栗了~7Please respect copyright.PENANAOXP39AMO3i
唉,都是時代的眼淚呀!
最後一個選項老實說也是我重新摸索的程式語言,7Please respect copyright.PENANA20kmMqW7I2
那就是C++7Please respect copyright.PENANAtMq9A4COug
當年學C++是為了影像處理,7Please respect copyright.PENANAwRfKllfLE3
我也沒想到當年使用openCV,7Please respect copyright.PENANAnVm8cGIKqh
現在2025年了,大家還是繼續使用openCV。7Please respect copyright.PENANAOsclX7kDtB
儘管都這麼久語法應該都更新了,7Please respect copyright.PENANAtoWPkqDaUw
你們如果當年好好學習openCV,7Please respect copyright.PENANAzgUXwiO7yb
10年後還是受用呀!(對,我2012年大學畢業的)7Please respect copyright.PENANA2hqsFplHb1
會選擇C++的原因是因為我曾經聽過有人這樣比喻C++:7Please respect copyright.PENANAOPlJdzRhhI
發明出C++的人,對於(現在的)C++掌握程度也只有70%7Please respect copyright.PENANAZBLut20p0R
因此如果在面試的時候,7Please respect copyright.PENANAaSxPvOTlPs
面試官問你,你對於C++的掌握度有多少?7Please respect copyright.PENANAHXKclwS5MS
會回答超過70%的人不是真的有實力,就是過份有自信...7Please respect copyright.PENANA0SRchPr3Xg
會這樣有感而發是因為,7Please respect copyright.PENANAdT0ZDVTzXh
今天已經是這個系列的第83篇了,7Please respect copyright.PENANAQYdcx7YfDG
不過我對於學長的理解,7Please respect copyright.PENANA8pefDK3M2B
就跟對C++的理解一樣,7Please respect copyright.PENANA3Zi9sSQGSl
還是只有淺層的程度~7Please respect copyright.PENANAqbJL9zNIdX
除此之外,7Please respect copyright.PENANAdJiAYz3GFm
C++也是懶人程式語言之一,7Please respect copyright.PENANA69L6uHYgvK
前提是你要很熟練~7Please respect copyright.PENANAErDDtw8743
怎麼說呢?7Please respect copyright.PENANAAOd35lhWgG
C++會在背後幫你做一堆的記憶體管理,7Please respect copyright.PENANASlLMg5Sq8V
使你程式碼的效能提升~7Please respect copyright.PENANAYxKKtTODRd
不過它的這個特性有時候也會是兩面刃,7Please respect copyright.PENANAVxUV01dr6P
就是因為他擅自做了你沒預料的事情,7Please respect copyright.PENANA7FGcGxdQG0
當你要解BUG的時候,7Please respect copyright.PENANAceWdYr46uR
就不得不懷疑他根本是愛搞事的學長呀!
再分析下去會沒完沒了~7Please respect copyright.PENANAEvO4YOG511
畢竟還有至少3種以上的程式語言沒列出來呢,7Please respect copyright.PENANAgXPv3NHsgs
如果私心想要再追加一個我心中代表學長的程式語言,7Please respect copyright.PENANARhvpz4H0mc
那就是被淘汰的Flash了~7Please respect copyright.PENANA2Ad7YnWcpN
嚴格來說應該是叫做ActionScript。7Please respect copyright.PENANAJISEyRxh1M
不過我知道大家對於這個名稱不熟,7Please respect copyright.PENANAr3LGCJQH8P
因此後續我還是用Flash稱呼。7Please respect copyright.PENANANZFoN6JPWp
然而程式語言的部分其實都是指AS~(註3)
Flash是我完全從書本上自學起來的程式語言。7Please respect copyright.PENANAVuCarDoehM
過往老師只有教多媒體的觀點,7Please respect copyright.PENANA4rF4gx4U46
只把Flash當動畫的工具~7Please respect copyright.PENANAXj3PdqlB7i
但是我真的很想學習做遊戲,7Please respect copyright.PENANAQfneGIv7sD
國小又看到同學用Flash做遊戲,7Please respect copyright.PENANAbqIDD3WKlS
因此我人生有一大段時間,7Please respect copyright.PENANAOXTqIcX5PT
每年至少有一款Flash遊戲~7Please respect copyright.PENANAnlr7Xu9Xk8
懷舊完,說明一下為什麼選Flash吧!
Flash有一種特性是目前所有程式語言望塵莫及的,7Please respect copyright.PENANAbhaOOFVwIs
那就是即時性!7Please respect copyright.PENANA9TAyIs1BZD
各位也許對於現在的通訊軟體的lag或者延遲覺得無傷大雅,7Please respect copyright.PENANAw3lXoSMjOc
但若真的要做到一比一的實時性,7Please respect copyright.PENANAnQ0q6rdEiU
好比你在畫布上畫一條線,7Please respect copyright.PENANAKmscSCBFGJ
那每一點都同時間顯示在朋友的螢幕上,7Please respect copyright.PENANA44ObQbM2nQ
全部的程式語言中,7Please respect copyright.PENANAjHn9jH6uqd
就只有Flash可以做到~7Please respect copyright.PENANAsk8wPkCTH0
剩下的號稱可以的,7Please respect copyright.PENANAYVzDDVqY7g
拍謝~都只是因為影像計算快速,7Please respect copyright.PENANAoFA0t8RW8J
讓你誤以為是即時的感覺~7Please respect copyright.PENANAHqCzHjKEj6
然而它之所以能做到這點,7Please respect copyright.PENANAJW4GmzXFzV
歸因於其特性,而這特性也是它被淘汰的原因之一;7Please respect copyright.PENANA2Z83rDnthO
那就是它有太多的漏洞了~7Please respect copyright.PENANAYrWp964LsK
Flash程式語言繞過了很多安全問題,7Please respect copyright.PENANAU0NbynULCf
使得駭客能透過Flash(SWF檔案)來執行任意程式碼,7Please respect copyright.PENANAQfLHnUjZeV
同時Flash又能被嵌入在網頁上,7Please respect copyright.PENANAH95zpzbJ6W
等於把這種危險性又擴散出去~7Please respect copyright.PENANA7xdBqq5gAH
(因為人們可能會點這些Flash動畫進而電腦中毒)7Please respect copyright.PENANAvbaJSWXrqO
但也因為繞過了安全問題,7Please respect copyright.PENANAIcMAd9CnSP
才能將資訊即時的送到對方電腦上~7Please respect copyright.PENANApT4DvE99me
(其他程式語言還在做安全加密或應對措施)
基於讓人又愛又恨的特性,7Please respect copyright.PENANAcBmYehrfoq
讓我想到學長給人兩極的印象~7Please respect copyright.PENANAl472PtG2gQ
但這邊我是偏向愛多一點,7Please respect copyright.PENANAZnxs7yoasW
因為我還是很懷念Flash,7Please respect copyright.PENANALO5gXKtnQm
在那之後我就跑去Unity,重回C#懷抱,7Please respect copyright.PENANAKBaSIdJaxd
爾後又被收費嚇到,而去學Godot(也是用C#)7Please respect copyright.PENANAZwR0jAOzEN
(雖然後來Unity不收費了,但我也回不去了)
此外,7Please respect copyright.PENANAR4ZQJhSk13
Flash在初學者學習做動畫這部分真的很友善,7Please respect copyright.PENANAqlpOiknAxF
我在做遊戲中的動畫時,7Please respect copyright.PENANAwxBakAO9DY
也都是思索著如果是Flash會怎麼處理?7Please respect copyright.PENANAr9ys19wEeD
那親切的像是學長和我們打成一片,7Please respect copyright.PENANAnCsBGbexRC
甚至四天王對決時,還特別不收取我們的BP~7Please respect copyright.PENANAj3NuUyIpMY
當我們打贏其他人時,7Please respect copyright.PENANADGl3HUbCPJ
還會幫我們說明其他人的心路歷程一樣~
學長也像Flash一樣,7Please respect copyright.PENANAWsbP6iZRzz
是我們的老朋友~7Please respect copyright.PENANA2Q9M5Q2Fye
那些年的小朋友齊打交、夢遊先生等等小遊戲,7Please respect copyright.PENANAjY3eo1EGOY
陪伴了我們無數的時光~7Please respect copyright.PENANACeva2nSh5q
而我現在使用的Newgrounds遊戲平台,7Please respect copyright.PENANAXd7qEMCbrJ
有專門的軟體可供用戶繼續玩Flash遊戲。
當然我也知道,7Please respect copyright.PENANA5m2PvCNERh
觀念要改,7Please respect copyright.PENANAC57jLQPzMx
新的技術還是要學。7Please respect copyright.PENANAHEKjdARFlg
就像同事和主管提到的Rust或許會成為未來的趨勢~7Please respect copyright.PENANAIv5P217y1r
而今我不再每天跟學長對戰了,7Please respect copyright.PENANAQdTo3LEJEU
接觸寶可夢Z-A後,7Please respect copyright.PENANA5AQXxMZFZA
也不好說會不會有其他人取代學長在我心中的位子...7Please respect copyright.PENANAf6s7d1GhwE
但是為了學長而寫的這些每日日記,7Please respect copyright.PENANAnNcpjYa5fB
讓我有機會透過這種方式反覆思索著7Please respect copyright.PENANA0RWl2B4rg7
過去現在未來的點點滴滴~7Please respect copyright.PENANA304TrGPPi7
進而讓自己有人生方向以及動力!7Please respect copyright.PENANAAAss77OeqJ
同時還增廣見聞~7Please respect copyright.PENANAYp1jlv76Gd
真的很感謝當年Flash的啟蒙,7Please respect copyright.PENANAtOKYF7oTyS
曾經,我以為自己是空有夢想,7Please respect copyright.PENANAIC2FDRHEiF
而無法做遊戲的人~7Please respect copyright.PENANADQVI4RJDOf
也是因為認識了學長,7Please respect copyright.PENANA1XBmn18fHj
讓我能有主題參加每日日記挑戰~7Please respect copyright.PENANAIQllzeeU3j
給自己每天創作的契機!7Please respect copyright.PENANAWR3zRBYMS7
雖然結束後我會重新整頓自己的創作步伐~7Please respect copyright.PENANAoR0ZSKT8bg
很高興自己還願意持續的創作!
7/19 完7Please respect copyright.PENANA2DU3JlX50u
註: 我人生第一個學習的程式語言其實是Visual Basic,7Please respect copyright.PENANAK116hDMsZZ
還曾經做一個猴子接香蕉的小遊戲,7Please respect copyright.PENANAF0pgIoQewJ
那是我國小的事情。7Please respect copyright.PENANAKL90bd68t1
以前網路空間或者備份的概念都很差,7Please respect copyright.PENANAgn486IhjgL
最終因為電腦重灌就清掉我的努力了~
註2: 原則上我們都是希望有人能看懂我們的程式碼,7Please respect copyright.PENANA6ZFhG7dcgp
讓大家都能共同維護和開發功能~7Please respect copyright.PENANAX2AQk4Gdya
但也有人反其道而行─7Please respect copyright.PENANARKQrdqkldD
我偏不走這路線~所有人都看不懂我的程式碼,7Please respect copyright.PENANARXhUkEm3xH
就沒人能取代我了!7Please respect copyright.PENANA2pekS5V0Q0
主管也不敢趕我走!7Please respect copyright.PENANAT19YbnCQIU
不過這種短視近利的想法,7Please respect copyright.PENANAkmlbT2rHoz
其實害人又害己~7Please respect copyright.PENANAqBb9FuIESr
總不太可能專案都是一個人完成,7Please respect copyright.PENANAYf1l9AH1AK
如果是那樣的專案,7Please respect copyright.PENANAWZXf9pPtTk
大抵也不是太大的專案...7Please respect copyright.PENANAIIInov5Wqu
如果哪一天有什麼你很難完成的任務,7Please respect copyright.PENANAWB7dnc8F8w
其他人也幫不了你(因為別人看不懂你的程式碼)~
註3: Flash你可以想像是一個做動畫的開發軟體,7Please respect copyright.PENANA8Q4ym4ZsmM
當你在畫面上拉出一個按鈕時,7Please respect copyright.PENANACNWQKmUFVE
按下按鈕會發生什麼事情呢?7Please respect copyright.PENANAXcnnfBl5sS
這時就要透過ActionScript撰寫程式碼,7Please respect copyright.PENANA3E7YPPQrJD
綁定事件在按鈕中,7Please respect copyright.PENANAPZNfL3miTH
使得按下按鈕後,會跳轉到下一個場景。7Please respect copyright.PENANAm9o6QBGMrj
這之間的關係大概是這樣~