發表文章

目前顯示的是 8月, 2011的文章

Ruby學習筆記-1

圖片
最近在學習Ruby這個程式語言, 學到現在覺得這個程式語言與我常用的ObjectiveC有許多相似性, 所以在這邊做個摘要整理 多重繼承的解決方案: 松本行弘在這本書裡面比較了C++, Java等程式語言的多重繼承問題, Ruby是使用Mix-in來實現多重繼承, 那麼ObjectiveC呢? 以我觀察, ObjectiveC是使用Protocol來實現多重繼承, 而且ObjectiveC的protocol與Ruby的Mix-in的概念幾乎一模一樣, 但是不太一樣的是Ruby使用Module來宣告Mix-in的介面與實作, 而ObjectiveC僅使用@protocole來宣告protocole的介面, 實作上必須在使用這個protocol的Class來實作, Mix-in是將許多物件的共同行為抽象化, 但是這些物件並不一定是繼承至共同的類別. 從C語言的觀點, Mix-in可以當做是共用的Module, 或是static function. ObjectiveC的protocol可以為既定的類別衍生出介面, 並可在run time來判斷與呼叫, 所以不同類別的物件也可以擁有同樣的Protocol. 從以上比較, Protocol無法做到實作的抽象化與重複使用, 這應該是跟Ruby本身是動態型別支援有關. Protocol也許也可以做到, 但是要花一些工, 作法也許類似要在Protocol中去使用抽象類別衍生的物件, 這方面的技巧跟C++ abstraction class與Java interface應該是一樣的 Metaprogramming: Ruby可使用語法來動態產生方法, 在ObjectiveC 2.0也有類似的語法, 就是property, 使用property可以省下許多寫setter與getter的物件存取方法的code, Ruby則使用了attr_accessor. Metaprogramming還有許多用法例如Reflection, Reflection我也是最近兩年才知道的技術, 並沒有太多使用經驗, Java, ObjectiveC都有支援 動態型別: ObjectiveC與Java都是靜態型別程式語言,必須嚴格指定變數型別, 在編譯時可指出錯誤的型別指定錯誤, Ruby則沒有這種限制, 但是Ruby會在runtime時去做型別判斷

康博士專欄: 我看「摩門教」

我看「摩門教」            文:康哲行 (2011/08/25) 偶而你會在台灣街頭,或你家門口看到一對服裝整齊,騎腳踏車的外籍青年,登門向你宣傳摩門教的教義。他們那充滿稚氣和笑容的臉龐,一口相當標準的國語,會令你吃驚,也會使你覺得非常親切,忍不住就和他們聊起天來! 他們多半都是剛從美國各大學畢業,或正在求學階段的摩門教青年信徒。接受了六個月的華語訓練之後,被派到台灣來傳教。在他們完成了兩年的義務傳教之後,才返回美國,繼續完成學業或進入社會工作。 我對「摩門教」的評價是很高的!但我純粹是從「社會」的觀點,而不是從「宗教」的觀點。我個人也不是摩門教或基督教徒。 當初在美國居留時,我就有好幾個摩門教的朋友。在我完成學業,剛進入美國社會工作時就陸續認得他們,並在工作上及私底下得到他們很多無私的幫助。他們的特點是勤奮、謙卑、熱情、快樂。幾乎每個摩門教徒都是守法的良好公民,也是多數公司樂於雇用的好員工。 他們都非常好客,我曾數度被他們邀請到家中便餐。他們的教規森嚴, 不能吃喝任何有刺激性的東西。例如:不能喝酒類、咖啡、非果茶類的飲料。當然,他們都很有禮貌,都會事先對這些約束和不便向我致歉。 正統基督教把他們視為「異端」而打壓,所以他們都非常的團結,也形成了一個自給自足的封閉式社會。感覺上,摩門教是一個實行「社會主義」的團體,更是一個理想的「大同社會」。 摩門教是一個非常富裕的團體,他們之所以那麼有錢,因為教徒每月的薪水都要無條件上繳十分之一給教會(都是用銀行自動轉帳)。薪水的十分之一,一年下來真的是一筆很大的數目!如果不是心甘情願地上繳,真的會很心痛。相對而言,其他的正統基督教會就沒那麼嚴格,也就沒像他們那麼富裕了。 另外,他們的「富裕」也來自「生財有道」。摩門教的教會有錢,所以會自辦很多工廠,例如:在我當時居住的聖地牙哥市就有鮪魚罐頭工廠。平時,附近的教徒都要定期去奉獻工時;但如果不幸失業,就去做全時工,還有薪水可拿。 所以,對他們來說,雖然處在美國那種冷酷的資本主義制度之下,卻完全沒有「失業」的危機。教會給了他們「生老病死」各種保障,可以快樂地生活,無憂無慮地得享天年。 所以我說他們是「社會主義」團體,過去共產主義國家沒做到的,卻被他們做到了!那豈不正是禮運大同篇所歌頌的「天下為公」的理想社會?不同的是,他

博士專欄: 何必忘記?

生活小品 何必忘記?                 文:康哲行 (2011/07/21) 一篇網路文章說:「忘」比「記」難多了 ! 「記」是聰明,「忘」是智慧、是修養!年輕時期,我以為記得牢是真本事;中年以後,我逐漸領悟到忘得掉才是真幸福。壯年以後,我開始向老天乞求「健忘」之恩─忘掉過去的輝煌,忘掉已往的失敗,忘掉從前的創傷,忘掉朋友的不週,忘掉仇敵的攻擊……。 「忘」真的比「記」困難嗎?人到老年,腦細胞逐漸死亡,一定會忘掉的比記得的多。那些忘不掉的,應該是埋藏於潛意識深層的記憶,都是當年令人欣喜若狂或椎心刺骨的重大事件,那應該是永遠忘不掉的。 該網路作者說:「忘是智慧、是修養!」真的是如此嗎?一個有修養的智者就能做到「選擇性」的忘記?那是不可能的。 那麼,作者乞求老天,是要上天讓他變成一個「失智老人」嗎?其實,即使一個失智老人,也不會什麼都不記得,還是會記得那些陳年往事,見面時還是會向你吹噓他的「當年勇」,一下子人又變得正常起來。但是,五分鐘前和你談過的另一話題,他卻什麼都不記得了。 人到了嚴重失智,當然把陳年往事也會忘掉。你看他呆若木雞,可能都不認得你了,談話也會語無倫次,那可不是作者原意想要的吧? 其實,何必忘記?你只要「不在乎」!一切陳年舊事便都成為過眼雲煙,不會對你時下的生活產生任何影響,即便記得又有何妨? 只要你「不在乎」,你就能包容一切,所有在你生命中發生過的輝煌或悲慘的經歷就都變成「中性事件」,在你腦中的只是一個記載、一段歷史而已。 做到「不在乎」可比「忘記」要容易得多了!你不必有很大的智慧,只要「心胸寬大」,就一定能夠「不在乎」。 人之所以會「在乎」,常常是出於「主觀意識」過強,心態上就會「斤斤計較」。如果能夠跳出主觀,客觀地看問題,就不難瞭解到,其實「在乎」與「不在乎」實質上並無太大差別,那又何必「在乎」? 「不在乎」也是道家那種「海闊天空」、「失之東隅,得之桑榆」的情懷。我們不必「忘記」,多讀讀「老子」就可以了!

康博士專欄: 近朱學赤,近墨不黑

近朱學赤,近墨不黑            文:康哲行 (2011/08/04) 一篇網路流傳的文章說:「 和不一樣的人在一起,就會有不一樣的人生 。和勤奮的人在一起,你不會懶惰;和積極的人在一起,你不會消沈;與智者同行,你會不同凡響;與高人為伍,你能登上巔峰。在現實生活中,你是誰並不重要,重要的是你和誰在一起。你該要學最好的別人,做最好的自己;借人之智,成就自己,此乃成功之道。」 接著又說:「生活中最不幸的是:由於你身邊缺乏積極進取的人,缺少遠見卓識的人,使你的人生變得平平庸庸,黯然失色。」 筆者在網路上多次收到這篇文章,可見它流傳之廣,及深受讀者的喜愛與認同。其實,這篇文章的要義,是把一句「近朱者赤,近墨者黑」的古諺加以強化和發揮。告訴你「近朱」有哪些好處,「近墨」又有哪些壞處。 以偏蓋全的說法 這句「近朱者赤,近墨者黑」的古諺本來只是一句「客觀陳述」,許多古人成功或失敗的例子都可以支持它的成立。但是,該作者的這段文字卻進一步把它做了「主觀引導」,甚至強調說:如果你不能「近朱」,甚至是在「近墨」,就注定會有一個失敗的人生;像這樣的說法是以偏蓋全的。 沒錯, 人的一生,有幸能遇到「良師、益友」,他們都是你生命中的「貴人」,會給你莫大的助力,加速你的成功。 但是, 在人生路上,「良師、益友」不是你想要就能夠得到,而是「可遇而不可求的」。而且, 成功之道不只一途,人生不是只有像該作者所認定的「和誰在一起就決定了你的人生」那種單一選項。 即使你得「貴人」相助,還要看你自己是否成材。歷史上劉備的兒子劉禪,雖得賢相如諸葛亮之助,仍是「扶不起的阿斗」。 當你無法覓得良師益友時又該如何呢?就蹉跎一生而鬱鬱以終嗎?其實,你還有許多其他的選項,例如:以無比的毅力獨自學習,獨立創業。只要你根據個人性向選對方向,發揮潛能,努力不懈,最後仍然可以獲得成功。 如果你是「千里駒」之材,即使遇不到伯樂,無法登峰造極;但你仍舊是千里駒,靠一己之力,仍舊可以飛黃騰達,只是你的成就可能略為遜色而已。 近朱學赤,近墨不黑 另外,這句「近朱者赤,近墨者黑」的古諺所述說的狀態基本上是「被動」的。筆者認為,我們應該要化「被動」為「主動」,把它改成「 近朱學赤,近墨不黑 」 才對。 關於「近朱學赤」,重點是當你有機會遇到良師益友,就要主動學習他們的長處。該文的作者在這方面已經多所著

康博士專欄: 幸福就在當下

幸福就在當下                          文:康哲行 (2001/5/18) 只有當下是你未來生命中最年輕、最具活力的時刻 所以,只在當下你有最旺盛的腦力和體能去體驗生活 如果你有這樣的體會,當下的你就是最幸福的你 活在當下 到處都聽到有人在提倡「活在當下」,你聽到的都不外乎要你「不要活在過去,不要活在未來,要把握真實的現在。」 不管別人怎麼說,你也許覺得這些「活在當下」的觀念都太抽象,總是叫人摸不著邊際,也不知道怎麼做才算活在當下。 其實,「活在當下」的真義非常簡單,就是要你把生活中的每一個片段都過得深具意義,不枉費任何「當下」的時刻。具體地說,也就是要你做任何事情都要「專注」,工作時要「敬業」,學習時要「認真」,遊戲時要「盡興」,務必要使每一個片刻都成為「真實的剎那」。 當下的幸福 「活在當下」這個題目似乎非常嚴肅,好像你非得兢兢業業地去做才行。其實,「活在當下」也有它輕鬆愉快的一面,那也就是我們目前的主題。說「活在當下」,就是要告訴你當下就有你要找的幸福;幸福就在眼前,實在不必遠求。 你必須瞭解,幸福就在當下,因為只有當下是你未來的數十年生命中最年輕、最具活力的時刻;只有當下你有最旺盛的腦力和體能去體驗生活,去做你最想做的事。如果你有這樣的體會,當下的你是否就是最幸福的你呢? 一直到現在,你或許都四肢俱全、耳聰目明、行動敏捷,能夠有本錢去享受豐盛的生命,這是否是非常值得慶賀的事呢? 如果你已超過成長的歲月,你的體能已超過顛峰而日走下坡,過去的你已經不再復返。當你檢視往後的歲月,你就更該慶幸你能及早發現你尚能擁有很多個「當下」,你還有很多的幸福沒有浪費掉。 當下你能做的事 你當珍惜當下。如果你有抱負和理想,就趕快做好規劃,當下就一步一步地去把它實現;如果你醉心於一些高體能活動,例如潛水、跳傘,就要趁你還年輕,在體能允許下趕快去做。 莫等待!人生數十寒暑,轉眼你就到了七老八十,等到腦力和體能都不足時,再想去做年輕時沒做的事,可能就要徒呼負負了。 「當下」真的是最美好的時刻,因為只有在當下你能夠思想、能夠突破、能夠創新、能夠改寫歷史。只有當下你能夠享受感官之樂,能夠爬山、游泳,能夠看一場好球、聽一場美樂。也只有當下你能夠欣賞一部好電影或好小說而深受感

康博士專欄: 說「猜疑」

說「猜疑」                   文:康哲行(2011/08/11) 「猜疑」是一種很壞的負面想法,常是造成一個人不快樂的主要原因。 古語說: 「害人之心不可有,防人之心不可無。」對生性猜疑的人來說,這「防人之心不可無」的下半句就如同「座右銘」一般,使他對自己的「猜疑」有了合理的藉口,而且深信不疑。但是,他卻從不會承認自己是在「猜疑」。 他會認為自己非常聰明,可以「洞察先機」,知人之所不知;而且,可以凡事預作防範,把事情處理得更為完善。 但他想得太多,總是防範得過了頭;就像建立起一座牢籠,把自己深深地關在裡面。雖然動彈不得,卻覺得不這樣做就不舒服,就不安全。 佛家說「貪、嗔、癡、慢、疑」都是人的不良本性,所以一定會有人「生性猜疑」。一個人如果經常在猜疑,就會進一步把「猜疑」變成「壞習慣」。 於是,別人隨便說一句話,善猜疑的人就會「習慣性」地總是「聽者有意」,總會去猜說話人的動機。結果猜了半天,對方未必像他猜的那樣去想,自己卻「無中生有」地氣得半死。 漢朝有個「杯弓蛇影」的故事,就是說一個人「無中生有」地,誤把映入 酒杯 中的弓影當成是蠕動的小蛇,因錯覺而疑神疑鬼,自已驚嚇自已。 「猜疑」使自己不快樂還算事小,有時也會因錯誤判斷而闖下大禍。例如,明朝的末代皇帝崇貞,其實是一個勤奮的皇帝;就是因為生性太多疑,才會錯殺良將袁崇 煥 ,把明朝提早斷送。 善猜疑的人,每天疑神疑鬼、自我設限,不准周遭的人「超越雷池」一步;有人不慎踩線,就被他列入黑名單中。終至他周圍所有的人都變成他眼中的「牛鬼蛇神」,再也沒有半個好人,他也不再有任何朋友。 「猜疑」就像一把熊熊的烈火,燒得他心煩意亂,坐立難安,甚至使他痛不欲生。 仔細檢討一些憤而自殺的例子,本來問題並沒有那麼嚴重,只是當事人自己鑽牛角尖,把問題誇大、複雜化和尖銳化,最後才變得不可收拾。 善猜疑的人都很自卑,覺得人人都瞧不起他, 忽略他,不尊敬他 , 在背後說他的壞話,連看他的眼神也是怪怪的。 他感受到這些痛苦的「果」,但他不會知道,也不會承認「猜疑」就是那個原始的「因」,也就無法自己解救自己。 他也許會向「心靈大師」求救,「心靈大師」會直接告訴他:「世界上沒有人要害你,你所想、所觀察到的一切都是虛構的,都不是真實的。你要原諒所有在你心目中對不起你的人,更要原諒自己的無知。如果你能不斷

康博士專欄: 我是什麼??

「我」是什麼?           文:康哲行 (2011/08/18) 人秉賦著「理性」,是唯一自知其為「生命」的生命物種。(佛洛姆) 「我」是自己最大的敵人,也是自己所有不幸的根源。(拿破崙) 戰勝自己比攻佔一座城池還要偉大。(西諺) 我一直想改變世界,其實唯一須要改變的是我自己。(西諺) 你認真地想過「我是什麼」這個問題嗎? 「我」真的是世界上最奇妙的東西,只要你意識到「自我」的存在,就會發現它和世界一切的事物都處在相對的位置。 你很容易把你看到的、感覺到的,概分為「我」和「非我」兩類。例如:你可以把自身以外的「萬物」都視為「非我」;或者僅把「精神的我」看成是「我」,則自己的身體也屬於「非我」。 感覺不可思議嗎?就讓我們一起來探討,究竟「我」是什麼! 「我思故我在」 「我思故我在」是 法國哲學家、數學家 笛卡爾的名言。意思是說:我能夠思考,證明我是存在的。 「我思故我在」的第一個「我」是「泛我」,指的是你這個人,你的頭腦、身體;第二個「我」才是重點,指的是「自我意識」,是精神的我,非肉體的我。 其中「思」並非一般泛泛的思考(例如:胡思亂想),而是指邏輯、理性思考。另外,從哲學的觀點,「思」也有懷疑和不確定的含意。 如何才能意識到「自我」的存在呢?很簡單,當你在「思考」中具有「自我意識」的時候,就會體會到「自我」的存在。當然,在你「胡思亂想」時是沒有自我意識的,,也不知道「自我」的存在。 有些事件是在「自我意識」的狀態下才能進行的,例如:做有「意識」的深度呼吸(清楚自己的一呼一吸);大聲說出你現在正在做什麼(同時做出一個動作);或做一個必須由「意念」指揮的高難度動作。 我們從這些「意識」導引的動作裡面,就能夠真實地體會到「自我意識」,也就能體會到「自我」的存在。 覺得神奇嗎?不妨試試看! 存在主義 西方的「存在主義 (existentialism)」,主旨在探討「人」存在的意義,要每個人都真誠而勇敢地,選擇成為真正的自己。 「存在主義」強調的,就是要我們清楚自己的抉擇。每個人通過選擇,都可以成就個人心中的最高理想,成為一個真實(虛偽之對)的人。 存在主義者認為: 覺醒 =存在; 存在 =選擇+自由。 也就是說,人一定要在「覺醒」的同時,才清楚瞭解「自我之存在」;然後才能不受干預的「自由選擇」自己的人生。 例如:凡夫俗子隨波逐流,終生「沈睡」,