與其說語言影響思考,不如說不同語言中就該用不同的方法做事

前陣子被同事抓出來一段 code 有些問題。

我之前有一段 code,由於開始的時候對於整個程式的流程應該怎麼做不怎麼有把握,所以先用 Python 寫了 POC,覺得沒什麼問題之後,才用 Objective-C 重寫。裡頭有一段是這樣:我有兩個 array(當然,在 Python 裡頭用的是 list),叫做 a1 與 a2 好了,裡頭都是一堆字串,而我現在要把 a1 中拿掉所有出現在 a2 的內容;用 Python 想事情,自然就會想到使用 list comprehension 或是呼叫 filter()。

Continue reading →

在 Mac OS X/iOS 上指定中文排序

前一陣子遇到一個需求:我們現在有一個 array,裡頭是一堆中文字串,現在我們想要讓這些中文字串按照一些個定的中文索引方式排序,像是使用筆劃、拼音…等等。搞了半天,發現只要在 compare 的時候,選擇特定的 NSLocale 就好了,但是蘋果自己的文件中,居然對於有這些 Locale 可以設沒什麼著墨,顯然很多時候光看蘋果的文件是不夠的。

我們先來看段使用筆畫排序的程式碼:

NSArray *a = @[
	@"落魄江湖載酒行",
	@"楚腰纖細掌中輕",
	@"十年一覺揚州夢",
	@"贏得青樓薄倖名"];
NSLocale *strokeSortingLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh@collation=stroke"];
a = [a sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
	return [obj1 compare:obj2 options:0 range:NSMakeRange(0, [obj1 length]) locale:strokeSortingLocale];
}];
for (NSString *s in a) {
	NSLog(@"%@", s);
}

Continue reading →

牛肉麵應該如何稱呼

《蘋果日報》刊載了一篇東吳大學曾泰元副教授的投書〈談談滷肉飯的英譯〉,裡頭提到:

事實上,更極端作法就翻成lu rou fan,這強調文化主體性,這在跨文化的詞彙翻譯裡常見,然而國人自信心不足,總覺得要「道地的英文」才有檔次,因此先天上加以排斥。

這種排斥心理表現地最明顯的,我想莫過於在牛肉麵上頭。過去幾年台北市舉辦牛肉麵節,將牛肉麵直接音譯成 New Row Mian,就引來不少笞罰;說,直接寫 New Row Mian,外國人看不懂,想要舉辦一個國際性的活動,怎麼可以弄一個外國人看不懂的名字呢?

那牛肉麵應該叫什麼呢?牛肉是 Beef,麵是 Noodle,牛肉麵當然應該叫做 Beef Noodle,對吧?

Continue reading →