這個題目是我私心訂下的(哪次不是?),9Please respect copyright.PENANALbOITU2lIh
意思是沒有要管大家看不看得懂就是~9Please respect copyright.PENANAzzfSbEoO4f
畢竟從畢業到現在已經當工程師這麼多年,9Please respect copyright.PENANAzyLBNbKUa6
接觸的程式語言雖然都是大家耳熟能詳的那些,9Please respect copyright.PENANAhX7CC7qZau
也不少了~9Please respect copyright.PENANACLoYlzceeh
所以這次的分析算是藉由我對於所學過的程式語言的觀點整理,9Please respect copyright.PENANAnU7WEp4B8e
(不代表建議新手該從哪個程式語言入手喔)9Please respect copyright.PENANAUIjo6AxpDs
然後來跟學長的特質做對應喔!
第一個我想到的最佳解就是Python,9Please respect copyright.PENANAPwmng7myNi
Python顧名思義就是蟒蛇,9Please respect copyright.PENANAISi8s2sBm0
他的Logo是兩隻蛇纏在一起,9Please respect copyright.PENANAL2QD0WS2tN
一隻藍色一隻黃色~9Please respect copyright.PENANA0nXix0BEAE
此外,目前最受歡迎的Python編輯器之一叫做Anaconda,9Please respect copyright.PENANAW2Gt5m3Wy4
是森蚺的意思~9Please respect copyright.PENANATUt7tKzIo5
會選擇這個程式語言,9Please respect copyright.PENANAgcJO4Xg4ie
除了是Logo讓我幻想成學長和我們手牽手的樣子,9Please respect copyright.PENANApZcFNaSBhd
再來就是蛇代表小龍(讓我想到迷你龍)~9Please respect copyright.PENANAaxH1auS3iT
還有Python的繼承跟別的程式語言不同,9Please respect copyright.PENANAJyhFwJ853u
一般程式語言的繼承只能有一個父類別(一個父親),9Please respect copyright.PENANABJuqjwXYAi
但是Python卻可以有多個父類別(多個父親)!9Please respect copyright.PENANAOY9sUpJptC
這讓我覺得對應到了學長的多重身分~9Please respect copyright.PENANAXIJ4XRzrLn
既是四天王也是聯盟社社長,9Please respect copyright.PENANAZmUyPSbTkD
再來就是Python簡化了很多語法,9Please respect copyright.PENANAEIHCPSpYFQ
是懶人救星~(相當於學長懶散的個性)9Please respect copyright.PENANAVPJmv9ruDR
比方人家寫方法要用function,9Please respect copyright.PENANAZPHs0V34x4
Python只要用def就可以定義方法了~9Please respect copyright.PENANARmw9yzViUG
對了對了,9Please respect copyright.PENANAupSol6f30R
Python也是許多人用來學習處理大數據(meta data)、9Please respect copyright.PENANA4IQqWuNx45
AI(scikit-learn)、爬蟲(Beautiful Soup)的程式語言呢!9Please respect copyright.PENANAh17Zphpt1M
對應學長的戰術能力剛剛好呢!
雖然最佳解出來了,9Please respect copyright.PENANAAlusGZMCiM
但還是要給其他的選項供人思考呀~9Please respect copyright.PENANAUOGRfeAjQD
那麼第二個選項就是Java9Please respect copyright.PENANAjHcE98omyU
沒錯,就是爪哇,還有咖啡豆的那個Java~9Please respect copyright.PENANAnxefIJRGNU
當年代代流傳Java螞蟻書(而且是有翅膀的螞蟻)~9Please respect copyright.PENANAq3kwzwdkDR
我因為畢業很久,想說我再也不碰Java啦~Jo Jo!9Please respect copyright.PENANAfhZ82BeOLo
就把那個超厚的書做回收了~9Please respect copyright.PENANAH83uGDgGS1
然後我就遭到報應了...9Please respect copyright.PENANAqPkYGspF0M
好在重新接觸Java沒有花太多時間就是,9Please respect copyright.PENANA24gasH5Uoh
凡走過必留下痕跡嘛,9Please respect copyright.PENANAOhWTYyKjTH
我可是號稱2年沒碰的程式碼不會忘,9Please respect copyright.PENANARQCEe3SXV0
10年前公司的專案我也知道怎麼維護呢哼哼!9Please respect copyright.PENANASMjfgWrv8U
那為什麼選Java而不是Javascript呢?9Please respect copyright.PENANAXFG9Dt8daY
因為我個人私心覺得,9Please respect copyright.PENANAYAwM2pcVP4
學長的個性還有給我的印象,9Please respect copyright.PENANA2uH3gxPec9
比較偏向後端程式語言。9Please respect copyright.PENANAEwtZfr6UCO
然而我就不在這邊討論前端與後端程式語言的差異,9Please respect copyright.PENANAvHj71daXBV
只想奉勸你們各位已經被冠上全端工程師(如我)的工程師們,9Please respect copyright.PENANA0qjkWIK0FT
不要拿後端思維到前端程式碼使用~反之亦然!9Please respect copyright.PENANAgMykT0E7vw
我們繼續說下去,為什麼選擇Java吧!9Please respect copyright.PENANAKFzujnjb8N
第一個理由確實是因為咖啡的關係~9Please respect copyright.PENANAVJ8owtulRJ
畢竟代表學長的飲品中多少都有跟咖啡有關的選項。9Please respect copyright.PENANAdRFvjViklm
再來就是學Java免不了要會的OOP(物件導向程式設計)~9Please respect copyright.PENANALiaAM8Z6RX
我也曾經歷過不懂為什麼命名要叫做set還有get,9Please respect copyright.PENANAzner9fCIWu
不懂為什麼建構子(Constructor)代表藍圖...9Please respect copyright.PENANAQ7OZrCPcuv
以及分不清楚abstract和interface的時光,9Please respect copyright.PENANARWWp8iLLq3
好在學了多個程式語言,反而把不會的概念也補完了!9Please respect copyright.PENANATzhrbThbHO
儘管OOP不是只有Java有,9Please respect copyright.PENANAVOGY0h3oXc
等等的那個選項也有這個觀念,9Please respect copyright.PENANAhL9rtFilh5
但畢竟是我第一個正規接觸的程式語言(註),9Please respect copyright.PENANARHkJ80CrUp
所以就以Java作為代表了~9Please respect copyright.PENANAeaygjPyoj4
OOP這個技巧的出現,9Please respect copyright.PENANAu11Lxg8aqh
其實是為了讓程式碼能夠再利用,9Please respect copyright.PENANA4ahSC8980F
讓你不至於成為碼農、什麼都複製貼上~9Please respect copyright.PENANA4KS4SQdsZR
同時也比較好維護程式碼~(註2)9Please respect copyright.PENANAyxwVTMuX0P
而OOP的最常見的三大觀念即是─9Please respect copyright.PENANAYJZAJqAnEu
封裝、繼承、多型9Please respect copyright.PENANAi1L6hq8HiY
讓我想到每個人加入聯盟社(繼承),9Please respect copyright.PENANAg8PsN2b3cg
成為聯盟社的成員(實例化),要努力賺BP(多型)~9Please respect copyright.PENANALA0bjUN3ZR
關於多型,我看到有人下一個很簡單易懂的註解─9Please respect copyright.PENANAlyMdNUQ4r6
即是指一樣的事,不同做法。9Please respect copyright.PENANABpTPvDX67m
又或者:同一個行為,但有不同的結果9Please respect copyright.PENANA479w4inAGy
而學長代表Java神之手讓我們進入聯盟社,9Please respect copyright.PENANAnrhOOUTUCZ
開啟了農BP的地獄(特別對沒朋友的人不友善的機制)...9Please respect copyright.PENANAUlmDRvonga
此外,9Please respect copyright.PENANA1Y4jHPQrda
各位你還聽過Silverlight嗎?9Please respect copyright.PENANA8NiZtwKmrx
記得當年微軟還給它做了一個形象人物─藍澤光9Please respect copyright.PENANAJ8s4u0jmbo
我曾經用Silverlight寫網頁...9Please respect copyright.PENANAy7hSgywY7F
然後得知這東西要被報廢了...9Please respect copyright.PENANAC3bB30RvfZ
真的是有夠恨鐵不成鋼的!!!9Please respect copyright.PENANAVBc1zpPjsc
雖然可能沒有關聯性,9Please respect copyright.PENANA8yXQsTR8IT
後來的就是Spring Boot,9Please respect copyright.PENANACJVNc4CSXc
但也沒想到同事說Spring Boot也有點老了...9Please respect copyright.PENANAINDdIx9lOM
總之,9Please respect copyright.PENANA7l4KszOEna
如果Silberlight是學長的話,9Please respect copyright.PENANAt0aoWlpfyD
那Spring Boot大概就是烏栗了~9Please respect copyright.PENANASRGG1RnkQV
唉,都是時代的眼淚呀!
最後一個選項老實說也是我重新摸索的程式語言,9Please respect copyright.PENANAs5svOg5yGn
那就是C++9Please respect copyright.PENANAzNkegA4yu3
當年學C++是為了影像處理,9Please respect copyright.PENANAf2LHb3gr1Q
我也沒想到當年使用openCV,9Please respect copyright.PENANAwsQdUxMHW8
現在2025年了,大家還是繼續使用openCV。9Please respect copyright.PENANAzj9dcjWvsB
儘管都這麼久語法應該都更新了,9Please respect copyright.PENANAWcZzVthjTX
你們如果當年好好學習openCV,9Please respect copyright.PENANAElXI7PRL5z
10年後還是受用呀!(對,我2012年大學畢業的)9Please respect copyright.PENANAAR7TqZtjsj
會選擇C++的原因是因為我曾經聽過有人這樣比喻C++:9Please respect copyright.PENANA1ZTzcPB3N5
發明出C++的人,對於(現在的)C++掌握程度也只有70%9Please respect copyright.PENANAsSFeGLGzfO
因此如果在面試的時候,9Please respect copyright.PENANANT63IN0L8X
面試官問你,你對於C++的掌握度有多少?9Please respect copyright.PENANApYMJFiC8zX
會回答超過70%的人不是真的有實力,就是過份有自信...9Please respect copyright.PENANA7trkIxhfBe
會這樣有感而發是因為,9Please respect copyright.PENANAQ94BiI0FHx
今天已經是這個系列的第83篇了,9Please respect copyright.PENANAePu5QKXtTj
不過我對於學長的理解,9Please respect copyright.PENANAKsy5lmiHMa
就跟對C++的理解一樣,9Please respect copyright.PENANACAtbvAcNq8
還是只有淺層的程度~9Please respect copyright.PENANAWMlUde62co
除此之外,9Please respect copyright.PENANA2bvydxZmSG
C++也是懶人程式語言之一,9Please respect copyright.PENANAEZKmawFhnI
前提是你要很熟練~9Please respect copyright.PENANAGqLKRSXODs
怎麼說呢?9Please respect copyright.PENANAf2f3roKpIr
C++會在背後幫你做一堆的記憶體管理,9Please respect copyright.PENANAs5E13dGObW
使你程式碼的效能提升~9Please respect copyright.PENANAqMJlwtd6JB
不過它的這個特性有時候也會是兩面刃,9Please respect copyright.PENANAgSBMy2yyN2
就是因為他擅自做了你沒預料的事情,9Please respect copyright.PENANAfWt5GocwOq
當你要解BUG的時候,9Please respect copyright.PENANAypsPc2E6Q7
就不得不懷疑他根本是愛搞事的學長呀!
再分析下去會沒完沒了~9Please respect copyright.PENANAGmLOam1WTj
畢竟還有至少3種以上的程式語言沒列出來呢,9Please respect copyright.PENANAYvZtb0XV4B
如果私心想要再追加一個我心中代表學長的程式語言,9Please respect copyright.PENANAsUPBZOVNHy
那就是被淘汰的Flash了~9Please respect copyright.PENANARtqZ96waiX
嚴格來說應該是叫做ActionScript。9Please respect copyright.PENANAJRnGd2pmPw
不過我知道大家對於這個名稱不熟,9Please respect copyright.PENANA3Til8DqKFc
因此後續我還是用Flash稱呼。9Please respect copyright.PENANAtJIzJkdvsG
然而程式語言的部分其實都是指AS~(註3)
Flash是我完全從書本上自學起來的程式語言。9Please respect copyright.PENANA70IdTqdJqr
過往老師只有教多媒體的觀點,9Please respect copyright.PENANAmmErtWYago
只把Flash當動畫的工具~9Please respect copyright.PENANAO84CzROUL3
但是我真的很想學習做遊戲,9Please respect copyright.PENANAqyzxERjkNp
國小又看到同學用Flash做遊戲,9Please respect copyright.PENANATJicWrnllM
因此我人生有一大段時間,9Please respect copyright.PENANAhXqa8dxSrp
每年至少有一款Flash遊戲~9Please respect copyright.PENANAkKlGMVbRoJ
懷舊完,說明一下為什麼選Flash吧!
Flash有一種特性是目前所有程式語言望塵莫及的,9Please respect copyright.PENANAsuxHpZfsNQ
那就是即時性!9Please respect copyright.PENANAxQjgmp9n23
各位也許對於現在的通訊軟體的lag或者延遲覺得無傷大雅,9Please respect copyright.PENANAntvcrDuvfA
但若真的要做到一比一的實時性,9Please respect copyright.PENANAwNTiKOLHD4
好比你在畫布上畫一條線,9Please respect copyright.PENANAFSTv4vZei0
那每一點都同時間顯示在朋友的螢幕上,9Please respect copyright.PENANAozDatAa6yT
全部的程式語言中,9Please respect copyright.PENANAoZFjClDS0U
就只有Flash可以做到~9Please respect copyright.PENANAYORxjDxbKU
剩下的號稱可以的,9Please respect copyright.PENANAeF3a6LsWMS
拍謝~都只是因為影像計算快速,9Please respect copyright.PENANA7r8JWNfuCl
讓你誤以為是即時的感覺~9Please respect copyright.PENANAi0Ujf3nCZl
然而它之所以能做到這點,9Please respect copyright.PENANA313m5EQZ8e
歸因於其特性,而這特性也是它被淘汰的原因之一;9Please respect copyright.PENANAw6xBvsx5EC
那就是它有太多的漏洞了~9Please respect copyright.PENANAXBGp3p77qq
Flash程式語言繞過了很多安全問題,9Please respect copyright.PENANA5fOCieWlEl
使得駭客能透過Flash(SWF檔案)來執行任意程式碼,9Please respect copyright.PENANAfEJYYfVl4v
同時Flash又能被嵌入在網頁上,9Please respect copyright.PENANACP4xvPT57E
等於把這種危險性又擴散出去~9Please respect copyright.PENANAvZJktpkDMY
(因為人們可能會點這些Flash動畫進而電腦中毒)9Please respect copyright.PENANAaDEnCk2G0x
但也因為繞過了安全問題,9Please respect copyright.PENANAE26Bmlzjcx
才能將資訊即時的送到對方電腦上~9Please respect copyright.PENANA7KduJxDlwz
(其他程式語言還在做安全加密或應對措施)
基於讓人又愛又恨的特性,9Please respect copyright.PENANA35FrUWtdnn
讓我想到學長給人兩極的印象~9Please respect copyright.PENANAJYwrNlIbyY
但這邊我是偏向愛多一點,9Please respect copyright.PENANAFySI6RbWQP
因為我還是很懷念Flash,9Please respect copyright.PENANAMKR4Psfw4t
在那之後我就跑去Unity,重回C#懷抱,9Please respect copyright.PENANA66i8dB3cc5
爾後又被收費嚇到,而去學Godot(也是用C#)9Please respect copyright.PENANAhZAPkeZ40t
(雖然後來Unity不收費了,但我也回不去了)
此外,9Please respect copyright.PENANAUgI6WUoIDf
Flash在初學者學習做動畫這部分真的很友善,9Please respect copyright.PENANAFpsoCMjHhL
我在做遊戲中的動畫時,9Please respect copyright.PENANAxUsJlQxocu
也都是思索著如果是Flash會怎麼處理?9Please respect copyright.PENANAdLde2VHF4R
那親切的像是學長和我們打成一片,9Please respect copyright.PENANAtj1wEsAWzk
甚至四天王對決時,還特別不收取我們的BP~9Please respect copyright.PENANAXQ0tTAfEdl
當我們打贏其他人時,9Please respect copyright.PENANAcmgLl8IAoO
還會幫我們說明其他人的心路歷程一樣~
學長也像Flash一樣,9Please respect copyright.PENANAxuHlkpFlnN
是我們的老朋友~9Please respect copyright.PENANA4X777EzWTv
那些年的小朋友齊打交、夢遊先生等等小遊戲,9Please respect copyright.PENANAWCApGgwHM8
陪伴了我們無數的時光~9Please respect copyright.PENANAJrFH6sLK8r
而我現在使用的Newgrounds遊戲平台,9Please respect copyright.PENANAkWFEeZipZD
有專門的軟體可供用戶繼續玩Flash遊戲。
當然我也知道,9Please respect copyright.PENANAR6ugZ8ntPr
觀念要改,9Please respect copyright.PENANA7Z4GamzOL0
新的技術還是要學。9Please respect copyright.PENANAYrByT71lMi
就像同事和主管提到的Rust或許會成為未來的趨勢~9Please respect copyright.PENANAutw6fWOsVG
而今我不再每天跟學長對戰了,9Please respect copyright.PENANAMPk00AsIoT
接觸寶可夢Z-A後,9Please respect copyright.PENANAy8hedxaH4n
也不好說會不會有其他人取代學長在我心中的位子...9Please respect copyright.PENANAJMydJcvrOV
但是為了學長而寫的這些每日日記,9Please respect copyright.PENANA9EYJnJVkj7
讓我有機會透過這種方式反覆思索著9Please respect copyright.PENANAxMvU2xsBfB
過去現在未來的點點滴滴~9Please respect copyright.PENANAcLHUPLSs24
進而讓自己有人生方向以及動力!9Please respect copyright.PENANAuVuC2g6EQl
同時還增廣見聞~9Please respect copyright.PENANAfLX38LDfHO
真的很感謝當年Flash的啟蒙,9Please respect copyright.PENANAYx9UnBI3I9
曾經,我以為自己是空有夢想,9Please respect copyright.PENANAE61W3C0EOK
而無法做遊戲的人~9Please respect copyright.PENANAWLCPvxYJ1t
也是因為認識了學長,9Please respect copyright.PENANA4Y8Xh1MmUG
讓我能有主題參加每日日記挑戰~9Please respect copyright.PENANA35igj77EvC
給自己每天創作的契機!9Please respect copyright.PENANAVTcM3kSIvp
雖然結束後我會重新整頓自己的創作步伐~9Please respect copyright.PENANAXSLM7PIX98
很高興自己還願意持續的創作!
7/19 完9Please respect copyright.PENANALZvygcsxwR
註: 我人生第一個學習的程式語言其實是Visual Basic,9Please respect copyright.PENANAxFL6J8DLpQ
還曾經做一個猴子接香蕉的小遊戲,9Please respect copyright.PENANAej5Bim0xF3
那是我國小的事情。9Please respect copyright.PENANABAVhYlY5IF
以前網路空間或者備份的概念都很差,9Please respect copyright.PENANA3RlIDx7eba
最終因為電腦重灌就清掉我的努力了~
註2: 原則上我們都是希望有人能看懂我們的程式碼,9Please respect copyright.PENANALa43PUXg3B
讓大家都能共同維護和開發功能~9Please respect copyright.PENANASBMCytaJhA
但也有人反其道而行─9Please respect copyright.PENANAaRMBno18f6
我偏不走這路線~所有人都看不懂我的程式碼,9Please respect copyright.PENANARYppoK0e5M
就沒人能取代我了!9Please respect copyright.PENANApl56amhjer
主管也不敢趕我走!9Please respect copyright.PENANA9Q9dYMrxyc
不過這種短視近利的想法,9Please respect copyright.PENANAfAjxGdDrU2
其實害人又害己~9Please respect copyright.PENANAIsjLPpHvnY
總不太可能專案都是一個人完成,9Please respect copyright.PENANAMHi3K9jDql
如果是那樣的專案,9Please respect copyright.PENANA5LiNZl4Q1P
大抵也不是太大的專案...9Please respect copyright.PENANADVXxUL9D8Z
如果哪一天有什麼你很難完成的任務,9Please respect copyright.PENANAJlnwmWWH48
其他人也幫不了你(因為別人看不懂你的程式碼)~
註3: Flash你可以想像是一個做動畫的開發軟體,9Please respect copyright.PENANAAbcQWe04O4
當你在畫面上拉出一個按鈕時,9Please respect copyright.PENANAkDBs6EavbD
按下按鈕會發生什麼事情呢?9Please respect copyright.PENANAxJ1PD9Vue1
這時就要透過ActionScript撰寫程式碼,9Please respect copyright.PENANAtbS4tmYP8Q
綁定事件在按鈕中,9Please respect copyright.PENANAp9SgYHJt0D
使得按下按鈕後,會跳轉到下一個場景。9Please respect copyright.PENANAUcbBW8Bbid
這之間的關係大概是這樣~