這個題目是我私心訂下的(哪次不是?),11Please respect copyright.PENANAxLwDIhLgeZ
意思是沒有要管大家看不看得懂就是~11Please respect copyright.PENANA7HhH944Xjy
畢竟從畢業到現在已經當工程師這麼多年,11Please respect copyright.PENANAxyHO2RAAkw
接觸的程式語言雖然都是大家耳熟能詳的那些,11Please respect copyright.PENANAIu8E9xqqrV
也不少了~11Please respect copyright.PENANAVYs50qnyNd
所以這次的分析算是藉由我對於所學過的程式語言的觀點整理,11Please respect copyright.PENANALm7cTUJxhe
(不代表建議新手該從哪個程式語言入手喔)11Please respect copyright.PENANAApJow6rGRO
然後來跟學長的特質做對應喔!
第一個我想到的最佳解就是Python,11Please respect copyright.PENANAeCstNGicfi
Python顧名思義就是蟒蛇,11Please respect copyright.PENANAveeHq49Lwp
他的Logo是兩隻蛇纏在一起,11Please respect copyright.PENANACM4xmd5drT
一隻藍色一隻黃色~11Please respect copyright.PENANAzMzNmOXRBe
此外,目前最受歡迎的Python編輯器之一叫做Anaconda,11Please respect copyright.PENANAUHeMa0kxYF
是森蚺的意思~11Please respect copyright.PENANAa8ywBXYlKv
會選擇這個程式語言,11Please respect copyright.PENANAbUrMKeCmYg
除了是Logo讓我幻想成學長和我們手牽手的樣子,11Please respect copyright.PENANAO6WnpI3LxG
再來就是蛇代表小龍(讓我想到迷你龍)~11Please respect copyright.PENANAyFuSEKyArv
還有Python的繼承跟別的程式語言不同,11Please respect copyright.PENANAXHa1g1yguG
一般程式語言的繼承只能有一個父類別(一個父親),11Please respect copyright.PENANAZujDZGU6Ct
但是Python卻可以有多個父類別(多個父親)!11Please respect copyright.PENANAmaG3bfjFOC
這讓我覺得對應到了學長的多重身分~11Please respect copyright.PENANAD8kVDHt8ya
既是四天王也是聯盟社社長,11Please respect copyright.PENANAUPF5YQ5tOD
再來就是Python簡化了很多語法,11Please respect copyright.PENANAZPDsPX2k7T
是懶人救星~(相當於學長懶散的個性)11Please respect copyright.PENANAHcwwM3KMfl
比方人家寫方法要用function,11Please respect copyright.PENANAExfZLDxFxQ
Python只要用def就可以定義方法了~11Please respect copyright.PENANAGVee4YKZnU
對了對了,11Please respect copyright.PENANAcp9OBrkVVM
Python也是許多人用來學習處理大數據(meta data)、11Please respect copyright.PENANA9vdq6AYsbF
AI(scikit-learn)、爬蟲(Beautiful Soup)的程式語言呢!11Please respect copyright.PENANAWtnTiJxmSx
對應學長的戰術能力剛剛好呢!
雖然最佳解出來了,11Please respect copyright.PENANAwU7t6DuAz5
但還是要給其他的選項供人思考呀~11Please respect copyright.PENANAF2n1SqWKVz
那麼第二個選項就是Java11Please respect copyright.PENANAcYHWOzU6dw
沒錯,就是爪哇,還有咖啡豆的那個Java~11Please respect copyright.PENANAo7ctq8YNo2
當年代代流傳Java螞蟻書(而且是有翅膀的螞蟻)~11Please respect copyright.PENANA1WOFEfmJa6
我因為畢業很久,想說我再也不碰Java啦~Jo Jo!11Please respect copyright.PENANAurMCoJyLE4
就把那個超厚的書做回收了~11Please respect copyright.PENANAadCpE3S7OH
然後我就遭到報應了...11Please respect copyright.PENANAJfZOx4K4qm
好在重新接觸Java沒有花太多時間就是,11Please respect copyright.PENANAMZzwnzHokJ
凡走過必留下痕跡嘛,11Please respect copyright.PENANAYFyYSiRGOf
我可是號稱2年沒碰的程式碼不會忘,11Please respect copyright.PENANATp0KRj9zvM
10年前公司的專案我也知道怎麼維護呢哼哼!11Please respect copyright.PENANA6DFV4TlZOs
那為什麼選Java而不是Javascript呢?11Please respect copyright.PENANABYPhQwcD7M
因為我個人私心覺得,11Please respect copyright.PENANAblg13Pj7cC
學長的個性還有給我的印象,11Please respect copyright.PENANAF88yPuDZ5u
比較偏向後端程式語言。11Please respect copyright.PENANAzDOMEgpqPE
然而我就不在這邊討論前端與後端程式語言的差異,11Please respect copyright.PENANAjkIVdLeRb0
只想奉勸你們各位已經被冠上全端工程師(如我)的工程師們,11Please respect copyright.PENANAfAa3HHYCgG
不要拿後端思維到前端程式碼使用~反之亦然!11Please respect copyright.PENANAb9dsQQqG4I
我們繼續說下去,為什麼選擇Java吧!11Please respect copyright.PENANA5gEBxRJzbD
第一個理由確實是因為咖啡的關係~11Please respect copyright.PENANAUeybt6chlh
畢竟代表學長的飲品中多少都有跟咖啡有關的選項。11Please respect copyright.PENANAikf8AQ4JyX
再來就是學Java免不了要會的OOP(物件導向程式設計)~11Please respect copyright.PENANA3DKXNKlCNF
我也曾經歷過不懂為什麼命名要叫做set還有get,11Please respect copyright.PENANA2Pef790kvO
不懂為什麼建構子(Constructor)代表藍圖...11Please respect copyright.PENANAOhaokWbQpE
以及分不清楚abstract和interface的時光,11Please respect copyright.PENANApLzuRzNJcc
好在學了多個程式語言,反而把不會的概念也補完了!11Please respect copyright.PENANAC3WBsiKECA
儘管OOP不是只有Java有,11Please respect copyright.PENANA5NkQ5iVSew
等等的那個選項也有這個觀念,11Please respect copyright.PENANALMJCrKE4P0
但畢竟是我第一個正規接觸的程式語言(註),11Please respect copyright.PENANAwxYwQHEOXg
所以就以Java作為代表了~11Please respect copyright.PENANARvkteDKXXI
OOP這個技巧的出現,11Please respect copyright.PENANA3lOXMQEGh4
其實是為了讓程式碼能夠再利用,11Please respect copyright.PENANA70rEf1BwKf
讓你不至於成為碼農、什麼都複製貼上~11Please respect copyright.PENANAfNAccDZwoG
同時也比較好維護程式碼~(註2)11Please respect copyright.PENANA50rjIXYeDR
而OOP的最常見的三大觀念即是─11Please respect copyright.PENANADJFxa5YbrY
封裝、繼承、多型11Please respect copyright.PENANAFjE1par3DV
讓我想到每個人加入聯盟社(繼承),11Please respect copyright.PENANAezLZ1OBfc7
成為聯盟社的成員(實例化),要努力賺BP(多型)~11Please respect copyright.PENANAiq7T07Tfv1
關於多型,我看到有人下一個很簡單易懂的註解─11Please respect copyright.PENANAYaKnteO2iz
即是指一樣的事,不同做法。11Please respect copyright.PENANAus6bjv2qxa
又或者:同一個行為,但有不同的結果11Please respect copyright.PENANArKVcM9aIZP
而學長代表Java神之手讓我們進入聯盟社,11Please respect copyright.PENANAYpVriWFC6l
開啟了農BP的地獄(特別對沒朋友的人不友善的機制)...11Please respect copyright.PENANA6Yjc0Qxrh0
此外,11Please respect copyright.PENANAzNkv8yx1ss
各位你還聽過Silverlight嗎?11Please respect copyright.PENANAsU8A6rhPAm
記得當年微軟還給它做了一個形象人物─藍澤光11Please respect copyright.PENANAfLTr5fkBKP
我曾經用Silverlight寫網頁...11Please respect copyright.PENANAHIIQVVhw0W
然後得知這東西要被報廢了...11Please respect copyright.PENANAj0GkWseYD2
真的是有夠恨鐵不成鋼的!!!11Please respect copyright.PENANAI53UMCrelt
雖然可能沒有關聯性,11Please respect copyright.PENANAn24Fs6SLDB
後來的就是Spring Boot,11Please respect copyright.PENANATOMfOxgfxy
但也沒想到同事說Spring Boot也有點老了...11Please respect copyright.PENANAjMJa2cffPE
總之,11Please respect copyright.PENANAlMnnTAByQ2
如果Silberlight是學長的話,11Please respect copyright.PENANAF5PFWNRyYY
那Spring Boot大概就是烏栗了~11Please respect copyright.PENANAxXU2wgMJSn
唉,都是時代的眼淚呀!
最後一個選項老實說也是我重新摸索的程式語言,11Please respect copyright.PENANA2y9zk80uJw
那就是C++11Please respect copyright.PENANAgX3G0wRt4u
當年學C++是為了影像處理,11Please respect copyright.PENANAa4QXVWC3hs
我也沒想到當年使用openCV,11Please respect copyright.PENANAWDDcgvDiBe
現在2025年了,大家還是繼續使用openCV。11Please respect copyright.PENANAXVKveSvwnI
儘管都這麼久語法應該都更新了,11Please respect copyright.PENANA32lMoDaohf
你們如果當年好好學習openCV,11Please respect copyright.PENANA454qTLXMxB
10年後還是受用呀!(對,我2012年大學畢業的)11Please respect copyright.PENANAd6hdh4ZQvD
會選擇C++的原因是因為我曾經聽過有人這樣比喻C++:11Please respect copyright.PENANAkPBWqJdOPd
發明出C++的人,對於(現在的)C++掌握程度也只有70%11Please respect copyright.PENANAGutzK7vvgQ
因此如果在面試的時候,11Please respect copyright.PENANAdwp60r9n6k
面試官問你,你對於C++的掌握度有多少?11Please respect copyright.PENANAS97t74GPVE
會回答超過70%的人不是真的有實力,就是過份有自信...11Please respect copyright.PENANAuMXZvxv3VZ
會這樣有感而發是因為,11Please respect copyright.PENANAoQ8bjI9SZF
今天已經是這個系列的第83篇了,11Please respect copyright.PENANAK9EQ15tW0T
不過我對於學長的理解,11Please respect copyright.PENANAPnyXRSGIjX
就跟對C++的理解一樣,11Please respect copyright.PENANAARS3utP52O
還是只有淺層的程度~11Please respect copyright.PENANATN72VXRWkh
除此之外,11Please respect copyright.PENANAgfgjDw3y8b
C++也是懶人程式語言之一,11Please respect copyright.PENANAkBdbJpuw7Y
前提是你要很熟練~11Please respect copyright.PENANATZrQbeW6R8
怎麼說呢?11Please respect copyright.PENANAoVDQzYbxH9
C++會在背後幫你做一堆的記憶體管理,11Please respect copyright.PENANAvwwDpih1HE
使你程式碼的效能提升~11Please respect copyright.PENANAwZijicv2TB
不過它的這個特性有時候也會是兩面刃,11Please respect copyright.PENANAnZPsreFuh1
就是因為他擅自做了你沒預料的事情,11Please respect copyright.PENANAWbMYZnCXiF
當你要解BUG的時候,11Please respect copyright.PENANAusYkLOhKvz
就不得不懷疑他根本是愛搞事的學長呀!
再分析下去會沒完沒了~11Please respect copyright.PENANAA6RZU5VHlv
畢竟還有至少3種以上的程式語言沒列出來呢,11Please respect copyright.PENANAjuORWBA28x
如果私心想要再追加一個我心中代表學長的程式語言,11Please respect copyright.PENANA3WrsRSxS0v
那就是被淘汰的Flash了~11Please respect copyright.PENANAc8bSt1nt1r
嚴格來說應該是叫做ActionScript。11Please respect copyright.PENANAJuePC6KcBv
不過我知道大家對於這個名稱不熟,11Please respect copyright.PENANAIoShEwPNGt
因此後續我還是用Flash稱呼。11Please respect copyright.PENANAyk4KIDSwtb
然而程式語言的部分其實都是指AS~(註3)
Flash是我完全從書本上自學起來的程式語言。11Please respect copyright.PENANA8yRiOrjQ0z
過往老師只有教多媒體的觀點,11Please respect copyright.PENANAo2x96ZdTGN
只把Flash當動畫的工具~11Please respect copyright.PENANA2iunog3M2A
但是我真的很想學習做遊戲,11Please respect copyright.PENANASIbHUosfnP
國小又看到同學用Flash做遊戲,11Please respect copyright.PENANAX856MhwVY7
因此我人生有一大段時間,11Please respect copyright.PENANAW9aaOyrDpL
每年至少有一款Flash遊戲~11Please respect copyright.PENANAKfHl7VBVgL
懷舊完,說明一下為什麼選Flash吧!
Flash有一種特性是目前所有程式語言望塵莫及的,11Please respect copyright.PENANA9siSoMpXt5
那就是即時性!11Please respect copyright.PENANAPDfaYZN5Th
各位也許對於現在的通訊軟體的lag或者延遲覺得無傷大雅,11Please respect copyright.PENANAgqWuIObYNB
但若真的要做到一比一的實時性,11Please respect copyright.PENANA2gNYm9UO1v
好比你在畫布上畫一條線,11Please respect copyright.PENANAz5bQ74v2IR
那每一點都同時間顯示在朋友的螢幕上,11Please respect copyright.PENANA4lq329eILh
全部的程式語言中,11Please respect copyright.PENANAnqfW2pirhh
就只有Flash可以做到~11Please respect copyright.PENANAFvCT5i1BqD
剩下的號稱可以的,11Please respect copyright.PENANAJ0W0qfqp8T
拍謝~都只是因為影像計算快速,11Please respect copyright.PENANAj2GCnMOdZZ
讓你誤以為是即時的感覺~11Please respect copyright.PENANA2YPQwaeO10
然而它之所以能做到這點,11Please respect copyright.PENANASlwH3X0ob9
歸因於其特性,而這特性也是它被淘汰的原因之一;11Please respect copyright.PENANAOC1q8XwdAW
那就是它有太多的漏洞了~11Please respect copyright.PENANARk7zVBBV0Q
Flash程式語言繞過了很多安全問題,11Please respect copyright.PENANAmxWzQkDLha
使得駭客能透過Flash(SWF檔案)來執行任意程式碼,11Please respect copyright.PENANAu7DTGyx0oT
同時Flash又能被嵌入在網頁上,11Please respect copyright.PENANArpLaSu0rrs
等於把這種危險性又擴散出去~11Please respect copyright.PENANAIFospwPAcr
(因為人們可能會點這些Flash動畫進而電腦中毒)11Please respect copyright.PENANApbSj7s9oY1
但也因為繞過了安全問題,11Please respect copyright.PENANAGPAZfyZ5pN
才能將資訊即時的送到對方電腦上~11Please respect copyright.PENANACWb0cxDAsN
(其他程式語言還在做安全加密或應對措施)
基於讓人又愛又恨的特性,11Please respect copyright.PENANABVFgIbHdGK
讓我想到學長給人兩極的印象~11Please respect copyright.PENANAOIQcaaH0hT
但這邊我是偏向愛多一點,11Please respect copyright.PENANASyl7iD2iRc
因為我還是很懷念Flash,11Please respect copyright.PENANAPAsdGK9Pqm
在那之後我就跑去Unity,重回C#懷抱,11Please respect copyright.PENANAXWyrCgnLmD
爾後又被收費嚇到,而去學Godot(也是用C#)11Please respect copyright.PENANAfFgaQAUYcs
(雖然後來Unity不收費了,但我也回不去了)
此外,11Please respect copyright.PENANAxxV4rdjMda
Flash在初學者學習做動畫這部分真的很友善,11Please respect copyright.PENANAJWw40KbxMB
我在做遊戲中的動畫時,11Please respect copyright.PENANAbRUKIY7fAK
也都是思索著如果是Flash會怎麼處理?11Please respect copyright.PENANAuURIWtzdir
那親切的像是學長和我們打成一片,11Please respect copyright.PENANAxUXtbgzDWA
甚至四天王對決時,還特別不收取我們的BP~11Please respect copyright.PENANAm39Oezu6BV
當我們打贏其他人時,11Please respect copyright.PENANAYi8bQ3zZVK
還會幫我們說明其他人的心路歷程一樣~
學長也像Flash一樣,11Please respect copyright.PENANAx7xO8OfYvH
是我們的老朋友~11Please respect copyright.PENANAxTcBrNSARY
那些年的小朋友齊打交、夢遊先生等等小遊戲,11Please respect copyright.PENANAccUmG7uYhx
陪伴了我們無數的時光~11Please respect copyright.PENANAsP22Du1Ac1
而我現在使用的Newgrounds遊戲平台,11Please respect copyright.PENANAe57hWJzsqv
有專門的軟體可供用戶繼續玩Flash遊戲。
當然我也知道,11Please respect copyright.PENANALRu3fiBmoS
觀念要改,11Please respect copyright.PENANAJDavT8izOV
新的技術還是要學。11Please respect copyright.PENANAZV9QAOsSgG
就像同事和主管提到的Rust或許會成為未來的趨勢~11Please respect copyright.PENANAocC0C5qXsB
而今我不再每天跟學長對戰了,11Please respect copyright.PENANATg8gQlgPyf
接觸寶可夢Z-A後,11Please respect copyright.PENANA0OAdueT8F8
也不好說會不會有其他人取代學長在我心中的位子...11Please respect copyright.PENANAukraOQiatB
但是為了學長而寫的這些每日日記,11Please respect copyright.PENANAFnQiYuNDuH
讓我有機會透過這種方式反覆思索著11Please respect copyright.PENANA7XTPfXwV6B
過去現在未來的點點滴滴~11Please respect copyright.PENANAtWINz3RYpF
進而讓自己有人生方向以及動力!11Please respect copyright.PENANAIe14VBhzq0
同時還增廣見聞~11Please respect copyright.PENANAUFsr5HAZpf
真的很感謝當年Flash的啟蒙,11Please respect copyright.PENANA5tiHorvRVc
曾經,我以為自己是空有夢想,11Please respect copyright.PENANAKlF2tuVdjG
而無法做遊戲的人~11Please respect copyright.PENANAMOUg4KYyIG
也是因為認識了學長,11Please respect copyright.PENANAvK76rshK4m
讓我能有主題參加每日日記挑戰~11Please respect copyright.PENANACSbfVLVxuD
給自己每天創作的契機!11Please respect copyright.PENANAMoLiQPqSTO
雖然結束後我會重新整頓自己的創作步伐~11Please respect copyright.PENANAiLSCmIzUcN
很高興自己還願意持續的創作!
7/19 完11Please respect copyright.PENANAdFTkJJp0Hv
註: 我人生第一個學習的程式語言其實是Visual Basic,11Please respect copyright.PENANAmLuFlf7chC
還曾經做一個猴子接香蕉的小遊戲,11Please respect copyright.PENANABuhRZbyCfm
那是我國小的事情。11Please respect copyright.PENANAieSrz3TcR0
以前網路空間或者備份的概念都很差,11Please respect copyright.PENANAlao5dBgoLs
最終因為電腦重灌就清掉我的努力了~
註2: 原則上我們都是希望有人能看懂我們的程式碼,11Please respect copyright.PENANAMNQZ4yH9y2
讓大家都能共同維護和開發功能~11Please respect copyright.PENANALdEwddGMIi
但也有人反其道而行─11Please respect copyright.PENANAUNj9S1pQN0
我偏不走這路線~所有人都看不懂我的程式碼,11Please respect copyright.PENANAfwvsbhtWIS
就沒人能取代我了!11Please respect copyright.PENANAgAhdta76ps
主管也不敢趕我走!11Please respect copyright.PENANAOEtOrSktpI
不過這種短視近利的想法,11Please respect copyright.PENANAOcHlpEaoxI
其實害人又害己~11Please respect copyright.PENANAk1BZTyF329
總不太可能專案都是一個人完成,11Please respect copyright.PENANAWgCZN9Ksgy
如果是那樣的專案,11Please respect copyright.PENANAYcbeflfehT
大抵也不是太大的專案...11Please respect copyright.PENANAF03bddeQyg
如果哪一天有什麼你很難完成的任務,11Please respect copyright.PENANAQZCFgAVwNM
其他人也幫不了你(因為別人看不懂你的程式碼)~
註3: Flash你可以想像是一個做動畫的開發軟體,11Please respect copyright.PENANAb8calZGEVD
當你在畫面上拉出一個按鈕時,11Please respect copyright.PENANAIGQ34QyOUb
按下按鈕會發生什麼事情呢?11Please respect copyright.PENANAWiGALFFmHv
這時就要透過ActionScript撰寫程式碼,11Please respect copyright.PENANAVrDLSrvNUZ
綁定事件在按鈕中,11Please respect copyright.PENANAVJ5HEy2W7W
使得按下按鈕後,會跳轉到下一個場景。11Please respect copyright.PENANAfKn2hffmUE
這之間的關係大概是這樣~