第一次學程式該選什麼語言?AI 程式寫得比大部分人好還該學嗎?

前言 我目前的程式經驗大約六年,積木語言和標記語言不算只算正經的程式。 從前後端開發、資料分析、演算法加速、機器學習、系統程式開發、和一些實驗性程式語言都碰過,算是有一些經驗了,因此我想我應該能給還沒碰過程式的人一些方向。 AI 寫得比大部分人好還該學嗎? 先說我認爲的結論: 如果只是想賺快錢或做簡單的 demo 類型 app 可以不用,如果想弄清楚電腦在做什麼、所有基礎設施和 app 是怎麽一步一步達到像魔法一樣運作的,甚至重現或貢獻他們,那還是必須要學。 目前爲止 AI 在小規模 demo 和解決單一問題上遠超人類,但面對沒有經驗法則支撐的領域問題,或是規模大到超出 context window 時,AI 能力會被快速削弱,甚至完全失效。 也許未來這個問題可以被解決,透過更好的模型架構或是更大的 context window 還有自我驗證(例如邊開發邊寫單元測試)但目前來說還是有不少限制的。 前面這種說法可能常聽到有人說,但通常他們都不會舉例,因此我想舉一些實際的專案來說明: LLVM 是一個編譯器工具鏈,程式碼相依的程度和規模本身都大到難以想象,AI 在這種專案上可能只能做到微觀的 bug 修復或是小功能的實作,但要真正理解整個專案的架構和設計,甚至是重現或貢獻新的功能,還是需要人類的智慧和經驗。(再說目前正常人也沒有錢跑那麼多 context) 不止是單純的 context window 大小塞不下,還有專案本身依賴鍊條的複雜度和需要的經驗法則,AI 目前還無法完全掌握這些。 第一次學程式該選什麼語言? 從目的來分類: 想學電腦運作原理:C 語言,因爲它是許多作業系統的基礎,能讓你了解電腦底層的運作方式。 如果想做正經的系統程式開發,我會推薦現代 C++ 和 Rust 二選一,現代 C++ 透過零成本抽象和豐富的標準庫讓你能夠寫出高效又安全的程式,Rust 則是以安全性為核心設計,能夠幫助你避免許多常見的記憶體錯誤。 現代 C++ 是我最喜歡的語言,因爲他在保留上層抽象功能的同時又給予無與倫比的裸機效能,有優雅抽象又能精準控制底層行爲,不論是科學運算還是金融領域高頻交易機構都很愛用。 想賺錢:JavaScript 或 TypeScript,現代即使是桌面 app 也常透過 Electron 這類框架,因此網頁前端可以說到處都是,學了也不會過時。 但我自己認爲 TS 更值得學,用型別檢查幫你兜底,也是新的 AI app 常用。 想學 AI:Python,因爲它有豐富的機器學習和深度學習庫,如 TensorFlow、PyTorch 和 Triton,讓你能夠快速上手 AI 開發。 進階一點的話可以學 CuPy 甚至 CUDA C/C++ 做效能上的最佳化,但這比較涉及底層,只是要學理論和基本實作的話直接用 Python 的框架就好。 ...

May 31, 2026

大學生活對我來說的價值

成年與入學初期 以前高中時的我一直很希望快點年滿 18 歲上大學, 因為 18 歲不僅代表著我可以爲自己作出選擇, 同時也解鎖了許多未成年沒辦法做的事情, 又一次多出許多時間和空間讓我自由運用。 我也順利在剛滿 18 歲的一兩個月內很快就考到了汽車駕照。 目前大學一年級的我也開始思考大學教育對我來說的價值, 雖然我每天到學校上課時教的內容都和我的生活沒有太大關係, 專業知識的培養也大多偏向基礎學科和電腦硬體, 因此我目前對於學校的課程並沒有太大的興趣。 不過這並不影響我在大學這半年多期間對於大學教育的看法, 離開家人獨立生活的我在大學生活裡學到了很多, 也發現要成為一個完整的人需要的不僅僅是學校的知識, 更多時候是無盡的自我探索和學習。 大學不只是為了學科知識 大學一年級的課程非常少, 因此我比以往多了很多時間可以自由運用, 我花了比以往更多的時間在網路上學習, 也開始接觸了一些新的事物, 例如每週二或四到學校的健身房運動, 又或是約朋友打桌球等等, 我認為運動也在不知不覺中改變我的個性, 不僅讓我更願意與人交流, 面對人群時也更加自在, 這些機會都是以往如填鴨一般的國高體制教育沒有辦法給的。 即便參加了這麼多活動, 我還是擁有比以往多非常多的時間能利用, 這讓我有機會思考自己的未來, 也開始有建立個人事業的一些想法, 如果沒有大學教育, 我可能永遠不會有這麼多時間去思考自己的未來並與自己對話, 或是有機會接觸到這麼多不同的事物。 我的在校成績並不是很好, 甚至有些課程我都沒有好好上, 我在上個學期時有兩門科目被當掉, 這學期可能也會有一兩門科目被當, 不過目前的我並不擔心這些, 即使我畢業時成績不好, 甚至多讀一兩年, 我認為能夠在大學生活中獲得的價值遠遠超過了成績。 重視自己的生活品質 技術和知識雖然可以帶領我們更容易走向成功, 但是比起成功我認為更重要的是自己的生活品質, 高中三年雖然我花了很多時間學習專業技能, 卻忽略了自己的健康和生活, 也沒有太多時間去思考自己的未來, 對於現在的我來說活得健康快樂比起在專業領域取得成功更重要, 從大學以後我才更加重視每天的生活和規律運動, 也開始會主動與人交流, 這些都是以前高中時期的我很難想像的。 結語 我希望近期做出的這些改變能夠影響我未來的生活, 讓我在未來的幾年能更專注在自己想要的事情上, 也更認清自己真正想要和需要的是什麼, 而不再是被別人的期望和社會的標準所左右。

April 11, 2024

如何不洩漏個資同時擴大自己的影響力

突然想到一個有趣的問題, 就像標題所說的一樣, 我其實想成為一名擁有影響力的人, 但我不希望別人知道我的身分, 也不希望走在路上就被認出來, 這聽起來非常困難, 所以我開始思考有沒有一些手段來達成這些條件。 首先來定義一下「個資」和「影響力」是什麼 個資 我認為外在的身高、體重、年齡、長相、指紋、虹膜和資料上的像是身分證字號、各種證件和戶頭, 甚至是聲音特徵或基因都理所當然是自己要有被曝光的控制權, 這樣即使有人在網路上發現並且帶有惡意的針對你, 也沒辦法找到你本人, 藉此確保自己的安全。 影響力 影響力定義其實很單純, 你產生的內容可以觸及多少人, 並且讓這些人停留在你的內容多久、做出多少對應的行動, 這些都是影響力。 想要有影響力的原因也很單純, 就單純是想要散播自己的思維, 並且和社群、觀眾或讀者等等人們有更好的交流。 通常對於影響力大的人的定義不外乎就是政治人物、名嘴、明星、YouTuber、網紅等等, 但我認為這些人的影響力都是建立在他們的身分上, 也就是說他們的影響力是建立在他們的個資上, 這也是為何我不希望自己的個資被曝光的原因。 至於為何我會想要不洩漏個資, 其實是因為我不希望因為自己的任何思想或言語被拿來當作自己的罪, 不僅是某些獨裁政權會利用這些資訊來監控和控制人民, 具體有哪些想必大家都很清楚, 同時我也認為樹大招風, 只要有一定的影響力就很容易招來一些不必要的麻煩, 例如我們可以常常看到 Github 被 DDoS, 或是某明星或政治人物遭到殺害, 但這些事情都可以透過提高匿名性被避免。 給不注重隱私的人 有些人或說是大多數人可能不會在意自己的個資和隱私, 直到有一天他們發現自己的個資早已散落在網路上, 或是被惡意利用, 但這時已經來不及了, 網路上的資訊只要伺服器不屬於你就永遠無法被刪除, 就像我在另一篇文所說的一樣, 因此我認為在網路上的隱私是非常重要的, 完全的言論自由可能需要借助一些手段 言論自由本來就是個基本人權, 但台灣是一個可能會被中國侵略的區域, 因此把網路上的身分和現實中「脫鉤」就顯得非常重要。 為何我會說在沒有「現實身分」或是我認為的「個資」的情況下會很難擴大影響力的原因也很單純。 想像一下今天在某個社群平台上有個創作者, 單靠自己的力量在不露臉甚至是不留下自己聲音的情況下散播自己在網路上虛擬形象的知名度, 能做的題材就非常有限, 加上現代大多數人的注意力都被短暫的娛樂性媒體一點一滴奪走, 也許也有某些人會在乎這些事情, 但這終究還是少數。 撰寫這篇文的原因其實是前陣子看到志祺七七介紹編程隨想, 他是一個中國人, 透過翻牆的方式在網路上發表自己的言論, 講述一些關於中國共產黨的事情, 並且介紹他使用了哪些手段來保護自己, 但他的文章卻被中國共產黨當作「顛覆國家政權」的言論, 原先中國共產黨還沒找到他時, 他似乎已經發現自己的身分被洩漏, 後來他被中國共產黨逮捕, 並且被判處有期徒刑十四年。 結尾 對我來說, 我目前的做法是利用寫 blog 的方式來作為我在網路上留下個人想法的方式, 但我也不會在 blog 上留下任何可以讓人知道我的具體身分的資訊, 雖然並不會有很多人看到我的 blog, 但我還是希望能夠透過這個方式來擴大自己的影響力, 並且避免大公司或政府的監控。

January 18, 2024

去中心化是人與人連結的起點,也是終點

綜觀網際網路的大規模擴張從最早的 email 到目前主流的社群如 Facebook Instagram Discord 等等, 我們可以發現社群中心化的概念最早是由臉書開始, 但後來臉書也開始做封閉社群,例如 Facebook 社團。 換個角度看人們從使用電子郵件開始原本就是去中心化的(可能當時也沒有足夠的資源和技術做到社群中心化), 後來中心化以後卻又反其道而行, 做回了群組、社群導向的軟體, 而不是全面往每個人都可以瀏覽的粉絲專頁這種形式推進。 我認為這樣做肯定有一些考量, 例如讓使用者更容易接觸興趣和理念相近的人, 並且防止不停出現使用者沒有興趣的貼文, 但這樣做也同時加深了同溫層, 讓不同立場和觀點的人較難互相理解。 換個方向想,我們真的需要「中心」嗎? 我想答案很明顯,當然不需要。 現在各種社群軟體百家爭鳴, 即使世界主流的社群軟體還是沒有改變, 但像是 Reddit, Discord 等等社群依然不停出現, 不僅僅是因為使用者的習慣和需求不同, 也同時有人與人互動方式的原因。 我們可以把所有社群軟體都放到一條擁有兩個極端的線上, 這條線的最左邊代表完全中心化, 最右邊則代表完全去中心化, 也就是擁有最多的少量使用者組成的群體, 一開始的臉書就在這條線的最左端, 但這顯然沒有辦法應對所有人的需求, 於是有許多社群軟體在後面憑藉著擁有多個小群體的優勢後來快速崛起。 中心化就像是養雞場 臉書在早年時因為對手很少而擁有的大量的使用者快速湧入, 但臉書也有隨著使用者的喜好做出相對應的動作, 例如在處理個人偏好的問題時就使用了著名的貼文推送演算法, 藉此來滿足每個個人的喜好, 也建立了社團這種小群, 雖然名義上是獨立社群但還是基於你是臉書使用者的基礎才能夠加入。 對我來說臉書這種中心化社群軟體就像一個大型高科技養雞場, 每一個使用者不論加入了什麼社團、喜歡哪些貼文、與哪些人成為好友甚至幾年幾月幾日在哪裡打卡都被記錄得一清二楚, 還記得有一句話叫做臉書比你媽還了解你, 這就是原因。 再說臉書擁有數十億位使用者, 代表世界上接近一半的人都在使用臉書, 平常卻很少有人在思考自己被賣給廣告商的資訊是不是根本不應該洩露給把你個資賣掉的平台。 花一點小錢保護自己的個資並且還給自己無廣告且自由的友善空間 以前有寫過關於 Home Server 和 self host 的文, 像這種形態的伺服器就很適合拿來架設自己的社群軟體, 目前主流開源的去中心化社群是 Mastodon, 如果不認識的話可以參考維基百科上的條目:「聯邦宇宙」這是我認為社群軟體最後的理想型態, 不需要擔心個資外洩的同時也不用被廣告折磨, 更不會推送為了博取你注意力的短影音, 因為在聯邦宇宙上使用者不再是一個商品, 而是一個單純的、支撐起整個社群的支柱。 當然普通人很少會選擇自己架設社群軟體, 因此也有許多公開的 Mastodon 節點可供使用, 比起自架來的更穩定而且免錢, 非常值得任何人嘗試。

November 18, 2023

給自己三天時間清除資訊垃圾

現代大多數人每天都在使用手機和電腦等等電子產品, 能夠在短時間內吸收大量資訊確實也是一大優勢, 但大多數人卻忽略了自己也身處資訊垃圾堆中。 資訊垃圾的形式有非常多, 從信箱裡的垃圾郵件、社群軟體上的無意義通知, 到內容超載的短影片。 許多時候我們在不注意的情況下就花了好幾個小時瀏覽這些內容, 但結果就是一無所獲。 該從哪裡做起 過濾資訊垃圾的方式很多, 只要是瀏覽後不需要採取任何動作或回應的就算, 這邊舉幾個基本例子, 其中最重要的目的就是不要讓這些東西干擾自已的工作效率, 減少專注期間被中斷的可能性, 同時降低平時動不動就無意義查看手機的機會。 取消訂閱不需要的電子郵件 退追蹤、退訂閱不必要、不常看和農場內容 清除備份好的照片、影片、文件 退追蹤、移除多年沒有聯絡的人 刪除手機上不怎麼使用的 app 關閉非重要訊息的通知 清理完之後應該繼續做的事 清理完之後並不等於結束, 想要長時間保持著不被資訊垃圾淹沒的話, 還要持續的檢查自己的習慣, 例如在每天結束前檢查一下自己的手機和電腦。 以下是我自己的習慣: 申請新帳號時不要訂閱電子報 查看電子郵件時順便清除不需要保留的郵件 把每天上課拍的板書照片刪除 不定期清除手機上的 app 和照片和電腦上的檔案 我從這之中獲得的好處 其實清理資訊垃圾不只在於減少接收不必要的資訊, 同時也可以回顧以前瀏覽過, 買過或是去碰過什麼東西, 對於自己資料例如電子郵件、文件、照片、影片等等佔用多少大小、如何整理也會更有把握。 就像整理現實中的空間一樣, 整理資訊垃圾以後對於空間整體的把握度也會更高, 可以更快找到自己要的東西, 也可以更容易發覺哪些東西自己真正需要, 哪些東西只是在佔用空間。

October 29, 2023

學會在網路上保護自己

這篇文前半段我會專注在個人資料和相片的部分, 後半段則是關於位置與 IP 的部分。 你在網路上留下的痕跡會永遠存在 不知道大家有沒有遇過一件事情, 當你在某個社群軟體上發布了一張照片, 過了一段時間後你打算刪除這張照片, 卻發現這張照片已經被其他人轉載到其他地方, 這時候你就會發現你的照片已經無法刪除了, 但別人帳號上的照片你卻無法控制, 這就是網路上的資訊永遠無法被刪除的原因。 又或是你小時候曾經在某個社群網站上發布了相片, 但是你已經不記得當時使用的帳號密碼。 更恐怖的事全世界都看得到那些你一輩子都刪除不了的任何資訊。 其實網路上留下的痕跡不僅僅是照片, 還有你的個人資料、IP 位置、瀏覽紀錄、喜歡的事物、聯絡人等等, 你可能需要的工具: VPN 要保護好自己的資料和行蹤有一些手段, 例如 VPN 像是 Cloudflare Warp、Mullvad、NordVPN 等等, 如果你有個熱愛資訊技術的朋友也可以請他幫你架設 VPN。 VPN 就像是一個隧道, 你的資料會透過這個隧道傳送, 而這個隧道的出口會是 VPN 伺服器的 IP 位置, 所以你的 IP 位置就會變成 VPN 伺服器的 IP 位置, 藉此來達到隱藏自己真實 IP 位置的目的。 激進一點的手段 如果你依舊不信任那些會收集你資料的服務, 你可以考慮自己架設服務, 也能夠確保自己的資料不會被賣給廣告商, 像是即時通訊的 matrix 的 synapse 伺服器, 或是發文為主的社群網站 Mastodon, 這些軟體不會被廣告商插手, 這些開源的軟體可以讓你不受言論審查, 所以不用擔心自己的資料被別人掌握, 並且他們都採用去中心化的架構, 即使其中一個節點下線也可以用另一個節點的服務。 必須要有的底線 不管你使用什麼服務, 任何你能被別人看見的資料都有可能被轉載並且永久保存, 所以你必須要有一個底線, 至於這個底線是什麼, 就要看你自己覺得哪些東西是一輩子公開都沒問題的, 不然就不要上傳到網路上, 除非是你可以完全信任的人。

October 6, 2023

不打第三劑疫苗的理由

從2020疫情爆發到現在已經兩年多過去了,大部分的人包括我都已經打了兩劑甚至三劑疫苗,前兩劑我都是跟著班上大家一起接種, 到了第三劑我卻不繼續施打了,這裡列出我認為對於我自己來說沒有必要施打的三個原因。 病毒流感化(重症、死亡率降低) 以前打疫苗時的病毒株 alpha, delta 相對現在的 omicron 來說重症、死亡率高出不少,所以當時和班上幾乎所有同學一起在學校接種, 但是到了現在的 omicron 其實對於青少年來說重症機率已經很低了,再加上先前已經打了兩劑,所以我認為已經沒有必要再打加強劑。 疫苗副作用 根據身邊朋友的經驗我發現接種第三劑發燒的人數比起前兩劑高出不少,雖然這可能只是巧合,不過還是有發燒的可能, 再加上本來就很高機率出現的手酸手痛和多挨一針,也更讓我覺得第三劑對我來說用處不大。 家中沒有老年的長輩 目前家中只有爸媽和妹妹與我同居,爺爺奶奶住在台北,所以就算真的確診也比較不用擔心傳染給家裡長輩的問題。 以上三點就是最後我決定不接種第三劑的原因,如果家裡有年長者、慢性病患、孕婦或是小小孩之類抵抗力較差的人, 還是建議可以打第三劑,保護自己也保護家人。

June 22, 2022