這個題目是我私心訂下的(哪次不是?),31Please respect copyright.PENANAVtlZC8UhLi
意思是沒有要管大家看不看得懂就是~31Please respect copyright.PENANAmeTS441KdZ
畢竟從畢業到現在已經當工程師這麼多年,31Please respect copyright.PENANAE5zkLoulIO
接觸的程式語言雖然都是大家耳熟能詳的那些,31Please respect copyright.PENANAlQdLokCzCO
也不少了~31Please respect copyright.PENANAIleANllep4
所以這次的分析算是藉由我對於所學過的程式語言的觀點整理,31Please respect copyright.PENANAMNVjZ1Eerc
(不代表建議新手該從哪個程式語言入手喔)31Please respect copyright.PENANATgAUCgq8Xj
然後來跟學長的特質做對應喔!
第一個我想到的最佳解就是Python,31Please respect copyright.PENANArNaDGF7i5P
Python顧名思義就是蟒蛇,31Please respect copyright.PENANA1RhTb9raUr
他的Logo是兩隻蛇纏在一起,31Please respect copyright.PENANAlo7bxO98VR
一隻藍色一隻黃色~31Please respect copyright.PENANAx5vsvPQWIA
此外,目前最受歡迎的Python編輯器之一叫做Anaconda,31Please respect copyright.PENANA6FqKAlo5Ms
是森蚺的意思~31Please respect copyright.PENANAIz669lgSw5
會選擇這個程式語言,31Please respect copyright.PENANAvM3pdwiHKM
除了是Logo讓我幻想成學長和我們手牽手的樣子,31Please respect copyright.PENANAku9YedXdJJ
再來就是蛇代表小龍(讓我想到迷你龍)~31Please respect copyright.PENANAwtBaLveUUP
還有Python的繼承跟別的程式語言不同,31Please respect copyright.PENANAV90ydyeZ5q
一般程式語言的繼承只能有一個父類別(一個父親),31Please respect copyright.PENANA2ES0ukXyci
但是Python卻可以有多個父類別(多個父親)!31Please respect copyright.PENANABrI5LKBtI6
這讓我覺得對應到了學長的多重身分~31Please respect copyright.PENANAKut7uOst1v
既是四天王也是聯盟社社長,31Please respect copyright.PENANAct2FEJolrO
再來就是Python簡化了很多語法,31Please respect copyright.PENANApQcNgQpQ5h
是懶人救星~(相當於學長懶散的個性)31Please respect copyright.PENANAMWQdrcuJro
比方人家寫方法要用function,31Please respect copyright.PENANATxEIfGcMXT
Python只要用def就可以定義方法了~31Please respect copyright.PENANA4LuSeFPCSw
對了對了,31Please respect copyright.PENANAu8EXCr8XJ3
Python也是許多人用來學習處理大數據(meta data)、31Please respect copyright.PENANA8pDbnGFTIM
AI(scikit-learn)、爬蟲(Beautiful Soup)的程式語言呢!31Please respect copyright.PENANAvOHvHXot1b
對應學長的戰術能力剛剛好呢!
雖然最佳解出來了,31Please respect copyright.PENANAatOwQCwVK7
但還是要給其他的選項供人思考呀~31Please respect copyright.PENANABKzt1xuhS3
那麼第二個選項就是Java31Please respect copyright.PENANA2nRwHHmry6
沒錯,就是爪哇,還有咖啡豆的那個Java~31Please respect copyright.PENANAtzNN2FtcOx
當年代代流傳Java螞蟻書(而且是有翅膀的螞蟻)~31Please respect copyright.PENANAJg5NKa77yT
我因為畢業很久,想說我再也不碰Java啦~Jo Jo!31Please respect copyright.PENANA2BXoT8sZ1m
就把那個超厚的書做回收了~31Please respect copyright.PENANAIcBjyLIF8g
然後我就遭到報應了...31Please respect copyright.PENANAmvz6PzHH1l
好在重新接觸Java沒有花太多時間就是,31Please respect copyright.PENANAzhMQIZjmzt
凡走過必留下痕跡嘛,31Please respect copyright.PENANAsZrGOXaQtX
我可是號稱2年沒碰的程式碼不會忘,31Please respect copyright.PENANAnRt7iQ9ffD
10年前公司的專案我也知道怎麼維護呢哼哼!31Please respect copyright.PENANA8kutahbaib
那為什麼選Java而不是Javascript呢?31Please respect copyright.PENANAodRuykB04Q
因為我個人私心覺得,31Please respect copyright.PENANASSxwtV7WmL
學長的個性還有給我的印象,31Please respect copyright.PENANAReyBRr3NyD
比較偏向後端程式語言。31Please respect copyright.PENANA26RUd78Kbu
然而我就不在這邊討論前端與後端程式語言的差異,31Please respect copyright.PENANAfXcCMoNXSM
只想奉勸你們各位已經被冠上全端工程師(如我)的工程師們,31Please respect copyright.PENANA9QTqwTSw2c
不要拿後端思維到前端程式碼使用~反之亦然!31Please respect copyright.PENANAZqOISJ2y1i
我們繼續說下去,為什麼選擇Java吧!31Please respect copyright.PENANAVvMPcb5VmI
第一個理由確實是因為咖啡的關係~31Please respect copyright.PENANAQFIDpm6n3C
畢竟代表學長的飲品中多少都有跟咖啡有關的選項。31Please respect copyright.PENANAcQqgR7PT46
再來就是學Java免不了要會的OOP(物件導向程式設計)~31Please respect copyright.PENANA82j9LiQfS7
我也曾經歷過不懂為什麼命名要叫做set還有get,31Please respect copyright.PENANAVezLvqsOF9
不懂為什麼建構子(Constructor)代表藍圖...31Please respect copyright.PENANAzgNb2bnDiC
以及分不清楚abstract和interface的時光,31Please respect copyright.PENANAtJbvmre4pt
好在學了多個程式語言,反而把不會的概念也補完了!31Please respect copyright.PENANA609iWdnzeE
儘管OOP不是只有Java有,31Please respect copyright.PENANAglyoW7Iuep
等等的那個選項也有這個觀念,31Please respect copyright.PENANAxsljKFNiJK
但畢竟是我第一個正規接觸的程式語言(註),31Please respect copyright.PENANAGbokVk2qrm
所以就以Java作為代表了~31Please respect copyright.PENANAA4nBoqZaqB
OOP這個技巧的出現,31Please respect copyright.PENANAmJvePw0DfR
其實是為了讓程式碼能夠再利用,31Please respect copyright.PENANATk3bePHK2U
讓你不至於成為碼農、什麼都複製貼上~31Please respect copyright.PENANAIRpWcgrugz
同時也比較好維護程式碼~(註2)31Please respect copyright.PENANAqE7T6dwI0s
而OOP的最常見的三大觀念即是─31Please respect copyright.PENANARS2ugYxo65
封裝、繼承、多型31Please respect copyright.PENANASLxqwOSJgQ
讓我想到每個人加入聯盟社(繼承),31Please respect copyright.PENANAedupcai1Q5
成為聯盟社的成員(實例化),要努力賺BP(多型)~31Please respect copyright.PENANALG9uiqpZJ4
關於多型,我看到有人下一個很簡單易懂的註解─31Please respect copyright.PENANAcdnuIPJewZ
即是指一樣的事,不同做法。31Please respect copyright.PENANASRnWvEplja
又或者:同一個行為,但有不同的結果31Please respect copyright.PENANAbZMZbQriEC
而學長代表Java神之手讓我們進入聯盟社,31Please respect copyright.PENANAB8lTQ8gPnu
開啟了農BP的地獄(特別對沒朋友的人不友善的機制)...31Please respect copyright.PENANAHzLKUnvz4D
此外,31Please respect copyright.PENANAxeDQrzVEME
各位你還聽過Silverlight嗎?31Please respect copyright.PENANAffbVs0rS85
記得當年微軟還給它做了一個形象人物─藍澤光31Please respect copyright.PENANALgHb87OvJX
我曾經用Silverlight寫網頁...31Please respect copyright.PENANA87oEASkLrf
然後得知這東西要被報廢了...31Please respect copyright.PENANAZCjrmAvVUb
真的是有夠恨鐵不成鋼的!!!31Please respect copyright.PENANAoTe56Nzugj
雖然可能沒有關聯性,31Please respect copyright.PENANAZ6Hr9hxPL5
後來的就是Spring Boot,31Please respect copyright.PENANAA7hBzr3k7V
但也沒想到同事說Spring Boot也有點老了...31Please respect copyright.PENANASGHvJh8iPn
總之,31Please respect copyright.PENANA7Fv1QN55ph
如果Silberlight是學長的話,31Please respect copyright.PENANA60yadnM5qa
那Spring Boot大概就是烏栗了~31Please respect copyright.PENANA7HlR6An85w
唉,都是時代的眼淚呀!
最後一個選項老實說也是我重新摸索的程式語言,31Please respect copyright.PENANAtnLCohpSyb
那就是C++31Please respect copyright.PENANAZzTNhqkGeR
當年學C++是為了影像處理,31Please respect copyright.PENANAIheGgzJ0wE
我也沒想到當年使用openCV,31Please respect copyright.PENANAgjhR2cI4cb
現在2025年了,大家還是繼續使用openCV。31Please respect copyright.PENANAw3gqu8ZF1K
儘管都這麼久語法應該都更新了,31Please respect copyright.PENANA22IMEU3EB5
你們如果當年好好學習openCV,31Please respect copyright.PENANAUbmpXxviOs
10年後還是受用呀!(對,我2012年大學畢業的)31Please respect copyright.PENANAS6XUqJMLaW
會選擇C++的原因是因為我曾經聽過有人這樣比喻C++:31Please respect copyright.PENANAbD7sqz7Z8D
發明出C++的人,對於(現在的)C++掌握程度也只有70%31Please respect copyright.PENANAiARngJi4Zp
因此如果在面試的時候,31Please respect copyright.PENANAPVvcpUpF7B
面試官問你,你對於C++的掌握度有多少?31Please respect copyright.PENANAn7qcUtQMzb
會回答超過70%的人不是真的有實力,就是過份有自信...31Please respect copyright.PENANA876KeOZUi1
會這樣有感而發是因為,31Please respect copyright.PENANApebndsUKjV
今天已經是這個系列的第83篇了,31Please respect copyright.PENANA6v68jzGokb
不過我對於學長的理解,31Please respect copyright.PENANAVXSYxAPXIc
就跟對C++的理解一樣,31Please respect copyright.PENANASZzA5SsySR
還是只有淺層的程度~31Please respect copyright.PENANAxzTFmopZUM
除此之外,31Please respect copyright.PENANANGg6YXvLle
C++也是懶人程式語言之一,31Please respect copyright.PENANAQ4NKgzG6Gy
前提是你要很熟練~31Please respect copyright.PENANAYBG7M6a6EU
怎麼說呢?31Please respect copyright.PENANAUtCRI73FJ1
C++會在背後幫你做一堆的記憶體管理,31Please respect copyright.PENANAGrHGXbpc9g
使你程式碼的效能提升~31Please respect copyright.PENANAgPAMnItLCS
不過它的這個特性有時候也會是兩面刃,31Please respect copyright.PENANAYeBghEVJvO
就是因為他擅自做了你沒預料的事情,31Please respect copyright.PENANAy6zpCvznAx
當你要解BUG的時候,31Please respect copyright.PENANAHXWUs3WQnw
就不得不懷疑他根本是愛搞事的學長呀!
再分析下去會沒完沒了~31Please respect copyright.PENANABvrhdekViN
畢竟還有至少3種以上的程式語言沒列出來呢,31Please respect copyright.PENANAFyc4rHoZgx
如果私心想要再追加一個我心中代表學長的程式語言,31Please respect copyright.PENANAV82xL5o5GV
那就是被淘汰的Flash了~31Please respect copyright.PENANAKUXJsrjsze
嚴格來說應該是叫做ActionScript。31Please respect copyright.PENANAg9YAlyyhhc
不過我知道大家對於這個名稱不熟,31Please respect copyright.PENANAm4rSgV946l
因此後續我還是用Flash稱呼。31Please respect copyright.PENANAWIhxbAUwUQ
然而程式語言的部分其實都是指AS~(註3)
Flash是我完全從書本上自學起來的程式語言。31Please respect copyright.PENANAwpKpCXWal7
過往老師只有教多媒體的觀點,31Please respect copyright.PENANAPpkkvw7hgV
只把Flash當動畫的工具~31Please respect copyright.PENANAWhlFVjELOS
但是我真的很想學習做遊戲,31Please respect copyright.PENANATCIQOOUbBD
國小又看到同學用Flash做遊戲,31Please respect copyright.PENANAkpg8HLnEoU
因此我人生有一大段時間,31Please respect copyright.PENANANV4y97f4UJ
每年至少有一款Flash遊戲~31Please respect copyright.PENANARXtWEREQES
懷舊完,說明一下為什麼選Flash吧!
Flash有一種特性是目前所有程式語言望塵莫及的,31Please respect copyright.PENANAFVicTktr0U
那就是即時性!31Please respect copyright.PENANADg4MKprVvS
各位也許對於現在的通訊軟體的lag或者延遲覺得無傷大雅,31Please respect copyright.PENANAbjWc8413V5
但若真的要做到一比一的實時性,31Please respect copyright.PENANA8Y6hanZ4GJ
好比你在畫布上畫一條線,31Please respect copyright.PENANAOjWWziumul
那每一點都同時間顯示在朋友的螢幕上,31Please respect copyright.PENANAXKg02lh3sG
全部的程式語言中,31Please respect copyright.PENANAg7SHboAV1U
就只有Flash可以做到~31Please respect copyright.PENANA0bLqTLGceA
剩下的號稱可以的,31Please respect copyright.PENANAjlzcEfXljl
拍謝~都只是因為影像計算快速,31Please respect copyright.PENANAPbzxmDArFZ
讓你誤以為是即時的感覺~31Please respect copyright.PENANAllv4LRGetn
然而它之所以能做到這點,31Please respect copyright.PENANAqQj38z1LGC
歸因於其特性,而這特性也是它被淘汰的原因之一;31Please respect copyright.PENANA58T9BZVXx0
那就是它有太多的漏洞了~31Please respect copyright.PENANAYAQAjVzxLZ
Flash程式語言繞過了很多安全問題,31Please respect copyright.PENANAXjAWoLCi0b
使得駭客能透過Flash(SWF檔案)來執行任意程式碼,31Please respect copyright.PENANAeBJYHKep4x
同時Flash又能被嵌入在網頁上,31Please respect copyright.PENANA7qC35maDBh
等於把這種危險性又擴散出去~31Please respect copyright.PENANAofAq05YLEt
(因為人們可能會點這些Flash動畫進而電腦中毒)31Please respect copyright.PENANAH332l9n8EP
但也因為繞過了安全問題,31Please respect copyright.PENANA7ZmJ7TPhZM
才能將資訊即時的送到對方電腦上~31Please respect copyright.PENANAjFhUaf0tKh
(其他程式語言還在做安全加密或應對措施)
基於讓人又愛又恨的特性,31Please respect copyright.PENANAXmn6Qjq5pj
讓我想到學長給人兩極的印象~31Please respect copyright.PENANAUynsBIJgwk
但這邊我是偏向愛多一點,31Please respect copyright.PENANAvZD3GyCC8C
因為我還是很懷念Flash,31Please respect copyright.PENANAL8SxsMPfsp
在那之後我就跑去Unity,重回C#懷抱,31Please respect copyright.PENANAOnVUfoTfrh
爾後又被收費嚇到,而去學Godot(也是用C#)31Please respect copyright.PENANAdg8FnhZb1Y
(雖然後來Unity不收費了,但我也回不去了)
此外,31Please respect copyright.PENANAfcFJtGlSHu
Flash在初學者學習做動畫這部分真的很友善,31Please respect copyright.PENANAJgx1OeOvj7
我在做遊戲中的動畫時,31Please respect copyright.PENANAeZnJat0yNQ
也都是思索著如果是Flash會怎麼處理?31Please respect copyright.PENANAu9unxJSU7b
那親切的像是學長和我們打成一片,31Please respect copyright.PENANAFwjSdLZfsV
甚至四天王對決時,還特別不收取我們的BP~31Please respect copyright.PENANARYkQPtgBPv
當我們打贏其他人時,31Please respect copyright.PENANAKeltHnLvcY
還會幫我們說明其他人的心路歷程一樣~
學長也像Flash一樣,31Please respect copyright.PENANAMqbGZh9p10
是我們的老朋友~31Please respect copyright.PENANAemoAQldNpP
那些年的小朋友齊打交、夢遊先生等等小遊戲,31Please respect copyright.PENANADVR3oxsufl
陪伴了我們無數的時光~31Please respect copyright.PENANA6Xs4EJH6Kt
而我現在使用的Newgrounds遊戲平台,31Please respect copyright.PENANAb8T8oYpx5P
有專門的軟體可供用戶繼續玩Flash遊戲。
當然我也知道,31Please respect copyright.PENANAGHoUqr6uBn
觀念要改,31Please respect copyright.PENANAFBn2cf2FBJ
新的技術還是要學。31Please respect copyright.PENANAXEeLIaoAYv
就像同事和主管提到的Rust或許會成為未來的趨勢~31Please respect copyright.PENANAAi61DIgJFH
而今我不再每天跟學長對戰了,31Please respect copyright.PENANAY5dGDXBLPb
接觸寶可夢Z-A後,31Please respect copyright.PENANAHuJ5c8nJ9q
也不好說會不會有其他人取代學長在我心中的位子...31Please respect copyright.PENANADuntowVkwv
但是為了學長而寫的這些每日日記,31Please respect copyright.PENANA2Qho2g9Ac0
讓我有機會透過這種方式反覆思索著31Please respect copyright.PENANAqUd2oJQQOF
過去現在未來的點點滴滴~31Please respect copyright.PENANA3oCjh9of6n
進而讓自己有人生方向以及動力!31Please respect copyright.PENANA5n2oDv2WqP
同時還增廣見聞~31Please respect copyright.PENANAJvKV8n7aCw
真的很感謝當年Flash的啟蒙,31Please respect copyright.PENANAzLrtN3Yyyz
曾經,我以為自己是空有夢想,31Please respect copyright.PENANAtleSxurEjd
而無法做遊戲的人~31Please respect copyright.PENANAn1jS62c81M
也是因為認識了學長,31Please respect copyright.PENANATnUF5tWX15
讓我能有主題參加每日日記挑戰~31Please respect copyright.PENANAy6yhFtVAIh
給自己每天創作的契機!31Please respect copyright.PENANAkQUBmUuxy4
雖然結束後我會重新整頓自己的創作步伐~31Please respect copyright.PENANAgz8Cik7WL1
很高興自己還願意持續的創作!
7/19 完31Please respect copyright.PENANABRSeWCr5og
註: 我人生第一個學習的程式語言其實是Visual Basic,31Please respect copyright.PENANAH9PkSdFkw5
還曾經做一個猴子接香蕉的小遊戲,31Please respect copyright.PENANAht6roice3m
那是我國小的事情。31Please respect copyright.PENANAsGJn2tQ521
以前網路空間或者備份的概念都很差,31Please respect copyright.PENANA6cKglUAIrJ
最終因為電腦重灌就清掉我的努力了~
註2: 原則上我們都是希望有人能看懂我們的程式碼,31Please respect copyright.PENANARmZKfDhDKK
讓大家都能共同維護和開發功能~31Please respect copyright.PENANA1mjUMazxVk
但也有人反其道而行─31Please respect copyright.PENANA3KR2bV4Gxg
我偏不走這路線~所有人都看不懂我的程式碼,31Please respect copyright.PENANA7YBAR6mYJT
就沒人能取代我了!31Please respect copyright.PENANAZ2JKsAwznu
主管也不敢趕我走!31Please respect copyright.PENANAf1crhzhw2Y
不過這種短視近利的想法,31Please respect copyright.PENANAXyWYQ1CaN3
其實害人又害己~31Please respect copyright.PENANAsQpKkZEuF0
總不太可能專案都是一個人完成,31Please respect copyright.PENANAUAIpGctCV1
如果是那樣的專案,31Please respect copyright.PENANAo50bZI1sWl
大抵也不是太大的專案...31Please respect copyright.PENANAUSfa2EufIz
如果哪一天有什麼你很難完成的任務,31Please respect copyright.PENANA7wlIt4rDCo
其他人也幫不了你(因為別人看不懂你的程式碼)~
註3: Flash你可以想像是一個做動畫的開發軟體,31Please respect copyright.PENANA0PaLOmnb3E
當你在畫面上拉出一個按鈕時,31Please respect copyright.PENANABxHFzZ3glS
按下按鈕會發生什麼事情呢?31Please respect copyright.PENANAx6wnXWH0nP
這時就要透過ActionScript撰寫程式碼,31Please respect copyright.PENANAdx56WBpR1T
綁定事件在按鈕中,31Please respect copyright.PENANAUkyb7N42KT
使得按下按鈕後,會跳轉到下一個場景。31Please respect copyright.PENANAgjBrSdEFyD
這之間的關係大概是這樣~