已經過了睡覺時間了,在我好不容易看完 SCREAM Blog 的每篇新文章後,偏偏又看到開口粥的 Domain-specific language (簡稱DSL) 文章,很多以前想過的事一次湧出來,還是趕快紀錄下來免得 fu 沒了。
大家都瞭解,人類有了「語言」後,進一步有了「文字」跟「文化」,其演進速度可以說因此而稱霸地球上所有生物。在經過台灣十幾年的填鴨式教學後,我進入了成大資工系,某位老師曾提到:
「程式語言就跟英文一樣,學得會英文,就學得會程式語言。」
在某刻,我忽然意識到,無論是自發性的還是被逼的,我無時無刻都在學習各種語言。從我出生就開始學中文,國中被學校逼著學英文,這些都只是大家熟悉的語言。但其實,我國小就開始看星座書,因為我在學習「跟女生溝通」的語言 (儘管笑我吧!);被逼著學音樂,卻學習了一種「心靈溝通」的語言,讓我無論高興或悲傷,都可以透過歌聲或樂器傳達我的情緒;上數學課時學到各種的圖表及公式,讓我可以保有邏輯思考的傳達我的本意;上大學後學了幾種程式語言,則是我用來跟電腦溝通的。無論是有形還是無形,是肢體還是文字,我無時無刻都為了「溝通」而在學習各種語言。
開口大師是一個對「語言」非常有興趣及深入研究的資工人,第一次知道他對全世界各語系的背景都有涉獵時是在跟玉琳及秦昊在吃臭臭鍋的時候,那晚聊了五小時。他會在 blog 貼這篇 DSL 的文章一點也不意外,Prinston 的 Chuck 也是他找到的。博一我接義崧學長的 JavaOL 在做時,也清楚這個語言就是特化成給樂團專用的,它的精神是繼承自 MPEG4 SAOL 並進一步發展在 Java 語言上。在接觸這麼多語言後,我的職業病就來了。
「為什麼要有這麼多語言呢?它們是否有某些共通性?甚至,它們是否都源自於某一個基本的語言(base class)?」
否則大家想想看,今天為了在某個 Domain 上開發一個 DSL,就要做一次 Compiler、Interpreter、 …等等,則現今那麼多種程式語言,投入的人力跟成本之大是可想而知了,如果只要繼承自某個基本語言後做些修改,甚至還能輕鬆的從別的語言抓你想要的裝過來 … (component base)
以上,其實都是在做白日夢啦,就像你妄想著靠一本「深入淺出把妹功略」或「男人不可不知的100句情話」就想獲得天下所有女生的芳心一樣,最後要追一個人,還不是要自己研發出適合她的 DSL 嗎? (笑)
最後講一點跟研究有關的東西,老師一直想做一件事,就是能夠抓出不同演奏家演奏的「語言」,再用不同年代的樂器演奏出來。另外就是他上課時提過日劇-交響情人夢的千秋王子,他指揮著樂團演奏,就是在指揮譜上紀錄專屬於他自己的「指揮語言」,然後透過多次的練習來將這個語言想要表達的意境傳達給整個樂團。如果能懂一些指揮的東西,透過之前跟開口討論的人機介面方式,要做個指揮家系統就更有可能囉。
恩,該睡了。
8 則留言:
哈,showmin 學長總是可以用很人性的口吻講一些事,的確,語言有時候是件有趣的事,當我們以旁觀的角度看著它的演化,它背後的意含,然後不知不覺在思考中也融入了它,然後漸漸地,我們也用了它來思考了。
"開口大師是一個對「語言」非常有興趣及深入研究的資工人" 這是挖洞給我跳,叫我趕快去研究語言學,然後證明這句話嗎?其實我只是有興趣,說深入研究太沈重,我的職業是程式設計師,專長是嘴泡、興趣是做投影片和書套!
你當工程師當真埋沒了你的天分,不過應用在小七妹的 DSL 要好好研究哦。做書套可幫不了你! (下次也教我做...)
不是正好有個神話說,古代世界上的語言全都是同一種嗎? 似乎跟這個想法有點雷同XDD
BTW 開口大師你一定得跳了 喔不,你已經在坑裡了lol
二打一,你們太過分了…
專長是嘴泡、興趣是做投影片
那就研究一下語言學,做個投影片來跟我們嘴泡一下吧
DNA說得沒錯啊,我是描述一個「你已經在坑裡」的事實,不然有誰會去看完 C++ Standard的spec然後暢談為何語法要這樣訂等等之類的。所以別想太多啦,乖乖待在坑裡繼續與我們分享你的心得唄~ 如果為lab開一個training course,是Keiko的話,可以唷。
剛回頭去看keiko跟fr3@k的blog,有點像是在看某種密碼,這些密碼與人類語言相比,更接近神界語言。就像拿paper去問低哥他也可以很快看懂一樣。
我想,雖然「統一語言」這個想法並非不可能,但我依然需要按步就班,仔細去慢慢體會數學及程式語言的精神,直到「得道」的那天到來,才真正將所有東西融會貫通。
這也印證老師今天上課講的,一向研究通常會越做越難,之後再越做越簡單。沒有那種可以跳過「難」而直接體會「簡單」的捷徑。
看到這個字眼:
>> 統一語言
突然想到:前幾天公司 study group 邀請了一個強者來演講,他幽默地講了一句話:亂度趨近於無限大是大自然的定律!那人類的語言呢?據說歐洲現在只有五十五種語言,而且大部分是印歐語系來的,號稱人類社會學最後實驗室的紐幾內亞有一千種,可是隨著科技的進步,世界上已經沒有封閉的社會了,旅行、電視、電影,先進國家的強勢文化正在吞食著其他文化的語言,就像 showmin 講的:「統一語言」這個想法並非不可能。或許有一天大家都講英文或中文,其他的語言只能出現在 Tolkien 式的奇幻文學裡頭,然後語言學家家開始爭辯著,這種自創的語言無法根本不是語言,因為她的詞彙不豐,甚至無法描述量子力學這種東西。也可能語言的統一是違反自然定則,那天的到來是跟 AI 誕生同一天,人類就滅亡了(老梗!)最慘的是,統治我們的外星人或機器人根本不說話,沒有語言這種東西了!
張貼留言