對(duì)比于其他語(yǔ)言的程序,Go語(yǔ)言的跨平臺(tái)能力是真的強(qiáng),拿.Net和JAVA來說吧,.Net在.Net core出現(xiàn)之前是不能跨平臺(tái)的,只能在windows上編譯運(yùn)行,即使是.net core出現(xiàn)以后,跨平臺(tái)的程序也是相當(dāng)?shù)穆闊6鴍ava雖然一直都可以跨平臺(tái),但是運(yùn)行JAVA程序的機(jī)器上也必須要有JAVA程序運(yùn)行環(huán)境JRE。而相對(duì)于Go程序,跨平臺(tái)就簡(jiǎn)單的多了,只需要在編譯指定目標(biāo)程序運(yùn)行的架構(gòu)和環(huán)境即可編譯出指定操作系統(tǒng)和架構(gòu)的程序。

敘永ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
以上是指定了go的環(huán)境變量后執(zhí)行的go build命令進(jìn)行目標(biāo)程序的構(gòu)建,這種方式會(huì)一直生效的,如果不讓他一直生效,可以在構(gòu)建的時(shí)候臨時(shí)指定環(huán)境變量,下面以window的環(huán)境為例,來介紹臨時(shí)指定環(huán)境變量的方式構(gòu)建可以在Linux環(huán)境下運(yùn)行的可執(zhí)行程序:
可以根據(jù)不同的架構(gòu)和操作系統(tǒng)將其編寫為不同的.bat的可執(zhí)行文件放置在程序的根目錄,Linux的和MAC的也一樣編寫成腳本文件放置在程序的根目錄,這樣在構(gòu)建的時(shí)候就不用再敲命令了,直接運(yùn)行腳本就可以了。
Java程序編譯打包后為war包或者是java包,必須執(zhí)行java -jar 命令或者將其放置到tomcat的指定目錄下,運(yùn)行tomcat程序。而Go語(yǔ)言編寫的程序最終為可執(zhí)行的文件(window下編譯出的是.exe的可執(zhí)行文件),只需要將其賦予可執(zhí)行的權(quán)限就可以直接運(yùn)行了。
構(gòu)建JAVA程序的鏡像需要指定java的基礎(chǔ)鏡像,否則就需要在鏡像中安裝java的運(yùn)行環(huán)境了,下面展示的是構(gòu)建的一個(gè)JAVA程序的鏡像,構(gòu)建出來鏡像的體積相對(duì)比較大
而Go程序制作出的鏡像就不需要安裝任何的依賴環(huán)境,因?yàn)樗诖虬臅r(shí)候就已經(jīng)將依賴的包一塊打包到一起了
拿著這個(gè)鏡像就可以到處運(yùn)行了。
通過對(duì)比我們可以發(fā)現(xiàn),如果沒有之前的技術(shù)和業(yè)務(wù)的積累,重新開發(fā)一個(gè)新的項(xiàng)目,使用go去開發(fā)無疑是最容易上手的,所以現(xiàn)在很多公司都使用go進(jìn)行開發(fā),也逐漸將其他語(yǔ)言的項(xiàng)目逐步的用go語(yǔ)言進(jìn)行改造。其實(shí)用什么語(yǔ)言不重要,合適的才重要,開發(fā)項(xiàng)目在選擇語(yǔ)言的時(shí)候也會(huì)綜合多方面來考慮選擇合適的語(yǔ)言和架構(gòu),畢竟很多公司都不是搞研究的,都需要項(xiàng)目來賺錢,所以開發(fā)的速度、客戶的滿意度、項(xiàng)目交付的時(shí)間才是驅(qū)動(dòng)公司技術(shù)的主要因素。
我們個(gè)人也應(yīng)該不斷完善自己的技術(shù)棧,不應(yīng)該太依靠某種語(yǔ)言,最重要的還是自己的架構(gòu)思想和底層架構(gòu)知識(shí),只有掌握了這些才能夠不被 社會(huì) 和公司“優(yōu)化”。
一.語(yǔ)言遷移概述
遷移(transfer)原是一個(gè)心理學(xué)術(shù)語(yǔ),是指一種學(xué)習(xí)對(duì)另一種學(xué)習(xí)的影響,即已獲得的知識(shí)、技能和態(tài)度等對(duì)學(xué)習(xí)新知識(shí)、新技能和解決新問題所產(chǎn)生的影響。隨后,在20世紀(jì)40~50年代,F(xiàn)ries和Lado將遷移這一術(shù)語(yǔ)應(yīng)用于語(yǔ)言學(xué)研究,用來指 “一種語(yǔ)言對(duì)學(xué)習(xí)另一種語(yǔ)言產(chǎn)生的影響” (即language transfer,語(yǔ)言遷移,又叫母語(yǔ)遷移)(Longman Dictionary of Language Teaching and Applied Linguistics:1992)。這種影響在二語(yǔ)習(xí)得中表現(xiàn)為:(1)正遷移(positive transfer),指母語(yǔ)(native language,)與目標(biāo)語(yǔ)(target language)的相同之處會(huì)促進(jìn)目標(biāo)語(yǔ)學(xué)習(xí); (2)負(fù)遷移(negative transfer),即母語(yǔ)干擾,“主要由于母語(yǔ)和目標(biāo)語(yǔ)的某些形式和規(guī)則系統(tǒng)不同而被學(xué)習(xí)者誤以為相同所致”(唐承賢:1997)。通俗的說,在第二語(yǔ)言習(xí)得中那些與母語(yǔ)有相似之處的知識(shí)比較容易學(xué)得,反之那些與母語(yǔ)有不同之處的知識(shí)則產(chǎn)生混淆難以學(xué)得(Lado:1957)。
中國(guó)學(xué)生學(xué)習(xí)英語(yǔ)是在基本掌握母語(yǔ)的基礎(chǔ)上進(jìn)行的,因而不可避免的受到母語(yǔ)及其他知識(shí)經(jīng)驗(yàn)的影響。要科學(xué)合理地解釋中國(guó)學(xué)生學(xué)習(xí)英語(yǔ)的認(rèn)知心理過程就必須考慮母語(yǔ)遷移這一關(guān)鍵問題(Gass Selinker:1992)。
二.英語(yǔ)語(yǔ)法教學(xué)中的母語(yǔ)遷移現(xiàn)象
對(duì)于母語(yǔ)在二語(yǔ)習(xí)得中所扮演的角色,德國(guó)英語(yǔ)教學(xué)法教授Butzkamm有一個(gè)十分恰當(dāng)?shù)谋扔鳎骸澳刚Z(yǔ)不是一件外衣,學(xué)習(xí)者在踏進(jìn)外語(yǔ)教室之前可以將其脫下,棄之門外”(轉(zhuǎn)引自郭銘華:2002)。這個(gè)比喻告誡我們:母語(yǔ)遷移是第二語(yǔ)言習(xí)得過程中不可避免的現(xiàn)象。對(duì)這種現(xiàn)象,我們不能簡(jiǎn)單的對(duì)其進(jìn)行回避,要承認(rèn)它的存在。既要看到它阻礙干擾外語(yǔ)學(xué)習(xí)的一面,同時(shí)也要認(rèn)識(shí)它對(duì)外語(yǔ)學(xué)習(xí)的積極促進(jìn)作用。在母語(yǔ)已先入為主的前提下,外語(yǔ)學(xué)習(xí)不可避免地受到母語(yǔ)的影響。在外語(yǔ)學(xué)習(xí)的初始階段,人們總是借助于一定的漢語(yǔ)知識(shí)對(duì)所學(xué)習(xí)的外語(yǔ)進(jìn)行加工、處理,以便理解及儲(chǔ)存。毋庸置疑,在學(xué)習(xí)英語(yǔ)語(yǔ)法時(shí),漢語(yǔ)語(yǔ)法知識(shí)對(duì)學(xué)生理解掌握英語(yǔ)語(yǔ)法也存在著影響。
(一)正遷移——漢語(yǔ)語(yǔ)法知識(shí)促進(jìn)英語(yǔ)語(yǔ)法學(xué)習(xí)
奧蘇泊爾的同化理論指出:學(xué)習(xí)是在舊知識(shí)基礎(chǔ)上建構(gòu)新知識(shí)的過程,即利用原有認(rèn)知結(jié)構(gòu)中的知識(shí)理解、消化、吸收、掌握新知識(shí)的過程。[①]不言而喻,中國(guó)學(xué)生在進(jìn)行英語(yǔ)語(yǔ)法學(xué)習(xí)時(shí),認(rèn)知結(jié)構(gòu)中原有的部分漢語(yǔ)語(yǔ)法知識(shí)可以加速他們對(duì)英語(yǔ)語(yǔ)法的理解和掌握。對(duì)比漢英兩種語(yǔ)法,它們之間的許多共性可以促進(jìn)英語(yǔ)語(yǔ)法學(xué)習(xí)正遷移的發(fā)生。如,漢語(yǔ)語(yǔ)法系統(tǒng)的構(gòu)成就是一個(gè)鮮明的例子。如下圖:
漢語(yǔ)四級(jí)語(yǔ)法單位及其相互聯(lián)系示意圖
從上圖中可以觀察到漢語(yǔ)語(yǔ)法系統(tǒng)的構(gòu)成特點(diǎn):語(yǔ)素到詞、詞到短語(yǔ)兩個(gè)過程是構(gòu)成關(guān)系,而短語(yǔ)到句子、詞到句子之間則是實(shí)現(xiàn)關(guān)系。英語(yǔ)語(yǔ)法系統(tǒng)的構(gòu)成和其組成部分相互之間的聯(lián)系也是相似的。
西方傳統(tǒng)語(yǔ)言學(xué)認(rèn)為,語(yǔ)法包括詞法和句法兩個(gè)大的方面。下面試從這兩方面說起:
1.詞法舉例
從漢字的構(gòu)造來看,大部分漢字由部首和筆畫組合而成。部首是具有字形歸類作用的表意偏旁,它按照漢字的形體結(jié)構(gòu)取其相同部分排列在一起,以供檢字之用。如在漢語(yǔ)詞典中,一般將諸如“楊”、“松”、“柳”、“柏”等字放在“木”部。這不僅方便了我們的檢索,而且給我們一個(gè)直觀的感受,這些字所表達(dá)的意義都與樹木相關(guān)。即使我們不認(rèn)識(shí)其中某個(gè)字,我們也可大膽的進(jìn)行一些合理的推斷。我們常說的“認(rèn)字認(rèn)半個(gè)”就是這個(gè)原因。在英語(yǔ)單詞的構(gòu)成中,同樣也可找到類似的一些例子。如,把“work”、“teach”、“sing”、“drive”等動(dòng)詞變?yōu)橄鄳?yīng)的名詞分別為“worker” 、“teacher”、“singer”、“driver”。后綴“-er”表明這些詞都與“…人”或“…家”有關(guān)。在“telegraph”、“telephone”、“television”、“telegram”、“telegraphic”和“telecommunication”等單詞中,前綴“tele-”表明它們都與“電視”、“電信”有關(guān)。顯然,漢語(yǔ)中的“木”部與英語(yǔ)中的后綴“-er” 以及前綴“tele-”都有表意的功能。
對(duì)照漢英詞的構(gòu)成,我們發(fā)現(xiàn)他們之間也存在一定的共性。其中,最典型的是合成詞的構(gòu)成。如:月+餅→月餅(moon+cake→mooncake),生+日→生日(birth+day→birthday),紙+袋→紙袋(paper+bag→paperbag),藥+房→藥房(drugstore→drugstore),超+市→超市(super+market→supermarket)鐵+路→鐵路(rail+way→railway)等。這些漢英詞的組合方式都是相同的:A+B→AB,而且都屬于偏正結(jié)構(gòu)類型。另外,漢英兩種語(yǔ)言中的縮略語(yǔ)的構(gòu)成方式方面也存在相似之處。如:家用電器→家電,環(huán)境保護(hù)→環(huán)保,外交部長(zhǎng)→外長(zhǎng),保證價(jià)值→保值,安全理事會(huì)→安理會(huì)等。在英語(yǔ)中,為了便于書寫和交流,人們常常采用首字母縮略法把很長(zhǎng)的詞組(或單詞)縮短形成首字母縮略詞。例如:將“Central Intelligence Agency”縮寫為“CIA”, “ United Nations Educational, Scientific, and Cultural Organization”縮寫為“UNEDU”, “acquired immune deficiency syndrome” 縮寫為“Aids”, “radio detecting and ranging”縮寫為“Radar”(雷達(dá))等等。
此外,從定語(yǔ)修飾名詞的情況來看,漢英兩種語(yǔ)言都具有遞歸性(指某種語(yǔ)法規(guī)則在同一個(gè)句法結(jié)構(gòu)體的構(gòu)造過程中可以重復(fù)使用,從而使這個(gè)結(jié)構(gòu)體由短變長(zhǎng),由簡(jiǎn)到繁的現(xiàn)象)。如“two new beautiful green silk evening dress” 兩件又新又漂亮的絲綢晚禮服,“that hungry, tired, sleepy little match girl” 那個(gè)饑餓、疲勞、困倦的賣火柴的小女孩, “an old large brick dining hall” 一個(gè)舊的紅磚砌的大餐廳。顯而易見,在漢英兩種語(yǔ)言中,多個(gè)定語(yǔ)修飾名詞大都遵循近似相同的順序。
2.句法舉例
在探討這個(gè)問題之前,我們首先通過成分分析法來簡(jiǎn)要分析一下下面的兩個(gè)例句。
以上兩幅樹形圖不僅清楚地顯示了漢英兩種語(yǔ)言陳述句的橫向結(jié)構(gòu),而且還揭示了它們的縱向結(jié)構(gòu)。通過對(duì)比,我們可以從中發(fā)現(xiàn),漢英兩種語(yǔ)言的陳述句都由主語(yǔ)(NP)和謂語(yǔ)(VP)兩部分構(gòu)成,基本語(yǔ)序均為主語(yǔ)+謂語(yǔ)+賓語(yǔ)(S+V+O)。掌握了這一點(diǎn),對(duì)于我們學(xué)習(xí)英語(yǔ)簡(jiǎn)單句的五種基本類型大有裨益。我們完全可以用漢語(yǔ)語(yǔ)法來對(duì)這幾種句式進(jìn)行闡釋:a)不及物動(dòng)詞式:S-V(主語(yǔ)—謂語(yǔ)),如:She died. b)及物動(dòng)詞式:①S-V-O(主語(yǔ)—謂語(yǔ)—賓語(yǔ)),如:He played football;②S-V-DO-IO(主語(yǔ)—謂語(yǔ)—直接賓語(yǔ)—間接賓語(yǔ)),如:I gave her a book;③S-V-O-OC(主語(yǔ)—謂語(yǔ)—賓語(yǔ)—賓語(yǔ)補(bǔ)足語(yǔ)),如:My uncle made his son laugh. c)系動(dòng)詞式:S-V-P(主語(yǔ)—謂語(yǔ)—主語(yǔ)補(bǔ)足語(yǔ)),如:Tom is a doctor.和 The trees become green.
我們?cè)跐h語(yǔ)學(xué)習(xí)中經(jīng)常會(huì)遇到一些特殊句式,諸如“把”字句、“被”字句。如:
(1)“把”字句
① 我把錢丟了。② 小王把鋼筆摔壞了。(2)“被”字句
① 他被同伴打了一頓。② 他被打了一頓。
上述例句,對(duì)于我們中國(guó)學(xué)生是比較容易理解的。“把”字句的作用是突出動(dòng)作的發(fā)出者,表示一種主動(dòng)關(guān)系。“被”字句的作用是強(qiáng)調(diào)動(dòng)作的承受者,表示一種被動(dòng)動(dòng)關(guān)系。無獨(dú)有偶,英語(yǔ)語(yǔ)法同樣存在這種情況,即主動(dòng)語(yǔ)態(tài)(the active voice)和被動(dòng)語(yǔ)態(tài)(the passive voice)。如果主語(yǔ)是動(dòng)作的發(fā)出者,使用主動(dòng)語(yǔ)態(tài);反之主語(yǔ)是動(dòng)作的承受者則用被動(dòng)語(yǔ)態(tài)。如:①M(fèi)any people speak English.(主動(dòng)語(yǔ)態(tài))②English is spoken by many people.(主動(dòng)語(yǔ)態(tài))顯然,漢語(yǔ)語(yǔ)法中的“把”字句、“被”字句知識(shí)可以幫助我們更加有效的學(xué)習(xí)英語(yǔ)語(yǔ)法中的主動(dòng)、被動(dòng)語(yǔ)態(tài)知識(shí)。
(二)負(fù)遷移——漢語(yǔ)語(yǔ)法知識(shí)阻礙英語(yǔ)語(yǔ)法學(xué)習(xí)
從英漢差異的角度來看,漢語(yǔ)(屬于漢藏語(yǔ)系,Sino-Tibetan Family)是離印歐語(yǔ)言譜系較遠(yuǎn)的一種語(yǔ)言, 必然給以漢語(yǔ)為母語(yǔ)的二語(yǔ)/外語(yǔ)學(xué)習(xí)者的學(xué)習(xí)過程和規(guī)律帶來不少特殊的問題。[②]
1.詞法舉例
以下是在英語(yǔ)學(xué)習(xí)的初級(jí)階段,我們經(jīng)常看到的一些病句:
(1)I have three apple.(我有三個(gè)蘋果)
(2)He get up at six every morning.(他每天早晨六點(diǎn)起床)
(3)Tom father is a doctor.(湯姆的爸爸是醫(yī)生)
類似上面的語(yǔ)法錯(cuò)誤,在我們的英語(yǔ)教學(xué)的初級(jí)階段是十分常見的。Corder(1971)把這種錯(cuò)誤稱為語(yǔ)際錯(cuò)誤(interlingual),指由母語(yǔ)的語(yǔ)言規(guī)則特征干擾造成的目標(biāo)語(yǔ)使用錯(cuò)誤。[③]無庸贅述,英語(yǔ)是一種有詞形變化的形合語(yǔ)言,通過添加屈折詞綴(如在單數(shù)第三人稱后面加 ‘s’)以指示數(shù)(number)、人稱(person)、體(aspect)和格(case)等語(yǔ)法關(guān)系。而在漢語(yǔ)語(yǔ)法中,卻不存在這種情況。學(xué)生在學(xué)習(xí)新的英語(yǔ)語(yǔ)言規(guī)則時(shí),來自母語(yǔ)的影響不可避免,這種影響最終導(dǎo)致了錯(cuò)誤的發(fā)生。
2.句法舉例
下面同樣是在英語(yǔ)學(xué)習(xí)的初級(jí)階段,我們經(jīng)常看到的一些病句:
(1) I tomorrow will go to school. (我明天要去學(xué)校)
(2) They in that factory work. (他們?cè)谀羌夜S上班)
(3) Tom in Chinese sang songs. (湯姆用漢語(yǔ)唱歌)
對(duì)于英語(yǔ)初學(xué)者來說,出現(xiàn)上述錯(cuò)誤是相當(dāng)正常的。把上述英語(yǔ)病句和漢語(yǔ)相比較,我們發(fā)現(xiàn)這些病句跟漢英兩種語(yǔ)言結(jié)構(gòu)上的差異有關(guān)。比如,時(shí)間狀語(yǔ)所處的位置,漢英兩種語(yǔ)言就存在著較大差別:在漢語(yǔ)中,時(shí)間狀語(yǔ)一般位于句首或謂語(yǔ)動(dòng)詞前;在英語(yǔ)中,它處在句首或句末。另外,地點(diǎn)狀語(yǔ)和方式狀語(yǔ)在兩種語(yǔ)言中的位置也是不同的:地點(diǎn)狀語(yǔ)和方式狀語(yǔ)在漢語(yǔ)中常位于謂語(yǔ)動(dòng)詞前;在英語(yǔ)中,它們處在句末。
在疑問句方面,漢語(yǔ)疑問句保持陳述句語(yǔ)序的特征也影響英語(yǔ)疑問句的學(xué)習(xí)。如:在漢語(yǔ)中,“他喜歡吃蘋果。”變?yōu)橐话阋蓡柧涫恰八矚g吃蘋果嗎?”。如果我們直接套用漢語(yǔ)模式,“He likes apples.” 的一般疑問句形式則為 “He likes apples?”。顯然,這是錯(cuò)誤的。正確的做法是:借助助動(dòng)詞 “does”,去掉“l(fā)ikes”的“s”,句末用“?”。即“Does he like apples?”。 類似同樣的語(yǔ)序錯(cuò)誤在英語(yǔ)特殊疑問句的學(xué)習(xí)中也很常見。如:“You are looking for who?”(你找誰(shuí)?); “You every night when go to bed?”(你每天晚上什么時(shí)候睡覺?)。將這些英漢句子組成成分的順序進(jìn)行對(duì)比,發(fā)現(xiàn)錯(cuò)誤來自于漢語(yǔ)疑問句語(yǔ)序的影響。在漢語(yǔ)中,疑問句的語(yǔ)序基本上和陳述句的語(yǔ)序一致(SVO)。而正是這一特征對(duì)我們學(xué)習(xí)英語(yǔ)疑問句產(chǎn)生了干擾,母語(yǔ)出現(xiàn)了負(fù)遷移,導(dǎo)致了習(xí)得困難。
此外,我們還應(yīng)特別注意漢英兩種語(yǔ)言中的偏正結(jié)構(gòu)。如:
(1)The man who I talked with is our teacher.1
(和我談話的人是我們的老師。)
(2)This recorder which he is using is made in Japan.
(他用的錄音機(jī)是日本制造的。)
(3)I want to buy something to eat.
(我想買點(diǎn)吃的東西。)
(4)The person sitting in front of him is Jack.
(坐在他前面的人是杰克。)
在漢語(yǔ)中,修飾名詞的定語(yǔ)成分一般位于該詞的前面。英語(yǔ)則將其置后,諸如定語(yǔ)從句、動(dòng)詞不定式、分詞等。
上述語(yǔ)言學(xué)習(xí)問題,F(xiàn)ries在Linguistics Across Culture (Lado:1957)一書的序言中曾有精辟的闡述:“學(xué)習(xí)第二語(yǔ)言和學(xué)習(xí)第一語(yǔ)言是很不一樣的任務(wù),其基本的問題的產(chǎn)生不是由于新語(yǔ)言的特點(diǎn)本身帶來的必不可少的困難,而主要是由于第一語(yǔ)言習(xí)慣所造成的定勢(shì)。”[④]在學(xué)習(xí)過程中,定勢(shì)可能促進(jìn)學(xué)習(xí)遷移,也可能干擾學(xué)習(xí),產(chǎn)生負(fù)遷移。作為英語(yǔ)教師,我們應(yīng)該看到漢英兩種語(yǔ)言語(yǔ)法之間的異同,同時(shí)給予學(xué)生適當(dāng)強(qiáng)化訓(xùn)練,以便促使學(xué)生真正將其理解和掌握。
結(jié)語(yǔ)
母語(yǔ)遷移是由于學(xué)習(xí)者受到目的語(yǔ)和母語(yǔ)之間的相似或差異所產(chǎn)生的影響。[⑤]這種現(xiàn)象在語(yǔ)言教學(xué)中普遍存在,不容忽視、回避。從整個(gè)英語(yǔ)學(xué)習(xí)的過程來看,中國(guó)英語(yǔ)教學(xué)必經(jīng)兩個(gè)階段:從以漢語(yǔ)為工具學(xué)習(xí)英語(yǔ)的初級(jí)階段,逐步過渡到以英語(yǔ)語(yǔ)言為工具學(xué)習(xí)英語(yǔ)的高級(jí)階段。[⑥]無論在那一階段,或多或少都存在母語(yǔ)遷移。如何有效利用、控制母語(yǔ)遷移,提高英語(yǔ)教學(xué)效率,是我們英語(yǔ)教學(xué)必須應(yīng)對(duì)的一個(gè)挑戰(zhàn)。他山之石,可以攻玉。作為教育者,我們應(yīng)該深入挖掘英漢兩種語(yǔ)言的共同要素,以便促進(jìn)學(xué)生在英語(yǔ)學(xué)習(xí)中掌握語(yǔ)法規(guī)律,英語(yǔ)教學(xué)效率定會(huì)有所提高。
注釋:
[①]參見皮連生.學(xué)與教的心理學(xué)[M].上海:華東師范大學(xué)出版社,2000:116.
[②]戴煒棟,周大軍.中國(guó)的二語(yǔ)習(xí)得研究:回顧、現(xiàn)狀與前瞻[J].外國(guó)語(yǔ),2005(5).
[③]楊連瑞,張德祿.二語(yǔ)習(xí)得研究與中國(guó)外語(yǔ)教學(xué)[M].上海:上海外語(yǔ)教育出版社,2007:254.
[④]楊連瑞,張德祿.二語(yǔ)習(xí)得研究與中國(guó)外語(yǔ)教學(xué)[M].上海:上海外語(yǔ)教育出版社,2007:103-104.
[⑤]石蘊(yùn)珍,王穎.從認(rèn)知角度談?wù)Z言遷移與對(duì)外漢語(yǔ)教學(xué)[J].遼寧教育行政學(xué)院報(bào),2009(10):108.
[⑥]馬力達(dá),周秀蘭.從英漢差異及語(yǔ)言遷移透視英語(yǔ)教學(xué)[J]. 遼寧工業(yè)大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2008(10):119.
參考文獻(xiàn):
[1]彭聘齡.普通心理學(xué)[M].北京:北京師范大學(xué)出版社.2004.
[2]陳琦.劉儒德.當(dāng)代教育心理學(xué)[M].北京:北京師范大學(xué)出版社.2007.
[3]皮連生.學(xué)與教的心理學(xué)[M].上海:華東師范大學(xué)出版社.2000.
[4]楊連瑞,張德祿.二語(yǔ)習(xí)得研究與中國(guó)外語(yǔ)教學(xué)[M].上海:上海外語(yǔ)教育出版社,2007.
[5]黃伯榮,廖序東.現(xiàn)代漢語(yǔ)[M].北京:高等教育出版社,2007.
[6]勞允棟.英漢語(yǔ)言學(xué)詞典[M].北京:商務(wù)印書館.2005.
[7]中國(guó)社會(huì)科學(xué)院語(yǔ)言研究所.現(xiàn)代漢語(yǔ)詞典[M].北京:商務(wù)印書館. 1983.
[8]韋邁爾(英).牛津高階英語(yǔ)詞典(第七版,英語(yǔ)版)[M].北京:商務(wù)印書館.2003.
[9]薄冰.高級(jí)英語(yǔ)語(yǔ)法[M].北京:高等教育出版社.2000.
[10]Rodney Huddleston, Geoffrey K. Pullum.劍橋?qū)W生英語(yǔ)語(yǔ)法(英文版)[M].北京:外語(yǔ)教育與研究出版社.2008.
[11]孟凡勝.英語(yǔ)語(yǔ)法教程[M].青島:青島海洋大學(xué)出版社.2000.
[12]石蘊(yùn)珍,王穎.從認(rèn)知角度談?wù)Z言遷移與對(duì)外漢語(yǔ)教學(xué)[J].遼寧教育行政學(xué)院報(bào),2009(10).
[13]馬力達(dá),周秀蘭.從英漢差異及語(yǔ)言遷移透視英語(yǔ)教學(xué)[J]. 遼寧工業(yè)大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2008(10).
Abstract:Language transfer is an effect which is caused by similarities or differences between native language and target language of a language learner. The phenomenon commonly exists in the process of SLA. Language transfer divides into positive transfer and negative transfer, according to the effects of native language in SLA. Positive transfer may help language learners to accelerate the speed of learning target language. Negative transfer may disturb or make difficulties for learning target language. Through examples, the paper discussed the effect of Chinese grammar knowledge to English grammar learning. And the author advocates educators look for the similarities between Chinese and English positively, and which helps students to promote mastery of English grammar rules, and finally improves efficiency of English grammar teaching..
參考資料:洛陽(yáng)師范學(xué)院學(xué)報(bào),2012年第10期
轉(zhuǎn)載請(qǐng)參見文章末尾處的要求。【感謝張佳偉(@ghosert)的熱心翻譯。如果其他朋友也有不錯(cuò)的原創(chuàng)或譯文,可以嘗試推薦給伯樂在線。】這是一篇(長(zhǎng))博文, 介紹了我們?cè)?Repustate 遷移大量 Python/Cython 代碼到 Go 語(yǔ)言的經(jīng)驗(yàn)。如果你想了解整個(gè)故事,背景和所有的事情,請(qǐng)繼續(xù)往下讀。如果你只是想了解 Python 開發(fā)者在一頭扎進(jìn) Go 語(yǔ)言前需要了解什么,請(qǐng)點(diǎn)擊一下鏈接:從Python遷移到Go的建議(Tips Tricks) 背景在Repustate,我們完成過的最棒的技術(shù)成就之一是實(shí)現(xiàn)了阿拉伯語(yǔ)的情感分析。阿拉伯語(yǔ)是一塊難啃的硬骨頭,因?yàn)樗脑~形變化相當(dāng)復(fù)雜。比起譬如英語(yǔ),阿拉伯語(yǔ)的分詞(將一個(gè)句子切分呈幾個(gè)獨(dú)立的單詞)也更困難,因?yàn)榘⒗Z(yǔ)的單詞本身還可能會(huì)包含空白字符(例如:“阿列夫”在一個(gè)單詞里的位置)。這也談不上是泄密,Repustate 使用支持向量機(jī)(SVM)來獲取一個(gè)句子背后最有可能的含義,并在其中加上情感元素。 總體上來說,我們使用了 22 種模型(22 個(gè) SVM) 并且在一篇文檔中,每一個(gè)單詞我們都會(huì)加以分析。因此如果你有一篇 500 字的文檔,那么基于 SVM,會(huì)進(jìn)行十萬次的比較。 PythonRepustate 幾乎完全就是一個(gè) Python 商店。我們使用 Django 來實(shí)現(xiàn) API 和網(wǎng)站。因此(目前)為了保持代碼一致,同時(shí)使用 Python 來實(shí)現(xiàn)阿拉伯語(yǔ)情感引擎是合情合理的。只是做原型和實(shí)現(xiàn)的話,Python 是很好的選擇。它的表達(dá)能力很強(qiáng)悍,第三方類庫(kù)等等也很好。如果你就是為了Web服務(wù),Python 很完美。但是當(dāng)你進(jìn)行低級(jí)別的計(jì)算,大量依賴于哈希表(Python 里的字典類型)做比較的時(shí)候,一切都變慢了。我們每秒能處理大約兩到三個(gè)阿拉伯文檔,但是這太慢了。比較下來,我們的英語(yǔ)情感引擎每秒能處理大約五百份文檔。 瓶頸因此我們開啟了 Python 分析器,開始調(diào)查是什么地方用了那么長(zhǎng)時(shí)間。還記得我前面說過我們有 22 個(gè) SVM 并且每個(gè)單詞都需要經(jīng)過處理嗎?好吧,這些都是線性處理的,非并行處理。所以我們的第一反應(yīng)是把線性處理改成 map/reduce 那樣的操作。簡(jiǎn)單來說:Python 不太適合用作 map/reduce。當(dāng)你需要并發(fā)的時(shí)候,Python 算上好用。在 2013 Python 大會(huì)上(譯者:PyCon 2013),Guido 談到了 Tulip,他的這個(gè)新項(xiàng)目正在彌補(bǔ) Python 這方面的不足,不過得過段一段時(shí)間才能推出,但是如果已經(jīng)有了更好用的東西,我們?yōu)槭裁催€要等呢? 選Go 語(yǔ)言,還是回家算了?我在Mozilla的朋友告訴我,Mozilla 內(nèi)部正在將他們大量的基礎(chǔ)日志架構(gòu)切換到 Go 語(yǔ)言上,部分原因是因?yàn)閺?qiáng)大的 [goroutines]。Go 語(yǔ)言是 Google 的人設(shè)計(jì)的,并且在設(shè)計(jì)之初就把支持并發(fā)作為第一要?jiǎng)?wù),而不是像 Python 的各種解決方案那樣是事后才加上去的。因此我們開始著手把 Python 換成 Go 語(yǔ)言。雖然Go 代碼還不算正式上線的產(chǎn)品,但是結(jié)果非常令人鼓舞。我們現(xiàn)在能做到每秒處理一千份文檔,使用更少的內(nèi)存,還不用調(diào)試你在 Python 里遇到:丑陋的多進(jìn)程/gevent/“為什么 Control-C 殺不了進(jìn)程”這些問題。 為什么我們喜歡 Go 語(yǔ)言任何人,對(duì)編程語(yǔ)言是如何工作(解釋型 vs 編譯型, 動(dòng)態(tài)語(yǔ)言 vs 靜態(tài)語(yǔ)言)有一點(diǎn)理解的話,會(huì)說,“切,當(dāng)然 Go 語(yǔ)言會(huì)更快”。是的,我們也可以用 Java 把所有的東西重寫一遍,也能看到類似更快的改善,但那不是 Go 語(yǔ)言勝出的原因。你用 Go 寫的代碼好像就是對(duì)的。我搞不清楚到底是怎么回事,但是一旦代碼被編譯了(編譯速度很快),你就會(huì)覺得這代碼能工作(不只是跑起來不會(huì)錯(cuò),而且甚至邏輯上也是對(duì)的)。我知道,這聽上去不太靠譜,但是確實(shí)如此。這和 Python 在冗余(或非冗余)方面非常類似,它把函數(shù)作為第一目標(biāo),因此函數(shù)編程會(huì)很容易想明白。而且當(dāng)然,go 線程和通道讓你的生活更容易,你可以得到靜態(tài)類型帶來的性能大提升,還能更精細(xì)的控制內(nèi)存分配,而你卻不必為此在語(yǔ)言表達(dá)力上付出太多的代價(jià)。 希望能早點(diǎn)知道的事情(Tips Tricks)除去所有這些贊美之詞以后,有時(shí)你真的需要在處理 Go 代碼的時(shí)候,相對(duì)于 Python,改變一下思維方式。因此這是我在遷移代碼時(shí)記錄的筆記清單 —— 只是在我把 Python 代碼轉(zhuǎn)換到 Go 時(shí)從我腦子里隨機(jī)冒出來的點(diǎn)子:沒有內(nèi)建的集合類型(必須使用map,并檢查是否存在)因?yàn)闆]有集合,必須自己寫交集,并集之類的方法沒有tuples 類型,必須寫你自己的結(jié)構(gòu),或者使用 slices (即數(shù)組)沒有類似 \__getattr__() 的方法,你必須總是檢查存在性,而不是設(shè)置默認(rèn)值,例如,在 Python 里,你可以這樣寫 value = dict.get(“a_key”, “default_value”)必須總是檢查錯(cuò)誤(或者顯式的忽略錯(cuò)誤)不能有變量/包沒被使用,因此簡(jiǎn)單的測(cè)試也需要有時(shí)注掉一些代碼在[] byte 和 string 之間轉(zhuǎn)換。 regexp 使用 [] byte (不可變)。這是對(duì)的,但是老把一些變量轉(zhuǎn)換來轉(zhuǎn)換去很煩人Python 更寬松。你可以使用超出范圍的索引在字符串里取一個(gè)片段,而且不會(huì)出錯(cuò)。你還可以用負(fù)數(shù)取出片段,但是 Go 不行你不能混合數(shù)據(jù)結(jié)構(gòu)類型。也許這樣也不太干凈,但是有時(shí)在 Python 里,我會(huì)使用值是混合了字符串和列表的字典。但是 Go 不行,你不得不清理干凈你的數(shù)據(jù)結(jié)構(gòu)或者使用自定義的結(jié)構(gòu)不能解包一個(gè) tuple 或者 list 到幾個(gè)不同的變量(例如:x, y, z = [1, 2, 3])駝峰式命名風(fēng)格(如果你沒有首字大寫方法名/結(jié)構(gòu)名,他們不會(huì)被暴露給其它的包)。我更喜歡 Python 的小寫字母加下劃線命名風(fēng)格。必須顯式檢查是否有錯(cuò)誤 != nil, 不像在 Python 里,許多類型可以像 bool 那樣檢查 (0, “”, None 都可以被解釋成 “非” 集合)文檔在一些模塊上太散亂了,例如(crypto/md5),但是 IRC 上的 go-nuts 很好用,提供了巨大的幫助。從數(shù)字到字符串的轉(zhuǎn)換(int64 - string) 和 []byte - string (只要使用 string([]byte))不太一樣。需要使用 strconv。閱讀Go 代碼比起 Python 那樣寫起來如偽代碼的語(yǔ)言更像一門編程語(yǔ)言, Go 有更多的非字母數(shù)字字符,并且使用 || 和 , 而不是 “or”和“and”寫一個(gè)文件的話,有 File.Write([]byte) 和 File.WriteString(string), 這點(diǎn)和 Python 開發(fā)者的 Python 之道:“解決問題就一種方法 ”相違背。修改字符串很困難,必須經(jīng)常重排 fmt.Sprintf沒有構(gòu)造函數(shù),因此慣用法是創(chuàng)建 NewType() 方法來返回你要的結(jié)構(gòu)Else (或者 else if)必須正確格式化,else 得和 if 配對(duì)的大括號(hào)在同一行。奇怪。賦值運(yùn)算符取決于在函數(shù)內(nèi)還是函數(shù)外,例如,= 和 :=如果我只想要“鍵”或者只想要 “值”,譬如: dict.keys() 或者 dict.values(),或者一個(gè) tuples 的列表,例如:dict.items(),在 Go 語(yǔ)言里沒有等價(jià)的東西,你只能自己枚舉 map 來構(gòu)造你的列表類型我有時(shí)使用一種習(xí)慣用法:構(gòu)造一個(gè)值是函數(shù)的字典類型,我想通過給定的鍵值調(diào)用這些函數(shù),你在 Go 里可以做到,但是所有的函數(shù)必須接受,返回相同的東西,例如:相同的方法簽名如果你使用 JSON 并且 你的 JSON 是一個(gè)復(fù)合類型,恭喜你。 你必須構(gòu)造自定義的結(jié)構(gòu)匹配 JSON 塊里的格式,然后把原始 JSON 解析到你自定義結(jié)構(gòu)的實(shí)例中去。比起 Python 世界里 object = json.loads(json_blob) 要做更多的工作 是不是值得?值得,一百萬倍的值得。速度的提升太多了,以致很難舍棄。同時(shí),我認(rèn)為, Go 是目前趨勢(shì)所在,因此在招新員工的時(shí)候,我認(rèn)為把 Go 當(dāng)作 Repustate 技術(shù)積累的重要一環(huán)會(huì)很有幫助。]
網(wǎng)站欄目:go語(yǔ)言遷移其他語(yǔ)言 go語(yǔ)言類型轉(zhuǎn)換
鏈接地址:http://www.yijiale78.com/article12/ddojddc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、動(dòng)態(tài)網(wǎng)站、服務(wù)器托管、ChatGPT、外貿(mào)建站、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)