這個題目是我私心訂下的(哪次不是?),21Please respect copyright.PENANAn7bSreF677
意思是沒有要管大家看不看得懂就是~21Please respect copyright.PENANAOIdBuCybOf
畢竟從畢業到現在已經當工程師這麼多年,21Please respect copyright.PENANASG0MtIhXTR
接觸的程式語言雖然都是大家耳熟能詳的那些,21Please respect copyright.PENANAZSnM4UaMvB
也不少了~21Please respect copyright.PENANAsQ1YRI6XFq
所以這次的分析算是藉由我對於所學過的程式語言的觀點整理,21Please respect copyright.PENANAK27NcOOYLr
(不代表建議新手該從哪個程式語言入手喔)21Please respect copyright.PENANACMpfDOPgH6
然後來跟學長的特質做對應喔!
第一個我想到的最佳解就是Python,21Please respect copyright.PENANAcGZzdILFA5
Python顧名思義就是蟒蛇,21Please respect copyright.PENANAmHsOyWwTSx
他的Logo是兩隻蛇纏在一起,21Please respect copyright.PENANAcZHV2dLkrX
一隻藍色一隻黃色~21Please respect copyright.PENANADUbFXLCX2T
此外,目前最受歡迎的Python編輯器之一叫做Anaconda,21Please respect copyright.PENANAiG4R9kBn2U
是森蚺的意思~21Please respect copyright.PENANAII9wFo2wY6
會選擇這個程式語言,21Please respect copyright.PENANAgECirI2vTh
除了是Logo讓我幻想成學長和我們手牽手的樣子,21Please respect copyright.PENANAUtS7BWDpd4
再來就是蛇代表小龍(讓我想到迷你龍)~21Please respect copyright.PENANAnt8GAep3dw
還有Python的繼承跟別的程式語言不同,21Please respect copyright.PENANAYeDSp7VFmL
一般程式語言的繼承只能有一個父類別(一個父親),21Please respect copyright.PENANAw0ulZTtw2W
但是Python卻可以有多個父類別(多個父親)!21Please respect copyright.PENANAN8sDVvpq5n
這讓我覺得對應到了學長的多重身分~21Please respect copyright.PENANAZ7UL0JPAro
既是四天王也是聯盟社社長,21Please respect copyright.PENANAOt4TKUXCYb
再來就是Python簡化了很多語法,21Please respect copyright.PENANA4YX7uJPach
是懶人救星~(相當於學長懶散的個性)21Please respect copyright.PENANA8A2QbtY8dw
比方人家寫方法要用function,21Please respect copyright.PENANAzhnljzBvKH
Python只要用def就可以定義方法了~21Please respect copyright.PENANA7Qpgyz0Fj7
對了對了,21Please respect copyright.PENANAP5Fq1nsx55
Python也是許多人用來學習處理大數據(meta data)、21Please respect copyright.PENANAS9bmQqW9YN
AI(scikit-learn)、爬蟲(Beautiful Soup)的程式語言呢!21Please respect copyright.PENANATtYXUZncQs
對應學長的戰術能力剛剛好呢!
雖然最佳解出來了,21Please respect copyright.PENANArYXw5tTvUR
但還是要給其他的選項供人思考呀~21Please respect copyright.PENANAXUWkCZpOMV
那麼第二個選項就是Java21Please respect copyright.PENANAepuXzzqe55
沒錯,就是爪哇,還有咖啡豆的那個Java~21Please respect copyright.PENANAJAMXB8CP0r
當年代代流傳Java螞蟻書(而且是有翅膀的螞蟻)~21Please respect copyright.PENANAxLCKeAmJFr
我因為畢業很久,想說我再也不碰Java啦~Jo Jo!21Please respect copyright.PENANAB06QHSBO6U
就把那個超厚的書做回收了~21Please respect copyright.PENANAOK0qXx0TkX
然後我就遭到報應了...21Please respect copyright.PENANAzhAzZbHwz8
好在重新接觸Java沒有花太多時間就是,21Please respect copyright.PENANAmZqKp5GyKJ
凡走過必留下痕跡嘛,21Please respect copyright.PENANAWyJoN8EZE5
我可是號稱2年沒碰的程式碼不會忘,21Please respect copyright.PENANAuPR9uVtSMw
10年前公司的專案我也知道怎麼維護呢哼哼!21Please respect copyright.PENANAQBA8WUXUDV
那為什麼選Java而不是Javascript呢?21Please respect copyright.PENANAQBHWStgKQK
因為我個人私心覺得,21Please respect copyright.PENANAj6Ayn5PGMI
學長的個性還有給我的印象,21Please respect copyright.PENANAEFc3YqR0sb
比較偏向後端程式語言。21Please respect copyright.PENANApWxVxJt1hw
然而我就不在這邊討論前端與後端程式語言的差異,21Please respect copyright.PENANAXUYZuMpDX3
只想奉勸你們各位已經被冠上全端工程師(如我)的工程師們,21Please respect copyright.PENANAhMwJ2cykkR
不要拿後端思維到前端程式碼使用~反之亦然!21Please respect copyright.PENANA7bIAc7gDmX
我們繼續說下去,為什麼選擇Java吧!21Please respect copyright.PENANADP3lrZre3o
第一個理由確實是因為咖啡的關係~21Please respect copyright.PENANAWSfLyY0Vba
畢竟代表學長的飲品中多少都有跟咖啡有關的選項。21Please respect copyright.PENANAxbZpQGF5Ys
再來就是學Java免不了要會的OOP(物件導向程式設計)~21Please respect copyright.PENANA5FMBsK7FXd
我也曾經歷過不懂為什麼命名要叫做set還有get,21Please respect copyright.PENANAeqJI5Z8xwM
不懂為什麼建構子(Constructor)代表藍圖...21Please respect copyright.PENANAgLBEOewlKg
以及分不清楚abstract和interface的時光,21Please respect copyright.PENANAhIg5pyjl6J
好在學了多個程式語言,反而把不會的概念也補完了!21Please respect copyright.PENANAVjtYAybuMm
儘管OOP不是只有Java有,21Please respect copyright.PENANAkAh8Tt5v3C
等等的那個選項也有這個觀念,21Please respect copyright.PENANAxTqHyaNl5F
但畢竟是我第一個正規接觸的程式語言(註),21Please respect copyright.PENANAULe05euBrg
所以就以Java作為代表了~21Please respect copyright.PENANAnjCyHwzJjE
OOP這個技巧的出現,21Please respect copyright.PENANAJgGVKlQGte
其實是為了讓程式碼能夠再利用,21Please respect copyright.PENANAQmbeavNpgo
讓你不至於成為碼農、什麼都複製貼上~21Please respect copyright.PENANAFcQs7TnkUR
同時也比較好維護程式碼~(註2)21Please respect copyright.PENANAQ4TJOLvTvG
而OOP的最常見的三大觀念即是─21Please respect copyright.PENANAlFqNxUkERh
封裝、繼承、多型21Please respect copyright.PENANAuoW363lcUU
讓我想到每個人加入聯盟社(繼承),21Please respect copyright.PENANAaOW6eCLzWx
成為聯盟社的成員(實例化),要努力賺BP(多型)~21Please respect copyright.PENANA2Q8uBLGuz6
關於多型,我看到有人下一個很簡單易懂的註解─21Please respect copyright.PENANAEGI3BhmhX1
即是指一樣的事,不同做法。21Please respect copyright.PENANAH3C4BYxKpI
又或者:同一個行為,但有不同的結果21Please respect copyright.PENANAEy2pSl6EQD
而學長代表Java神之手讓我們進入聯盟社,21Please respect copyright.PENANA7iFDCVLyHa
開啟了農BP的地獄(特別對沒朋友的人不友善的機制)...21Please respect copyright.PENANAnAJ139NxkK
此外,21Please respect copyright.PENANAGIGs0tFQNg
各位你還聽過Silverlight嗎?21Please respect copyright.PENANARcfY2jfNiO
記得當年微軟還給它做了一個形象人物─藍澤光21Please respect copyright.PENANAKmZDekviiP
我曾經用Silverlight寫網頁...21Please respect copyright.PENANATbauPjcrDC
然後得知這東西要被報廢了...21Please respect copyright.PENANA0T7OlG6IAy
真的是有夠恨鐵不成鋼的!!!21Please respect copyright.PENANACStrddNBxi
雖然可能沒有關聯性,21Please respect copyright.PENANAFavJOChW5S
後來的就是Spring Boot,21Please respect copyright.PENANADDHag1erw4
但也沒想到同事說Spring Boot也有點老了...21Please respect copyright.PENANAmBW2pL04TE
總之,21Please respect copyright.PENANAU0YzyHhyIU
如果Silberlight是學長的話,21Please respect copyright.PENANAtbRX0DfLUC
那Spring Boot大概就是烏栗了~21Please respect copyright.PENANATekgfWp3rF
唉,都是時代的眼淚呀!
最後一個選項老實說也是我重新摸索的程式語言,21Please respect copyright.PENANAwR4pMjYLaR
那就是C++21Please respect copyright.PENANAKh6DCBrYyV
當年學C++是為了影像處理,21Please respect copyright.PENANAuiZlK7LwGC
我也沒想到當年使用openCV,21Please respect copyright.PENANAr5jY5sPeSw
現在2025年了,大家還是繼續使用openCV。21Please respect copyright.PENANARaFNDDCAUo
儘管都這麼久語法應該都更新了,21Please respect copyright.PENANAa62GRiwMvl
你們如果當年好好學習openCV,21Please respect copyright.PENANAosaORDP7np
10年後還是受用呀!(對,我2012年大學畢業的)21Please respect copyright.PENANA9LCY5a13YA
會選擇C++的原因是因為我曾經聽過有人這樣比喻C++:21Please respect copyright.PENANAb5wnyRbk6E
發明出C++的人,對於(現在的)C++掌握程度也只有70%21Please respect copyright.PENANAfYgKzle0yA
因此如果在面試的時候,21Please respect copyright.PENANAypHsCv1fEA
面試官問你,你對於C++的掌握度有多少?21Please respect copyright.PENANAQm33TYZEnF
會回答超過70%的人不是真的有實力,就是過份有自信...21Please respect copyright.PENANAjoZTFECSJt
會這樣有感而發是因為,21Please respect copyright.PENANACeNBgG12QQ
今天已經是這個系列的第83篇了,21Please respect copyright.PENANA6VtQ1NOwOG
不過我對於學長的理解,21Please respect copyright.PENANAkuA77ovTWJ
就跟對C++的理解一樣,21Please respect copyright.PENANAlbEYjqAWhV
還是只有淺層的程度~21Please respect copyright.PENANAFiYq08AN7w
除此之外,21Please respect copyright.PENANAQqfrgu9Ly1
C++也是懶人程式語言之一,21Please respect copyright.PENANAiBV9ZqIu30
前提是你要很熟練~21Please respect copyright.PENANANCMQqCGZU1
怎麼說呢?21Please respect copyright.PENANA8fohy66lX2
C++會在背後幫你做一堆的記憶體管理,21Please respect copyright.PENANAmt88GGOmh9
使你程式碼的效能提升~21Please respect copyright.PENANAHJt9f3Znrr
不過它的這個特性有時候也會是兩面刃,21Please respect copyright.PENANAmXSP3MNTXV
就是因為他擅自做了你沒預料的事情,21Please respect copyright.PENANATEwyMFuf67
當你要解BUG的時候,21Please respect copyright.PENANAtWjYNV1FsG
就不得不懷疑他根本是愛搞事的學長呀!
再分析下去會沒完沒了~21Please respect copyright.PENANAfwhmvJvVEN
畢竟還有至少3種以上的程式語言沒列出來呢,21Please respect copyright.PENANAksdEAr81LM
如果私心想要再追加一個我心中代表學長的程式語言,21Please respect copyright.PENANAPQ0LhIOEUL
那就是被淘汰的Flash了~21Please respect copyright.PENANAbVrWvVu7Oj
嚴格來說應該是叫做ActionScript。21Please respect copyright.PENANAI5Il3F08KZ
不過我知道大家對於這個名稱不熟,21Please respect copyright.PENANA2rhFW2OUwN
因此後續我還是用Flash稱呼。21Please respect copyright.PENANATtOML0CWTf
然而程式語言的部分其實都是指AS~(註3)
Flash是我完全從書本上自學起來的程式語言。21Please respect copyright.PENANANPUi4ILoQX
過往老師只有教多媒體的觀點,21Please respect copyright.PENANA6AGhJRCKbj
只把Flash當動畫的工具~21Please respect copyright.PENANAtEhfkHWUaX
但是我真的很想學習做遊戲,21Please respect copyright.PENANANTI3vH0YOE
國小又看到同學用Flash做遊戲,21Please respect copyright.PENANAjMJgwBUIt1
因此我人生有一大段時間,21Please respect copyright.PENANAudT9j0rQX8
每年至少有一款Flash遊戲~21Please respect copyright.PENANAc7V6obBukp
懷舊完,說明一下為什麼選Flash吧!
Flash有一種特性是目前所有程式語言望塵莫及的,21Please respect copyright.PENANAN0Xyk5hge1
那就是即時性!21Please respect copyright.PENANAU1yuxnlltU
各位也許對於現在的通訊軟體的lag或者延遲覺得無傷大雅,21Please respect copyright.PENANAvoMKXi2RJI
但若真的要做到一比一的實時性,21Please respect copyright.PENANAZckS562u75
好比你在畫布上畫一條線,21Please respect copyright.PENANAARITp8QyQc
那每一點都同時間顯示在朋友的螢幕上,21Please respect copyright.PENANAsQhhUUJvDr
全部的程式語言中,21Please respect copyright.PENANAzizbR3aMkd
就只有Flash可以做到~21Please respect copyright.PENANAkkXE3WgcV8
剩下的號稱可以的,21Please respect copyright.PENANAaheuOIvAlz
拍謝~都只是因為影像計算快速,21Please respect copyright.PENANAJhCXwJ2gkJ
讓你誤以為是即時的感覺~21Please respect copyright.PENANAIllV7j3Hgs
然而它之所以能做到這點,21Please respect copyright.PENANAJF55xdTxc7
歸因於其特性,而這特性也是它被淘汰的原因之一;21Please respect copyright.PENANAfbhZGYtMMF
那就是它有太多的漏洞了~21Please respect copyright.PENANAlfYJPzFNkJ
Flash程式語言繞過了很多安全問題,21Please respect copyright.PENANAp6k8qIodbr
使得駭客能透過Flash(SWF檔案)來執行任意程式碼,21Please respect copyright.PENANAGZPKJudfM8
同時Flash又能被嵌入在網頁上,21Please respect copyright.PENANAeAfDRCnzCJ
等於把這種危險性又擴散出去~21Please respect copyright.PENANADWuwLEcC1i
(因為人們可能會點這些Flash動畫進而電腦中毒)21Please respect copyright.PENANA2xjAkN8EDA
但也因為繞過了安全問題,21Please respect copyright.PENANAP2hn764XHl
才能將資訊即時的送到對方電腦上~21Please respect copyright.PENANAr8WWgDLXH3
(其他程式語言還在做安全加密或應對措施)
基於讓人又愛又恨的特性,21Please respect copyright.PENANAfBvhNp7lqG
讓我想到學長給人兩極的印象~21Please respect copyright.PENANAceqZt2sjA5
但這邊我是偏向愛多一點,21Please respect copyright.PENANAwFNOKZAleJ
因為我還是很懷念Flash,21Please respect copyright.PENANAJ8eGDk6VD7
在那之後我就跑去Unity,重回C#懷抱,21Please respect copyright.PENANArMkD5KdKsH
爾後又被收費嚇到,而去學Godot(也是用C#)21Please respect copyright.PENANAqmIFPQ7BWa
(雖然後來Unity不收費了,但我也回不去了)
此外,21Please respect copyright.PENANATh866UpHOf
Flash在初學者學習做動畫這部分真的很友善,21Please respect copyright.PENANAemulKg9Z2V
我在做遊戲中的動畫時,21Please respect copyright.PENANAYdOUcF3mhu
也都是思索著如果是Flash會怎麼處理?21Please respect copyright.PENANAkFXKeEgEMi
那親切的像是學長和我們打成一片,21Please respect copyright.PENANAm1BYIGnXYc
甚至四天王對決時,還特別不收取我們的BP~21Please respect copyright.PENANALaJoVHOBtq
當我們打贏其他人時,21Please respect copyright.PENANAxWTr5aH9Qz
還會幫我們說明其他人的心路歷程一樣~
學長也像Flash一樣,21Please respect copyright.PENANAVJDapuJojl
是我們的老朋友~21Please respect copyright.PENANA21G9MdGBkx
那些年的小朋友齊打交、夢遊先生等等小遊戲,21Please respect copyright.PENANAOFrT4CHk9x
陪伴了我們無數的時光~21Please respect copyright.PENANAnScKfGPkAk
而我現在使用的Newgrounds遊戲平台,21Please respect copyright.PENANAcjezp6n7bI
有專門的軟體可供用戶繼續玩Flash遊戲。
當然我也知道,21Please respect copyright.PENANARMxYAE278w
觀念要改,21Please respect copyright.PENANAbcSanHL052
新的技術還是要學。21Please respect copyright.PENANATF3eyLh8Iz
就像同事和主管提到的Rust或許會成為未來的趨勢~21Please respect copyright.PENANACSqPTX5Z8Z
而今我不再每天跟學長對戰了,21Please respect copyright.PENANAsQlOJQ4sqL
接觸寶可夢Z-A後,21Please respect copyright.PENANAc72ks2HxjF
也不好說會不會有其他人取代學長在我心中的位子...21Please respect copyright.PENANA3aXXzIJf5K
但是為了學長而寫的這些每日日記,21Please respect copyright.PENANAPXBbFtsswn
讓我有機會透過這種方式反覆思索著21Please respect copyright.PENANA8lkzvaI6ve
過去現在未來的點點滴滴~21Please respect copyright.PENANAEgdDpdHUAC
進而讓自己有人生方向以及動力!21Please respect copyright.PENANAcYXYGZTVWD
同時還增廣見聞~21Please respect copyright.PENANAueSLOkhP0H
真的很感謝當年Flash的啟蒙,21Please respect copyright.PENANAVs4GJcUhf0
曾經,我以為自己是空有夢想,21Please respect copyright.PENANA4aqzFBLT1Y
而無法做遊戲的人~21Please respect copyright.PENANAz8BeCZnkil
也是因為認識了學長,21Please respect copyright.PENANAR8fJL1Gzqs
讓我能有主題參加每日日記挑戰~21Please respect copyright.PENANACAEAOGYZFF
給自己每天創作的契機!21Please respect copyright.PENANALO8RdSuYPF
雖然結束後我會重新整頓自己的創作步伐~21Please respect copyright.PENANADUO7CgQWup
很高興自己還願意持續的創作!
7/19 完21Please respect copyright.PENANAolyQF5WyL2
註: 我人生第一個學習的程式語言其實是Visual Basic,21Please respect copyright.PENANAO42aC7vdEM
還曾經做一個猴子接香蕉的小遊戲,21Please respect copyright.PENANAwwbgyJIsZ3
那是我國小的事情。21Please respect copyright.PENANA7OAedEYG2H
以前網路空間或者備份的概念都很差,21Please respect copyright.PENANAFYy8n7Gg5g
最終因為電腦重灌就清掉我的努力了~
註2: 原則上我們都是希望有人能看懂我們的程式碼,21Please respect copyright.PENANAy6WPJD1jKq
讓大家都能共同維護和開發功能~21Please respect copyright.PENANATPoBcBInLo
但也有人反其道而行─21Please respect copyright.PENANATNxx2VQpoJ
我偏不走這路線~所有人都看不懂我的程式碼,21Please respect copyright.PENANAsy2S0ZKyqR
就沒人能取代我了!21Please respect copyright.PENANAMwCd8oeP8g
主管也不敢趕我走!21Please respect copyright.PENANA59u6k9yVjy
不過這種短視近利的想法,21Please respect copyright.PENANAVKKOhol85M
其實害人又害己~21Please respect copyright.PENANAlacGz2kSKo
總不太可能專案都是一個人完成,21Please respect copyright.PENANApT7WWCj4XO
如果是那樣的專案,21Please respect copyright.PENANAwzJxDMp2bM
大抵也不是太大的專案...21Please respect copyright.PENANA6U3uc38gHZ
如果哪一天有什麼你很難完成的任務,21Please respect copyright.PENANAYgWDNWQBPL
其他人也幫不了你(因為別人看不懂你的程式碼)~
註3: Flash你可以想像是一個做動畫的開發軟體,21Please respect copyright.PENANAAIqq46svkv
當你在畫面上拉出一個按鈕時,21Please respect copyright.PENANAn8rzirT1hV
按下按鈕會發生什麼事情呢?21Please respect copyright.PENANAzWH94sU6eJ
這時就要透過ActionScript撰寫程式碼,21Please respect copyright.PENANAyaCGJKX6CL
綁定事件在按鈕中,21Please respect copyright.PENANANH4741fBt8
使得按下按鈕後,會跳轉到下一個場景。21Please respect copyright.PENANApjWYiIgSp6
這之間的關係大概是這樣~