雖然我從未親身經歷,但我懷念曾幾何時「為自己運算」的概念。為樂趣而運算。從某種意義上來說,我們都在不斷地個人運算,但這不是我的意思。
電腦蘊藏著魔法,藉助程式,我們希望能暫時駕馭這份魔法。使用圖形介面不夠細膩,就像使用別人的咒語,而不是自己書寫。因此,我們現在處於一個奇怪的境地,電腦的使用模式要麼是(1)這種半生不熟的消費主義實踐,要麼是(2)工程技術。沒有為「軟體如泡泡」留下的空間,這是一個不存在的類別。
基本上,我所說的重點是,作為程式設計師,專業與業餘之間沒有界線。我們強迫自己只編寫最穩健、最可擴展的程式,即使只是為自己編寫。最佳實踐!我們在家中使用與工作相同的工業工具和基礎設施,這些工具和基礎設施為世界提供動力。
我不記得在哪裡讀到過,但有人指出了電影等藝術領域專業人士與業餘人士之間工具的巨大差異。專業攝影機是巨大的機器,沒有業餘人士在家裡用它們來製作影片(更不用說高階麥克風和燈光設備等其他工具了)。從某種意義上說,這與音樂工作室(他們擁有的所有混音設備和合成器……)類似,但這類事物已被軟體(DAW 和 VST)所顛覆。無論如何,在創作這些媒體的體驗(例如,車庫裡的樂團成員 vs. 工作室裡的老練音訊工程師)以及結果的感覺(例如,有趣的貓咪影片 vs. 王家衛的電影)方面,都存在顯著差異。傳統上,「人民」(業餘)和「行會」(專業)幾乎是完全不同的事物,直到最近,運算才開始擾亂這種安排(這就是我們後稀缺時代的樣貌嗎?)。但回到電腦科學本身……
這是好事還是壞事?從某種意義上來說,我們可以將此視為運算的勝利,小人物擁有與大人物相同的生產手段,我們都在一個公平的競爭環境中,等等。但另一方面,小人物現在也變得企業化了。我們面臨與產業相同的限制。這不再是為了好玩,我們不斷受到監視,上帝保佑我們不遵循最佳實踐。
我並不是說我們應該在家裡隨便寫義大利麵條程式碼,彷彿一切都不重要,不讓自己陷入編寫 BadCodeTM 是健康早餐的一部分。我更想說的是,在家裡,為了好玩、為了魔法、為了個人運算,優先事項是不同的。你不想穩健的靜態孤島、大教堂、金字塔。你想要動態的絲綢,一隻蜘蛛在夜晚編織牠美麗的網,第二天早上又將其拆除,然後再次重複。你看,這不能太難。(請原諒我拙劣地試圖詩意地描述這一點)。
我總是看到人們說,作為一個行業,我們似乎已經集體同意元程式設計是一個壞主意。好吧,在深入研究了一些遺留程式碼庫後,我明白了為什麼你希望程式碼盡可能直觀。這是為了優化閱讀、可靠性等等。但是,為什麼我在家裡為自己、為了讓我的電腦為我施展魔法而使用的技術,應該和我與一群必須維護這個東西多年的人一起工作時使用的技術相同呢?對於個人運算,元程式設計是完全合理的。這種程式設計應該是有趣的,它可以是機智的,它可以是我們想要的任何東西。它應該是自由的!「任何你做的事情都應該在某種程度上具有生產力」的資本主義精神已經滲透進來。
軟體可以是一顆泡泡。它可以只為我們而存在。它可以只為好玩而存在。寫一個可以丟棄的程式。沒有人必須看到它!!當我第一次做一件毫無意義的事情時,我會鬆一口氣。自由!!!!
我喜歡 G. Branden Robinson 在 groff 郵件列表上的態度:
我猜,在某種程度上,開源的興起也促成了個人運算的死亡,因為我們在某種程度上趨同於我們社會的基礎設施(無論是工業界還是個人都使用的基礎開源程式),專業人士和業餘人士之間的差距正在縮小。我們甚至可能在共享相同的機器,該死,雲端沒有區別。
我不確定這些想法的結論應該是什麼。一方面,廉價的運算正在幫助我們在階級鬥爭中取得進展,並將權力交到普通人的手中;每年我們的手機或線上免費提供的生產工具都越來越多。但正如一句明智的股票諺語所說,能力越大,責任越大,我們有責任不要忘記如何活著。也就是說,我們應該利用這項技術作為我們靈魂的管道,而不是它的替代品。在受限的環境中努力創造美麗的事物,無法被足夠先進的技術完全取代。
我有點真誠地擔心人類會變得像《瓦力》裡的人們一樣。我們幾乎可以隨時獲得食物,娛樂也可以隨時消費。就目前而言,還有人需要生產這些娛樂內容,但一旦我們找到了自動化方法(即將在您附近的劇院上映),我們就只會沉迷於娛樂至死。
我想讀 Ted Nelson 的《Computer Lib》,我認為這應該能回答我的一些問題,並給我帶來新的問題。
我忍不住將其變成另一個存在主義的離題,但這篇文章的最初想法是我渴望一種真正使用電腦的方法。關於靜態與動態語言的持續對話與此相關: