我當信息圖書的兼職翻譯者,已經有好長的一段時間了。我覺得,在信息產業當一個譯者需要有三種技能:
第一:英文能力
第二:中文能力
第三:專業能力
專業能力會影響對于文章的理解,所以專業能力不足的人,即使英文能力很好,可能無法很好地理解原文。中文寫作能力不好的人,即使英文能力和專業能力都很好,也無法很流暢地用中文表達出來。英文能力不好的人,即使中文能力和專業能力都很好,可能一開始就無法很好地理解原文。
如果你問起這三者何者較重要,我認為依序是:專業能力大于中文能力大于英文能力。英文的聽說讀寫不用樣樣精通,只要看得懂基本的英文句子就可以,反正隨時可以查字典。中文能力就比英文能力重要了,表達成中文句子時,需要信、雅、達。而專業能力又比中文能力重要一些,特別是在文章的技術門坎很高時。
而軟件的遷徙( migration )也和翻譯文章相彷佛。由于信息產業變動很快,技術改朝換代是常有的事。有時候我們想把舊技術換到新一代的技術(例如 Visual Basic 到 Visual Basic .NET ),有時候我們想把甲公司的技術換到乙公司的技術(例如 Java 到 C# ,或 Visual Basic 到 Java ),這些都算是軟件的遷徙。不管你是從 Visual Basic 遷徙到 Java 或 Visual Basic .NET 或 C# 、或者從 Java 遷徙到 C# ,都必須具備三種能力:
第一:原始語言能力
第二:目標語言能力
第三:專業領域能力
我認為這三者的重要性也是:專業領域能力大于目標語言能力大于原始語言能力。原始語言不需要太精通,只要能看得懂原始語言的程序邏輯就可以,反正隨時可以查原始語言的 API 文件。目標語言能力就比原始語言能力重要了,而且還必須很熟悉目標語言的 API ,這一點非常麻煩,要花很多力氣和時間。專業領域的能力是最重要的,該程序到底是涉及數據庫、圖學、 Web Services… 等,技術人員必須先具備該領域的知識。所以,對于負責進行軟件遷徙的技術人原來說,首重目標語言能力和專業領域能力。
軟件遷徙的工作,如果需要技術人員一行一行地轉換,就太辛苦了。所幸,市場上有許多工具可以幫忙轉換,但是這樣的轉換工具并不能讓我們高枕無憂,他們通常具有下面的特色:
? 通常能很完整的轉換程序語言的邏輯
? 通常者能轉換一部份的 API
? 通常不能轉換編程模型,與系統架構
也因此,軟件遷徙的難度頗高,必須審慎評估。甚至許多人為,重寫一套會更簡單。評估軟件遷徙若有確切的必要性之后,除了擇定工具之外,也可以尋求技術顧問公司的服務。例如 ArtinSoft 就有提供 Java 轉 .NET 的技術服務。
軟件的遷徙絕對不是一件簡單的事。我最近動手進行了一些例子,發現這需要高度的能力,也需要許多人投入。絕對是一件苦差事!