這個題目是我私心訂下的(哪次不是?),25Please respect copyright.PENANAbsz4KmdUu3
意思是沒有要管大家看不看得懂就是~25Please respect copyright.PENANAdWB62Sw3oi
畢竟從畢業到現在已經當工程師這麼多年,25Please respect copyright.PENANAFKFp96fELa
接觸的程式語言雖然都是大家耳熟能詳的那些,25Please respect copyright.PENANAiLITrYGMCf
也不少了~25Please respect copyright.PENANACWwvaFNuDE
所以這次的分析算是藉由我對於所學過的程式語言的觀點整理,25Please respect copyright.PENANA5g6eEVXiSw
(不代表建議新手該從哪個程式語言入手喔)25Please respect copyright.PENANABisWLVjv0P
然後來跟學長的特質做對應喔!
第一個我想到的最佳解就是Python,25Please respect copyright.PENANA5T2t0Wr2La
Python顧名思義就是蟒蛇,25Please respect copyright.PENANAeIpgQGqF5Q
他的Logo是兩隻蛇纏在一起,25Please respect copyright.PENANAcxBg7Xy9so
一隻藍色一隻黃色~25Please respect copyright.PENANAmb5VJzvb9S
此外,目前最受歡迎的Python編輯器之一叫做Anaconda,25Please respect copyright.PENANAtLQKlsBPLU
是森蚺的意思~25Please respect copyright.PENANAp9tkEGNPFy
會選擇這個程式語言,25Please respect copyright.PENANAjyxFR1yPv9
除了是Logo讓我幻想成學長和我們手牽手的樣子,25Please respect copyright.PENANAUDSJJpcw14
再來就是蛇代表小龍(讓我想到迷你龍)~25Please respect copyright.PENANA0BdG1Ho7wW
還有Python的繼承跟別的程式語言不同,25Please respect copyright.PENANABuvkZyLI8r
一般程式語言的繼承只能有一個父類別(一個父親),25Please respect copyright.PENANAo7mVA5TBzX
但是Python卻可以有多個父類別(多個父親)!25Please respect copyright.PENANAi0DhI8C0gg
這讓我覺得對應到了學長的多重身分~25Please respect copyright.PENANACLQKzEAKwj
既是四天王也是聯盟社社長,25Please respect copyright.PENANAEpXld7WYYD
再來就是Python簡化了很多語法,25Please respect copyright.PENANA89AEoqESsg
是懶人救星~(相當於學長懶散的個性)25Please respect copyright.PENANAjG5Wvm1zjp
比方人家寫方法要用function,25Please respect copyright.PENANAcxxYXo4m8n
Python只要用def就可以定義方法了~25Please respect copyright.PENANAlpMEQ81pzb
對了對了,25Please respect copyright.PENANAxMhXpGaw7z
Python也是許多人用來學習處理大數據(meta data)、25Please respect copyright.PENANAP0KYVPwN8F
AI(scikit-learn)、爬蟲(Beautiful Soup)的程式語言呢!25Please respect copyright.PENANAdlMsJTKEqz
對應學長的戰術能力剛剛好呢!
雖然最佳解出來了,25Please respect copyright.PENANAJckQjR3Bpc
但還是要給其他的選項供人思考呀~25Please respect copyright.PENANAuVcpCKqV3D
那麼第二個選項就是Java25Please respect copyright.PENANAFjH5XmZuEb
沒錯,就是爪哇,還有咖啡豆的那個Java~25Please respect copyright.PENANAjR04L8lXWO
當年代代流傳Java螞蟻書(而且是有翅膀的螞蟻)~25Please respect copyright.PENANAm7hblhNUq9
我因為畢業很久,想說我再也不碰Java啦~Jo Jo!25Please respect copyright.PENANAVv6UIInIJj
就把那個超厚的書做回收了~25Please respect copyright.PENANAWX7TVbfKbo
然後我就遭到報應了...25Please respect copyright.PENANAhR7vZKm3di
好在重新接觸Java沒有花太多時間就是,25Please respect copyright.PENANAr1KnDBCE2f
凡走過必留下痕跡嘛,25Please respect copyright.PENANAnjsens4n9C
我可是號稱2年沒碰的程式碼不會忘,25Please respect copyright.PENANAjiERZrqesR
10年前公司的專案我也知道怎麼維護呢哼哼!25Please respect copyright.PENANAzw1ck4hMIH
那為什麼選Java而不是Javascript呢?25Please respect copyright.PENANAZkkV99h34m
因為我個人私心覺得,25Please respect copyright.PENANAy1l75WItmj
學長的個性還有給我的印象,25Please respect copyright.PENANAX3vdPGMYVo
比較偏向後端程式語言。25Please respect copyright.PENANAmQRWOOz2EB
然而我就不在這邊討論前端與後端程式語言的差異,25Please respect copyright.PENANALt6AadEjaQ
只想奉勸你們各位已經被冠上全端工程師(如我)的工程師們,25Please respect copyright.PENANAWVM2mlRCap
不要拿後端思維到前端程式碼使用~反之亦然!25Please respect copyright.PENANAKQU0dTMbFi
我們繼續說下去,為什麼選擇Java吧!25Please respect copyright.PENANAFnw5Y9tutq
第一個理由確實是因為咖啡的關係~25Please respect copyright.PENANAPw2W6e4j4B
畢竟代表學長的飲品中多少都有跟咖啡有關的選項。25Please respect copyright.PENANATyxiSEnwHD
再來就是學Java免不了要會的OOP(物件導向程式設計)~25Please respect copyright.PENANA2wowjS5rXc
我也曾經歷過不懂為什麼命名要叫做set還有get,25Please respect copyright.PENANAAMHQwTwATf
不懂為什麼建構子(Constructor)代表藍圖...25Please respect copyright.PENANAhXg4LdPgKE
以及分不清楚abstract和interface的時光,25Please respect copyright.PENANABVB4jy4bbj
好在學了多個程式語言,反而把不會的概念也補完了!25Please respect copyright.PENANAFjwOQvKZER
儘管OOP不是只有Java有,25Please respect copyright.PENANAc1Jrit2pB8
等等的那個選項也有這個觀念,25Please respect copyright.PENANA5K9vlmfxNG
但畢竟是我第一個正規接觸的程式語言(註),25Please respect copyright.PENANAnrgyo1s9ZZ
所以就以Java作為代表了~25Please respect copyright.PENANAzsuPqJlfn4
OOP這個技巧的出現,25Please respect copyright.PENANAO4YPqsoxjE
其實是為了讓程式碼能夠再利用,25Please respect copyright.PENANAgTdQ2pQfSX
讓你不至於成為碼農、什麼都複製貼上~25Please respect copyright.PENANAwrO3J2tKUa
同時也比較好維護程式碼~(註2)25Please respect copyright.PENANA13kUeIhL6D
而OOP的最常見的三大觀念即是─25Please respect copyright.PENANAG7cjr2c8q0
封裝、繼承、多型25Please respect copyright.PENANAbxHPG906qs
讓我想到每個人加入聯盟社(繼承),25Please respect copyright.PENANAfmSZTH5M8E
成為聯盟社的成員(實例化),要努力賺BP(多型)~25Please respect copyright.PENANA4ItBkC6srm
關於多型,我看到有人下一個很簡單易懂的註解─25Please respect copyright.PENANACArn0W9DIV
即是指一樣的事,不同做法。25Please respect copyright.PENANAleZPsvydrn
又或者:同一個行為,但有不同的結果25Please respect copyright.PENANA2d3647Ddwh
而學長代表Java神之手讓我們進入聯盟社,25Please respect copyright.PENANAQTP7UaV903
開啟了農BP的地獄(特別對沒朋友的人不友善的機制)...25Please respect copyright.PENANAHieHCZhP4J
此外,25Please respect copyright.PENANA4J89oyU03s
各位你還聽過Silverlight嗎?25Please respect copyright.PENANA1SLwHmAn6A
記得當年微軟還給它做了一個形象人物─藍澤光25Please respect copyright.PENANAjAtdkouSAd
我曾經用Silverlight寫網頁...25Please respect copyright.PENANAD4WtU0ZTaP
然後得知這東西要被報廢了...25Please respect copyright.PENANANAWecMDW2k
真的是有夠恨鐵不成鋼的!!!25Please respect copyright.PENANAmhUR56UdTk
雖然可能沒有關聯性,25Please respect copyright.PENANAbIW6hY4sj7
後來的就是Spring Boot,25Please respect copyright.PENANAazgwcJDIUl
但也沒想到同事說Spring Boot也有點老了...25Please respect copyright.PENANASuESJ2gCkr
總之,25Please respect copyright.PENANAr6EofPLYQo
如果Silberlight是學長的話,25Please respect copyright.PENANAyT3jfN4BfU
那Spring Boot大概就是烏栗了~25Please respect copyright.PENANAbG3J8kN3x5
唉,都是時代的眼淚呀!
最後一個選項老實說也是我重新摸索的程式語言,25Please respect copyright.PENANA371LUlQEpZ
那就是C++25Please respect copyright.PENANA6GFYRtdn10
當年學C++是為了影像處理,25Please respect copyright.PENANAc6QQzbfrKq
我也沒想到當年使用openCV,25Please respect copyright.PENANAsb5lWS3TzG
現在2025年了,大家還是繼續使用openCV。25Please respect copyright.PENANAuKSHgL39dv
儘管都這麼久語法應該都更新了,25Please respect copyright.PENANASi7HC61N0M
你們如果當年好好學習openCV,25Please respect copyright.PENANAHkX9YLr9EO
10年後還是受用呀!(對,我2012年大學畢業的)25Please respect copyright.PENANAGxE7mhkY9a
會選擇C++的原因是因為我曾經聽過有人這樣比喻C++:25Please respect copyright.PENANA06BjNm3lkV
發明出C++的人,對於(現在的)C++掌握程度也只有70%25Please respect copyright.PENANAMEBeOMWWGE
因此如果在面試的時候,25Please respect copyright.PENANApp0EzjZM06
面試官問你,你對於C++的掌握度有多少?25Please respect copyright.PENANAZod9yo3gmx
會回答超過70%的人不是真的有實力,就是過份有自信...25Please respect copyright.PENANAa8LCv2K0S5
會這樣有感而發是因為,25Please respect copyright.PENANAwE6OqEWxKJ
今天已經是這個系列的第83篇了,25Please respect copyright.PENANAKFsLHSvawO
不過我對於學長的理解,25Please respect copyright.PENANAW1snnZTzy2
就跟對C++的理解一樣,25Please respect copyright.PENANAJGTTiVc2qF
還是只有淺層的程度~25Please respect copyright.PENANAuMAcGcvkCu
除此之外,25Please respect copyright.PENANAVZoDgHoaeq
C++也是懶人程式語言之一,25Please respect copyright.PENANA6RXBwHw1SB
前提是你要很熟練~25Please respect copyright.PENANAsSOM4Vn7kQ
怎麼說呢?25Please respect copyright.PENANA8SaCEsOmUs
C++會在背後幫你做一堆的記憶體管理,25Please respect copyright.PENANA84m1NdbXpZ
使你程式碼的效能提升~25Please respect copyright.PENANASGb9IXevzD
不過它的這個特性有時候也會是兩面刃,25Please respect copyright.PENANArUCjxj5Zmh
就是因為他擅自做了你沒預料的事情,25Please respect copyright.PENANAeoqrerQQVO
當你要解BUG的時候,25Please respect copyright.PENANADCMvmBBAsk
就不得不懷疑他根本是愛搞事的學長呀!
再分析下去會沒完沒了~25Please respect copyright.PENANAVVNaYeWzGo
畢竟還有至少3種以上的程式語言沒列出來呢,25Please respect copyright.PENANAXEYfGCe3A9
如果私心想要再追加一個我心中代表學長的程式語言,25Please respect copyright.PENANAbuToy0CHvW
那就是被淘汰的Flash了~25Please respect copyright.PENANA0vRxZeobcR
嚴格來說應該是叫做ActionScript。25Please respect copyright.PENANAALB4GdWZEy
不過我知道大家對於這個名稱不熟,25Please respect copyright.PENANAVDuMSEAQk7
因此後續我還是用Flash稱呼。25Please respect copyright.PENANAC2QZ4eXRNJ
然而程式語言的部分其實都是指AS~(註3)
Flash是我完全從書本上自學起來的程式語言。25Please respect copyright.PENANAE0fHxyfxAy
過往老師只有教多媒體的觀點,25Please respect copyright.PENANAt8DuBCis57
只把Flash當動畫的工具~25Please respect copyright.PENANAim2uM1Xh1L
但是我真的很想學習做遊戲,25Please respect copyright.PENANACj72KlYEg6
國小又看到同學用Flash做遊戲,25Please respect copyright.PENANA6aER6QoteO
因此我人生有一大段時間,25Please respect copyright.PENANAQBVTymBzSJ
每年至少有一款Flash遊戲~25Please respect copyright.PENANAzUejl6l9e2
懷舊完,說明一下為什麼選Flash吧!
Flash有一種特性是目前所有程式語言望塵莫及的,25Please respect copyright.PENANApgGG3FMDbz
那就是即時性!25Please respect copyright.PENANAa81q3DVU7J
各位也許對於現在的通訊軟體的lag或者延遲覺得無傷大雅,25Please respect copyright.PENANAzd77yvDQng
但若真的要做到一比一的實時性,25Please respect copyright.PENANAaYVFsqdbBC
好比你在畫布上畫一條線,25Please respect copyright.PENANAwOTMZOLiED
那每一點都同時間顯示在朋友的螢幕上,25Please respect copyright.PENANAXaXpqsYlzn
全部的程式語言中,25Please respect copyright.PENANA09EnltLxno
就只有Flash可以做到~25Please respect copyright.PENANAdz5ORQtzBz
剩下的號稱可以的,25Please respect copyright.PENANA4Nhh8ZVPgu
拍謝~都只是因為影像計算快速,25Please respect copyright.PENANA5C7Z8iSQGQ
讓你誤以為是即時的感覺~25Please respect copyright.PENANA0B4cVJd5F5
然而它之所以能做到這點,25Please respect copyright.PENANAlHapzoNLDg
歸因於其特性,而這特性也是它被淘汰的原因之一;25Please respect copyright.PENANAePllMCEHwa
那就是它有太多的漏洞了~25Please respect copyright.PENANAAVG6BxZ5OP
Flash程式語言繞過了很多安全問題,25Please respect copyright.PENANAuvyUXFjBVC
使得駭客能透過Flash(SWF檔案)來執行任意程式碼,25Please respect copyright.PENANA6YHffI2MU3
同時Flash又能被嵌入在網頁上,25Please respect copyright.PENANAzcKQYst1ie
等於把這種危險性又擴散出去~25Please respect copyright.PENANArjEjVvs2GG
(因為人們可能會點這些Flash動畫進而電腦中毒)25Please respect copyright.PENANAJkH1PRZQ57
但也因為繞過了安全問題,25Please respect copyright.PENANAGYNfzVLip1
才能將資訊即時的送到對方電腦上~25Please respect copyright.PENANA3ji43aW9DQ
(其他程式語言還在做安全加密或應對措施)
基於讓人又愛又恨的特性,25Please respect copyright.PENANAM1yrEidRZ2
讓我想到學長給人兩極的印象~25Please respect copyright.PENANA29xNcqqjnt
但這邊我是偏向愛多一點,25Please respect copyright.PENANAp811UB019D
因為我還是很懷念Flash,25Please respect copyright.PENANAMCcJXc9Obu
在那之後我就跑去Unity,重回C#懷抱,25Please respect copyright.PENANA56Xf8arRyP
爾後又被收費嚇到,而去學Godot(也是用C#)25Please respect copyright.PENANAJ24cXBktPo
(雖然後來Unity不收費了,但我也回不去了)
此外,25Please respect copyright.PENANAofSovNiQ0b
Flash在初學者學習做動畫這部分真的很友善,25Please respect copyright.PENANA6zQykR9zE8
我在做遊戲中的動畫時,25Please respect copyright.PENANAjCoxyq5WwZ
也都是思索著如果是Flash會怎麼處理?25Please respect copyright.PENANADrJofwNPm3
那親切的像是學長和我們打成一片,25Please respect copyright.PENANAI2UNJTD2nd
甚至四天王對決時,還特別不收取我們的BP~25Please respect copyright.PENANAbxBLFSW0k1
當我們打贏其他人時,25Please respect copyright.PENANA5E9qJ0mZUP
還會幫我們說明其他人的心路歷程一樣~
學長也像Flash一樣,25Please respect copyright.PENANARPVFBSFjqF
是我們的老朋友~25Please respect copyright.PENANAz9a2qdXqQf
那些年的小朋友齊打交、夢遊先生等等小遊戲,25Please respect copyright.PENANAJLovI1xAVM
陪伴了我們無數的時光~25Please respect copyright.PENANAJgTkrHAsVw
而我現在使用的Newgrounds遊戲平台,25Please respect copyright.PENANAzn2D5cwO9Z
有專門的軟體可供用戶繼續玩Flash遊戲。
當然我也知道,25Please respect copyright.PENANAo3Yh9k4ACT
觀念要改,25Please respect copyright.PENANAjLjyXesr1y
新的技術還是要學。25Please respect copyright.PENANAdWo0DrTBUh
就像同事和主管提到的Rust或許會成為未來的趨勢~25Please respect copyright.PENANAjKw5c2z8Pc
而今我不再每天跟學長對戰了,25Please respect copyright.PENANAzbr45RtF7o
接觸寶可夢Z-A後,25Please respect copyright.PENANA5V0IdY51vr
也不好說會不會有其他人取代學長在我心中的位子...25Please respect copyright.PENANAgo2s4IjyLg
但是為了學長而寫的這些每日日記,25Please respect copyright.PENANACl1yvC1TDJ
讓我有機會透過這種方式反覆思索著25Please respect copyright.PENANADw5RwnoYu8
過去現在未來的點點滴滴~25Please respect copyright.PENANA4ca4lbUQE3
進而讓自己有人生方向以及動力!25Please respect copyright.PENANA1h74niBTvh
同時還增廣見聞~25Please respect copyright.PENANArKPbg9DAHy
真的很感謝當年Flash的啟蒙,25Please respect copyright.PENANAeqybxrg4IY
曾經,我以為自己是空有夢想,25Please respect copyright.PENANArRndBjScua
而無法做遊戲的人~25Please respect copyright.PENANA6BqsHd27Fq
也是因為認識了學長,25Please respect copyright.PENANARxAorzPMK9
讓我能有主題參加每日日記挑戰~25Please respect copyright.PENANARt1jZLH7Ql
給自己每天創作的契機!25Please respect copyright.PENANA2Pd45pok08
雖然結束後我會重新整頓自己的創作步伐~25Please respect copyright.PENANAu4nYLlkL5z
很高興自己還願意持續的創作!
7/19 完25Please respect copyright.PENANA8Ih3CRqXEK
註: 我人生第一個學習的程式語言其實是Visual Basic,25Please respect copyright.PENANAIVvH0G1OSb
還曾經做一個猴子接香蕉的小遊戲,25Please respect copyright.PENANAo3rLzqC3gL
那是我國小的事情。25Please respect copyright.PENANA7FG2oZImpI
以前網路空間或者備份的概念都很差,25Please respect copyright.PENANA2H1cw99PUi
最終因為電腦重灌就清掉我的努力了~
註2: 原則上我們都是希望有人能看懂我們的程式碼,25Please respect copyright.PENANAoxoyNQTInx
讓大家都能共同維護和開發功能~25Please respect copyright.PENANAiOwwE1dJnG
但也有人反其道而行─25Please respect copyright.PENANA3etlEJ4gqp
我偏不走這路線~所有人都看不懂我的程式碼,25Please respect copyright.PENANAZ4lOw7T2ee
就沒人能取代我了!25Please respect copyright.PENANAIlLqImW5ou
主管也不敢趕我走!25Please respect copyright.PENANA0pXLDEmCp3
不過這種短視近利的想法,25Please respect copyright.PENANA2hTzbPxIbj
其實害人又害己~25Please respect copyright.PENANAPSXtAmZkBA
總不太可能專案都是一個人完成,25Please respect copyright.PENANAK6Wfldy2t1
如果是那樣的專案,25Please respect copyright.PENANA3dSwN07Rmn
大抵也不是太大的專案...25Please respect copyright.PENANAOv82Qv1avs
如果哪一天有什麼你很難完成的任務,25Please respect copyright.PENANAWTje5OvTrf
其他人也幫不了你(因為別人看不懂你的程式碼)~
註3: Flash你可以想像是一個做動畫的開發軟體,25Please respect copyright.PENANAOqWvdIiF7I
當你在畫面上拉出一個按鈕時,25Please respect copyright.PENANA6uVpQVO1sk
按下按鈕會發生什麼事情呢?25Please respect copyright.PENANAEfICenYDz5
這時就要透過ActionScript撰寫程式碼,25Please respect copyright.PENANA8MGh927RX1
綁定事件在按鈕中,25Please respect copyright.PENANAkhrdlGhvPe
使得按下按鈕後,會跳轉到下一個場景。25Please respect copyright.PENANACMoJoer2sh
這之間的關係大概是這樣~