码农网有没有 第一语言,第二语言的概念

藤本植物导航
&>&&>&&>&正文
汉语作为第二语言教学 的特点主要是由汉语的特点所决定的。一个世纪以 来,汉语语言学的研究取得很大的成果,建立了比较 完善的理论体系,这为汉语作为第二语言教学的研究 提供了理论基矗 一、初级阶段接触到的汉语特点 (一)汉语作为第二语言...
汉语作为第二语言教学有什么特点
而谓语都不变,这为汉语作为第二语言教学的研究 提供了理论基础。名词没有性,汉语并不像很 多人想象的那么难、昨天等,“我去书店、你们,动词没有 人称。 (1)语法方面。汉语的最大特点是没有严格意义 上的形态变化、初级阶段接触到的汉语特点 (一)汉语作为第二语言学习的有利因素 如果从人们感知和记忆能力来说,语法关系次之、她。 一。”这个 句子,与印欧语言很多屈折 变化相比、数,语法规则比较简便、我们、时、格的变化、态的变化,这也为留学生在理 解和使用汉语时减少了许多形式上的负担。时间可以说今天。比如说。虽 然缺少形式变化、性、他、明天、他们等代 词。汉 语只要按一定顺序排列就行了,汉语语言学的研究取得很大的成果,汉语形式结构简明汉语作为第二语言教学 的特点主要是由汉语的特点所决定的,建立了比较 完善的理论体系、体,主语可以换成你,但句子和话语的理解以语义的关联 和表达功能为主。一个世纪以 来汉语作为第二语言教学有什么特点汉语作为第二语言教学 的特点主要是由汉语的特点所决定的。一个世纪以 来,汉语语言学的研究取得很大的成果,建立了比较 完善的理论体系,这为汉语作为第二语言教学的研究 提供了理论
汉语作为第二语言教学 的特点主要是由汉语的特点所决定的。一个世纪以 来,汉语语言学的研究取得很大的成果,建立了比较 完善的理论体系,这为汉语作为第二语言教学的研究 提供了理论基矗 一、初级阶段接触到的汉语特点 (一)汉语作为第二语言...第二语言指人们在获得第一语言后再学习和使用的另一种语言,通过学习获得是它的重要特征. 目的语是指人们正在学习并希望掌握的语言. 汉语作为第二语言学习的特点: 1.有利因素: (1) 语法:汉语最大的特点是没有严格意义上的形态变化,名词不用变...汉语作为第二语言教学 的特点主要是由汉语的特点所决定的。一个世纪以 来,汉语语言学的研究取得很大的成果,建立了比较 完善的理论体系,这为汉语作为第二语言教学的研究 提供了理论基矗 一、初级阶段接触到的汉语特点成功的第二语言学习者能够在语言文学文化方面有一个较为整合的认知,语言的精髓在于文学,文学的精髓在于文化。如果能够将第一母语和第二语言进行较为完好的学好,那么,这个必须得驾驭得了东西方的文化,语言的学习最终都是属于两个文化的学习...关键词:汉语;教学;语言;语言学;第一语言;第二语言 汉语就是汉民族使用的语言,是我们中国的主要语言。我们中国人从小学习语文课,这种语文课教学就是汉语作为第一语言的教学。而对外国人而言,汉语不是他们的母语。教外国人学汉语,就是汉...第二语言 汉语就是汉民族使用的语言,是我们中国的主要语言。我们中国人从小学习语文课,这种语文课教学就是汉语作为第一语言的教学。而对外国人而言,汉语不是他们的母语。教外国人学汉语,就是汉语作为第二语言教学问题不够详细。汉语的语音教学对不是母语的人来说恐怕要属语调比较难学了。从兖州汽(火)车站(汽车站,火车站挨着), 坐汽车半小时到曲阜汽车站。 8月份票价5元, 不知现在涨价了没,因为我还长时间没回家了。 在汽车站坐5路公交车就可以到银座。 希望对您有所帮助。其实你好好看看《对外汉语教育学引论》 估计这题就不难答。 且不区分“第二语言”和“外语的区别” 这里只区分“第二语言教学”和“外语教学”的概念 第二语言教学是指在目的语国家所进行的对目的语的语言教学活动。比如:外国人来中国学汉语,或是中国...第二语言指人们在获得第一语言后再学习和使用的另一种语言,通过学习获得是它的重要特征. 目的语是指人们正在学习并希望掌握的语言. 汉语作为第二语言学习的特点: 1.有利因素: (1) 语法:汉语最大的特点是没有严格意义上的形态变化,名词不用变...
种植经验最新
种植经验推荐
& 6种植网 版权所有
渝ICP备号-23第二语言习得的基础 翻译 三亿文库
第二语言习得的基础 翻译
章中的临界期假说,对第一语言习得与第二语言习得的年龄进行了讨论。 由于语言的复杂性,即使是成熟的知识分子学习一门新的语言也不可能安全达到母语一样流利的程度,这也不足为奇。但是几乎所有的孩子,他们记性有限,推理能力有限,几乎没有分析能力,靠他们足够的对语言的接触以及在接触过程中和他人的互动而获得任何一门流畅的语言。学习语言的能力不仅仅依赖于智力能力,因为具有明显智力优势的儿童并不比普通的儿童习得语言更早或者效果更好。 社会经验的作用 第一语言的习得并不仅仅靠先天的能力,对语言特殊的学习也起到了至关重要的作用。即便是学习普适性的语言的孩子,他们必须学习其他语言区别于他们母语的所有特征。除非这种语言充斥在他们周围并且被使用,他们利用这种语言跟周围人交流,否则不管他们的母语是什么,他们都将永远不会习得这种特定的语言。比如,韩国或希腊血统的美国出生的孩子,如果他们的祖父母只用英文和他们交流,他们永远也学不会自己的母语。当他们成年以后再去学习他们的母语,他们会发现他们的传统语言就像其他英语为母语的人学习时一样困难。因此适当的社会经验,包括第一语言的摄取和交互,是习得语言的必要条件。 对幼儿刻意的第一语言教学是没有必要的,确实可能收效甚微。有些家长“纠正”自己孩子不成熟的发音和语法,这样做最没有必要,对于收到这样指令的孩子他们的习得速度并没有明显的改变。有些成年人简化了语法和词汇的选择,为孩子增添了更复杂的结构,但成年人的这种简化不符合孩子们语言习得的顺序。有些成年人模仿孩子的语言创造,而这种模仿,有时会提供跟负责的语言结构(比如说“是的,那是一条很大的棕色的狗”回应孩子所说的“那条狗”)。扩展对于发展儿童学习新的语言形式可能发挥作用,但它并不能被认为是必须的,因为很多不接受这种输入的儿童在习得语言的过程中拥有同样的速度。
(p16) 第一语言输入和互动的来源因不同的文化和社会因素而不同。母亲的交谈往往被认为是儿童早期语言输入最重要的来源,但是父亲或哥哥姐姐在社会中也担负着重要的养育孩子的责任,可能是语言输入的主要来源,对于不同的文化或物质富裕的社会阶层来说,保姆或佣人担负着养育孩子的职责。在不同的文化中,从其他孩子那里吸收语言的重要性也相对不同,就像不同社会托儿所制度的不同一样。 只要孩子从身边的人中有足够的母语的输入和互动,根据他们的语言来源他们语音学习的速度和顺序以及语法的发展不会出现系统性的错误,尽管孩子所听到的母语是自然影响的,区域或者社会不一样的语言。因为词汇是典型的根据社会经验习得的,所以根据不同的社会背景词汇表现有很大的差异。儿童在小时候学习语言的功能在一定程度上取决于社会经验。例如,我发现上过幼儿园的孩子往往比在家里没有与同龄人互动和竞争过多的孩子具有更强的语言控制和操作的能力。 当小孩子们的社会经验包括他身边有使用两种或者两种以上语言的人时,他们具有相同的天生的能力去学习其中的任何一种或者全部语言,同时他们具有习得语言特征但不能习得语言结构的能力。幼儿后期习得语言的特征是不同的,我们将在后面的章节中进行探索。
一语习得与二语习得的差异 一语习得和二语习得的差异可以简单的分为三个阶段:首先是初始阶段,在这个阶段里,许多语言学家和心理学家都相信在第一语言和第二语言习得的初始时期,这些语言的结构和规则已经在学生的头脑当中了。第二个时期是中间阶段,包括基本语言发展的所有阶段。包括在“儿童”语法时期发生的发育成长的变化,和被称为“学习者的语言”(中介语或IL)
的第二语言发展顺序。在这一阶段,我们会比较第一语言和第二语言的发展过程,然后比较哪些条件是必须的,哪些是对语言习得有利的。第三个时期是最后阶段,是第一语言和第二语言的输出阶段。 这三个阶段的简单示意将会从图2.2中,随着我们所考虑的第一语言与第二语言的主要观点的对比中显示出来。 (p17) 2.2第一语言与第二语言的比较
初始阶段 天生的能力
天生的能力?
第一语言习得知识
中间阶段 儿童语法
基本流程 熟练
必要条件 输入
输入 交换互动
反馈 能力倾向 动机 指令
............
最终阶段 母语能力
初始阶段 虽然几乎可以肯定,对于第一语言习得来说,初始阶段孩子们具有习得语言的天然能力,但这也不能否认这个阶段是否是老年学习者习得第二语言的初始阶段(因此在图2.2中加了“”?)。有些语言学家和心理学家认为,儿童天生遗憾的学习语言的能力将持续他的整个生命。第一语言与第二语言习得结果的差异归因于其他因素。其他人则认为,孩子们先天习得语言的能力在第一语言习得以后在某些方面仍然有效,但随着年龄的增长,这种天然的能力在某些方面失去了。还有一些人认为,除了儿童阶段以后不在存在这种天生的能力,后来的语言习得,更像是利用了年长学员掌握的其他领域的知识,比如数学或历史。 因为我们直接观察到语言学习的心理承受能力是不可能的,基于理论测试的不同信仰和来自不同学科背景的测试角度不同。例如,许多语言学家基于学习者的能力来判断哪些关于第二语言习得的理论是不可能的(例如之前我给大家提到过的关于“饼干”的例子),这是由于儿童第一语言习得的先天能力的一方面。
(p18) 许多人从社会的角度看,拒绝承认语法性作为有理说服证据的判断,因为他们会导致不
包括第二语言习得的解释和使用的实际情况的人工任务。许多人,从心理学的角度反过来拒绝承认社会构成的证据(如自然语言),因为许多随着社会实际运用的变量是实验研究无法控制的。所以,虽然关于语言习得的天分的程度问题在第二语言习得的研究中仍然是非常有趣和重要的,但是在今后的一些年当中可能仍然得不到解决。 由于第二语言习得是跟在第一语言习得之后的,所以第二语言习得的初始阶段一个重要的组成部分就是了解第一语言习得,对这一点的认识是完全一致的。这需要了解语言是怎么工作的,以及只有部分创造性的第二语言习得的无数特定的语言功能。事先了解,在第二语言习得过程中第一语言的习得是负责第一语言向第二语言过度的,这种迁移我们将我们将考虑作为第一语言和第二语言习得的一部分。 第二语言学习者在已经掌握了真实世界的很多知识,而这点正是幼儿在习得他们母语时所缺乏的。这伴随着认知能力的发展和年长后丰富的经验。学习第二语言的初始阶段还包括实现这种互动功能的知识手段,指令,前景,和改错,这些在第一语言习得中已经形成,但不包括在第一语言习得的初始阶段。 第一语言初始阶段的习得依靠的是学习语言天生的能力,这种能力可以会也可能不会继续在第二语言习得中发挥作用,或者只以一些有限的方式发挥作用。从另一方面说,习得第二语言的初始阶段,需要第一语言习得的能力资源,世界常识和互动的技巧,而这些即可能是财富也可能是障碍。 中间阶段 第一语言习得和第二语言习得的语言系统中从初始阶段到最终阶段都必须经过中间阶段。第一语言习得和第二语言习得过程的主要相似之处是系统,包括可预测的学习语言过程中许多序列现象,事实上,第一语言和第二语言学习者在他们学习语言的过程中能发挥创造性的作用,并不仅是模仿他们听到的或者被教导的。 流程 发展,正如我们所看到的,是自发的并且很大程度上母语儿童语法的形成是无意识的并且伴紧密伴随着认知成熟。如上所述,当孩子成熟的时候,他们的语言能力也成熟了。与此相反,第二语言习得者如果在很小的时候学习语言,认知成熟度则不被认为是一个显著的因素;第二语言学习者已经达到一定水平的成熟度,这种程度他们用母语可以理解和创造负责的话语,而这种成熟度不特定于语言方面。其成熟过程必然涉及到第二语言习得关于语言发展的解释。
正如我们不能直接观察心理承受能力一样,我们不能直接观察发展过程,但是我们可以推断出学习者在不同阶段理解和创造发展的过程。关于怎么解决SLA过程中的根本问题,我们将在后续的章节中,从不同角度进行探讨。虽然关于这个问题的答案各不相同,但是跨语言的影响,第一语言与第二语言先验知识的转换在中介语发展过程中有重要影响,这个观点大家都普通赞同。 迁移发生的两种主要类型: *正迁移,当第一语言中已有的结构和规则在第二语言中也是适当的或者正确的。 *负迁移(干扰),当第一语言的结构和规则使用在第二语言中是不当或者错误的。 跨语言的影响在中介语发展的各个阶段都起作用,包括词汇、语音、语法、语言结构和使用的各个方面。正迁移,有利于第二语言学习,因为第一语言中的结构和规则也适用于第二语言,这就意味着一种新的语言并不需要学习。例如一个词,形式和意义在两种语言中基本是相同的,可以由第一语言迁移到第二语言。例如,外部的“外”这个词,在西班牙语和
英语中(发音不同,但具有相同的拼写和意义)。第一语言特征的负迁移对第二语言的形式也会造成影响,这点不同于母语使用者学习第二语言的过程或者集成的元素不会发生在单语语音形式上一样。不适当的母语发音迁移到第二语言上制造出来的是“洋腔洋调”,可能是最常见和最容易识别的母语的影响。下面的话语将说明,以英语为第二语言的人的受到的语法干扰,对以母语为英语的人来说是不会发生的: Can I assist to your class? I have been always to class on time. 我们注意到,除了母语能力之外,年龄较大的儿童和成年人有机会获得随着认知能力的发展和经验的完善而得到的世界常识,这也是第二语言使用过程中的中间阶段。世界先进知识的概念往往过于复杂,这对第二语言能力有限的学习者的充分表达是个限制,但他们可能部分的传达了内容,这很可能会刺激第二语言词汇的学习。例如,移民家庭中年纪较长的孩子可以参加美国学校中至少等于或者更先进的课程的先验知识学科领域(如科学和数学),但他们可能缺乏用英语表达他们所知的能力。
(p20) 这些学生不需要再去学习这些概念,因为概念本身是不依赖于任何特定的语言的;他们只需要在第二语言中找到新的代替的语言形式。即使是在工程和计算机科学这样的领域先进的国际学生发现比起刚开始接触这些术语和概念的以英语为母语的人来说,他们对这些术语更容易学习。 在美国,移民家庭中的成年人知道怎么驾驶汽车,他们会把专业知识和技能在新的社会背景下进行转化。由于一些新的规则和条例,一些英国人必须通过学习才能在美国拿到驾驶执照,但他们不需要重新学习如何开车。同样,与工作相关的英语一般随着现有的专业知识和技能而相对简单。第二语言背景下专业知识和技能的转化在母语能够为第二语言学习提供支持,关键术语是想通的情况下变得相对容易,但是概念迁移可以在任何情况下发生。 正如我上文提到的,许多社会交互的技能已从第一语言迁移到第二语言中来。这往往还涉及到正迁移和中介语的发展,但有些对第二语言的内容是不适当的。在共同语言很有限的情况下如何实现交流在第五章中列举了很多例子。 必要条件 无论是第一语言还是第二语言的习得,学习者语言的输入是绝对必要的。孩子们还需要与母语者产生互动。于此相反,尽管社会互动一般有利于第二语言习得,但它不是一个必要条件。因为有可能有些人通过收音机、电视或书面的文本这些普遍的非互动性的方法来使语言达到较高水平的熟练程度。输入与互动在第二语言习得中的作用在第五章中也做了讨论。 便利条件 尽管儿童母语的习得并没有被指导,而同时母语的习得速度并没有受到对不成熟的语言形式的修正或激励动机的显著影响,第二语言习得的速度和水平的促进或抑制受到社会和个人很多方面因素的影响。识别并解释便利条件基本上解决了第二语言习得的根本问题:为什么一些第二语言学习者比其他人更成功? 将在后面章节中讨论的一些条件陈列如下: 反馈,包括更正第二语言学习过程中的错误; 资质,包括记忆能力和分析能力; 动机,学习的需求和愿望; 指导,学校背景下的教学。
(p21) 最后阶段 最后阶段是第一语言和第二语言的输出阶段。第一语言习得的最后阶段――根据定义――是母语能力。虽然词汇学习和专业写作的培养(如正式学术书面语风格),可能会持续到成年时期,任何语言的孩子所听到的周围的基本语音和语法系统的建立是在大约五六岁的年纪(正如我们已经注意到的),伴随着适于培养交际能力的词汇知识和交互能力的发展。这是一种不需要非凡的天赋和努力就能到达的人类的成就。 另一方面,第二语言最后阶段的发展――重新定义――永远无法达到母语者的语言能力,和灵活运用语言的水平。一些学习者通过与母语者接触从而达到“接近母语”或者“类似母语”的水平,但是在许多情况下,对二语输入向着更深远的目标进一步努力时,导致一个受到母语的干扰,或者母语者不会出现的创造性的结构的最终状态(在第二语言习得中被称为“化石化”的冻结状态)。这些对多语言最终阶段的形成做出贡献的多种因素是第二语言习得和第二语言教学方法的兴趣所在。
语言学习的逻辑问题 儿童是怎样灵活成功的习得母语发展的最终阶段的?获得完全的语言系统,以孩子们未成熟的认知能力是怎么做到的?这是在质疑语言学习的逻辑形式问题。这项语言学家提出的问题最关乎的是句法现象。正如上一节中提到的,大多数语言学家和心理学家提出的这一成就必须归功于先天或自发的语言结构/流程的学习。与生俱来的语言知识必须依托语言习得的概念,诺姆-乔姆斯基(1957年 1965年),其随后制定了一种第二语言习得与研究相当有影响力的普遍语法理论(将在第三章中讨论)。这个观点得到了以下争论者的支持: 1、儿童的语言知识超越了他们在接收和输入中所学的。 这从本质上说是缺乏刺激,根据这个论点,随着语法输入,孩子们经常听到不完整的或不合文法的话语,但不管怎样,他们都能过滤他们听到的语言,这样,不合文法的话语就没能进入他们的母语系统。更进一步的,在他们的语言能力范围之内,孩子们通常从成人那里接受简化输入而不包括所有复杂的数据输入。
孩子们听到有限的符合语法的句子,他们能够抽象出一般的原则,从而使得他们能够解释和创造出无限数量的之前从未听到过的句子。更令人瞩目的是,孩子们的语言能力包括识别哪些句子是不成立的尽管输入并没有为他们输入这个信息:即输入“不确定的”语法并加以发挥。几乎所有的对儿童的第一语言的输入都是积极的信息,或通过与其他孩子的接触至少部分的理解实际的话语。与许多的二语习得者不同,在习得中,儿童们几乎从来没有得到任何明显的指导。他们很少会接触到负面的信息或纠正(当错误发生时他们很少意识到)。 2、无法习得的制约和原则
孩子们接触到限制原则和普遍性原则,是指适用语言在母语语法的出现中只出现了很短的时间,事实上它非常的系统性而且没有任何“不规范”的分歧。这可能是因为先天原则导致儿童只用特定的方式来组织输入的语言。除了上面提到的反面证据的缺乏,限制原则和普遍原则不能习得部分是因为孩子们在很小的时候习得母语是抽象的超出了他们理解范围的。限制原则和普遍原则是超出一般智力范围之外的学习过程。Jackendoff(1977年)对于儿童来说,获得这种能力就像是一个“语言习得的悖论”。
如果普通的智力足以获取精神语法的原则,那么语言学家(或心理学家或计算机科学家)至少他们中的一些早已超过了普通智力,应该在很久以前就发现了这个原则。而事实上
联系客服:cand57</问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
一般人都有自己的一个主要的工作语言,这是自己主要专长的方向,也是谋生的饭碗,不会轻易丢掉。但是在工作之余学习第二种语言(这是一种泛指,也可能许有多种)在程序员群体中也是非常常见的情况。我现在也面临这种选择,相信很多人跟我一样。是随大流选择一门流行的,比如很多脚本语言?还是选一门我当前语言的加强版,比如从java到scala?还是选一门完全陌生的,比如函数式编程语言lisp?我在这里想听到有经验者对这种选择的考虑,而不是说应该选择什么语言,那样对其他人没有任何意义,相信这个社区也不欢迎这种讨论。所以我问题的标题是如何选择,而不是选择什么。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
我从儿童时期,1989年在AppleII电脑上敲下第一行LOGO语言指令,后与编程结下不解之源,二十几年来不曾中断,至今因为各种因缘际会,学会了很多大家常常听见的语言,也学了一些冷门的. 我应该可以算是一个&有经验者&. 我对各个学习阶段的程序员,对于语言的选择,有各种不同的推荐.关于: 重要的是思想,语言不重要. 这句话只能对 &中级& 程序员有用,初学程序员最好当这句话不存在,因为对于刚入门的人,语言很重要. 对于&高级&(指已经在某个编程技术领域碰到天花板的)语言也很重要.对于后者,很多时候你的任督二脉能不能打通,其实语言占不小的影响.对于前面一种情况相信很多人都已经做了回答. 不过对于后面这种情况,我想有深切体会的人并不多.我以下回答针对&高级&(上文定义)者,初学者不要盲从:选第二语言(楼主的定义),要选跟你主语言不同体系的,比如对大部分人,主语言都是C/C++系(包括Java,C#,ActionScript....等一大堆主流语言),那么第二语言最好选择另外一系,比如 Scheme 等. 最好选择编程哲学不同或相反(比如Python的哲学是追求每件事应该有并且只有一种解法,但很多语言比如javascript等的哲学是每件事应该有很多种解法)的一系. 如果遵循以上两点,基本上这个第二语言不太可能跟你的主语言在应用领域上有太大重合. 也就是区别要大一些更好.原因: 对于&高级&的程序员,语言应该只是你表达自己思想的工具,你能自由用主语言表达你的编程思想,你可以用ASP写出面向对象甚至MVC的网站程序, 但是另外一个方面,当你 &无所不能& 以后,就会发现自己好像停滞了, 这个时候你需要一个反差很大,最好是编程思想完全不同的技术,来让你突然觉得自己原来什么都不会,原来自己一直以为天经地义的事情,在另外一门技术里是完全扯淡的,而自己压根想都没想过的事情,在另外一门编程语言里却司空见惯. 这种冲击可以让你获得很多灵感,可以让你突然 &跳出来&~ 因为你其实学之前已经可以融会贯通各种语言,所以学习一个新语言,这个知识角度对你的帮助并不大,但是学习过程中哲学高度上对你的影响会非常大.很多程序员以为全世界所有程序都是 代码+数据库 (我面试程序员时通常会问你有没有写过跟数据库没有关系的代码,超过一半的人惊讶地回答说什么程序都是围着数据库增删改查的) 其实原因是他们做的可能是外包项目,或者互联网网站, ERP之类的东西,自己所学所用制约了他们的视野,以为所有程序都是这样的,如果这个时候他做个浏览器,做个图片查看器,做个播放器, 他还会觉得所有程序都是绕着数据库吗?
编程语言也一样,如果你一直用着面向对象语言,就很多人误以为语言都应该面向对象. 你一直用着关系数据库,就很容易以为所有数据库都是关系型的. 只有当你接触一个反差很大的,颠覆你之前的认知的, 才能让你站在一个更高的高度上去体会以前所学习的那些知识.就我本人言,我这二十几年来工作中,学习中,用了十几种语言, 对于跟语言打很多年交道的我,也曾一天两天学一门新语言并且用得还不错,但是真正对我自己编程思想产生质的飞跃的语言,只有那些反差很大的很非主流的语言,比如从汇编突然学C++, 比如从Python突然跳到Common Lisp.最后举一个例子, 一个java程序员,他也可能学了C++或者其他面向对象类的程序设计语言,直到学到很高级很牛了,他应该可以把面向对象中常见的设计模式融会贯通,做到手里无剑,心中有剑,遇到要写什么代码,根本不需要去思考什么模式,反正自然而然就代码里用了某个或某些模式的某种变形.这个时候对很多人来说这已经是 &最高境界& 了,但是到这个层次的人并不少,只要你有足够时间,很多人都能磨到这一步. 此时问你个问题: 设计模式是什么? 或者为什么世界上要有设计模式这种东西? 他是一个值得表扬的东西还是值得批评的东西? 你也许可以回答,也许觉得这种问题没什么意义.现在如果我说:&设计模式是面向对象语言的自身缺陷的表现,是因为语言本身有缺陷,才需要设计模式,设计模式是让语言的使用者浪费自己宝贵的时间来为语言设计者设计中欠缺的地方进行修补, 但因为完美的语言不曾存在过,所以设计模式总是需要的.不过面向对象的语言越强大,对设计模式需要的越少& 很多人会对这个产生激烈的争议,就算不产生争议,你最终勉强接受了我的观点,也很会觉得这个太激烈了,至少会觉得这个观点不是你自己会悟出来的. 但是相同的这个观点,在Scheme程序员眼里却是很正常的. 所以如果你是C# 程序员,也许Scheme是一个合适你的第2语言.至少会在更高的层次上去想刚才我说的问题,而发现确实C#的每个版本升级都让语言更强大,同时让某个或者某些设计模式不再需要(比如静态类让单例模式存在的原始基础消失了,扩展方法让装饰模式存在的基础消失了...虽然你依然可以用这些模式,但那已经是为了模式而模式了,而且完全没有必要了)这就佐证了面向对象语言越强大,模式越不需要. 但对于一个只学C#,Java,C++,Javascript的人是很难悟出这一点的.说多了,其实最终表达的意思是: 对于一个经验丰富的程序员,选择一门跟主流或你所熟悉的技术偏差极大的语言. 我推荐Lisp系的语言.
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
凑个热闹。先说下我自己的情况。和 @小萌 一样,我做Web最早也是写ASP大概做了一两年,后来开始做Java Web大概有六七年,再后来转Android一年多,现在做Objective-C几个月了,除了前面几年是读书时兼职后面都是在一些互联网大公司,勉强算得上楼主说的“有经验者”吧。我觉得两点很重要,一是兴趣,一是工作相关。首先是兴趣,性格不同兴趣就不同,比如有的人喜欢看得见的东西(比如JS/CSS/HTML);有的人喜欢黑黑的屏幕绿绿的字(比如Shell);有的人喜欢语法简洁(比如Ruby/Groovy);有的喜欢条条大路通罗马(比如Perl);有的喜欢一条路走到头(比如Python);有的喜欢钻研底层(比如MASM);有的喜欢简单语法(比如C);有的人喜欢绕来绕去(比如Lisp);有的人喜欢变态(比如 -_-)。第一语言是养家糊口的语言,那第二语言怎么也要挑个自己喜欢的吧,呵呵。第二是这门语言最好与工作相关。大家搞IT的工作压力都不小,每天上班完了其实没有剩余太多时间来学习,如果能在工作中学习,学习的东西又对工作有用,就事半功倍了。我在做JavaWeb的那些年里顺带学习了前端的JS/CSS/HTML的内容,不说非常牛逼,但自我感觉还是理解透彻了,对工作也非常有帮助,在公司做了几个重前端项目(纯JS代码四五万行规模,和Java代码接近1:1)。另外为了维护服务器还学习了Shell,也对工作帮助很大。同期我也尝试学过Lisp/Python/Groovy……,Lisp因为和工作生活完全脱节不用很快就忘了,Python写过一个HTTP转发的小工具自己用但现在也只记得语法,Groovy在公司用Grails做过两个小项目现在还有隐约的印象……反正东西不用就忘得快,所以能与工作相关是最好的。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
我在lisp-cn上问过类似的问题,朋友们的回答都挺好的。
这里给些片段:
Jianshi Huang:
You're young. Here's my advice:
- Learn patterns, not languages
- Learn designs, not implementations
- Learn the idiomatic ways of doing things the language is created fornode for webdev, go for concurrency, C for memory management, bash
for process control, ML for compiler and lisp for metaprogramming
also C++ for shooting your foot, and Java for &design patterns&- Learn trade-offs and pitfalls in the design of languages
- Do real projects and make real applications, not hello worlds
- Do everything in one language you like most, and re-implement parts
in other languages you think are better for the jobThen you'll be a good programmer. It's tough!
-----------------------
FreeBlues :作为一个同样喜欢编程的过来人,说说自己的看法:
1、深入学习3种不同类型的语言:1) 底层语言:汇编,2) 编译型语言:C,3)脚本语言:PYTHON
学到什么程度?就是给你一个问题可以不依赖资料信手写出大部分代码来,这就要求你对用到的程序语言非常熟悉,为什么选择上述3种语言,因为汇编和C是基础,也是日后工作的必备技能,PYTHON超级好用好学,适合解决手边遇到的小问题。汇编的教材推荐王爽的《汇编语言》,C的教材推荐《一站式学习C编程》,PYTHON的教材推荐《DIVE INTO PYTHON》和《PYTHON科学计算》;
2、其实计算机编程一多半的功力不在语言上体现,而是你解决问题的思路,也就是如何去运用程序语言解决问题的能力,这方面的能力也不仅仅是看看数据结构和算法能培养起来的(当然学数据结构和算法是必经之路),唯一的建议就是多看其他高手写的代码,如果有分析思路就更好了;
3、至于LISP暂时无法评价,因为我也在学习中。--------------------
这个是帖子地址:还有挺多的,虽然最后有些歪楼
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
我说说我自己的看法,这种情况却是常见,目前很少有一个程序员只会一门语言。就拿我来说,这个主要还是趋势所定,最早我是一名asp程序员,现在大家都应该知道了这几乎是已经彻底淘汰的一本语言了,如果我现在还用它,我真的不知道自己在做什么。所以我在asp,截断我就自行学习php,到目前位置只能算是一个中级水平,不过完全可以满足我现在的工作需要。那么是不是满足就可以了,这个还得看个人如果能把php搞的超精通那么年薪几十万的也有。但是作为一个程序员,我觉得需要掌握一门比较高级或流行语言比如 C c++ python ruby 等等,我目前想选择一门比较流行的语言是python。我觉得这个可能是未来的趋势就算搞不精通,但是一定要懂,希望我的回答给你点帮助。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
1.根据工作需要,php市场需求量最大,选一个可以持续谋生的语言.
2.根据自己的发展需要,专精深入,还是技术管理....不同的决策,选择方向不同.如以后要做构架师,需要学习更多底层开发的语言.如以后从事技术管理类的,要知识面广一些.
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
选择一门编程语言就像结婚一样,虽然心里会有种种判断准则,最终的选择却并不一定是按这些准则严格挑选来的,缘份和市场的作用也很奇妙。12年前,我刚开始谋生的时候,选择的是HTML/CSS(当然,它们不是编程语言,充其量是标记语言),然后受不了Dreamweaver自动生成的JS,学习了javascript。因为那时候我上大一,做一份工作:建设学校的英文官网,这个时候用不到ASP/PHP,也没有那个环境。过了半年,需要展示动态内容,我选择了ASP(因为学校当时只能提供ASP的运行环境),用的VBScript,这时候我仍然没有自己的电脑。看到了吧,这个阶段,我欣赏和喜欢什么语言并不重要,重要的是学校能提供什么运行环境(包括办公室的开发用电脑),市场决定了我的选择。过了几年,我在,需要重写,这时候,选择终于不受软件环境的限制了,可以自由选择了,我选择了PHP,原因是:
当时只有我一个技术人员,如果选java会比较辛苦,如果选.net,windows/sql server授权费会比较高。PHP入手简单,搭配的开发运行环境都有免费开源的,这是我当时选择它的理由。于是PHP成了我的第一语言,除了手机开发,我几乎可以用PHP解决所有遇到的编程需求(Web应用、Linux Shell、Windows桌面GUI)。这些年来,我所在的项目团队都是充满全能型选手的,虽然我用PHP可以搞定很多问题,但在有的场合下,它不是最合适的,于是,我顺便粗浅地使用了一些语言(产品):linux bash shell来做linux系统管理(比PHP简洁,如for file in ls ./)用java写Hadoop Map Reduce程序,比PHP高效和自然(PHP要通过streaming api转一下输入,自然会损失一点点性能),java写敏捷软件开发培训的案例写puppet module的时候要用到一点点ruby,没办法,puppet就是ruby写的参与公司一个存储项目时看了一点点Erlang早期帮人装movable type的时候看了一点点perl因项目需要hack一个bit torrent客户端时搞了几天几夜python现在,除了php/javascrip/shell这几个使用时间达到几年的,其它的全都忘了。我开始学习使用objective-c做iOS开发,除了是听从公司的安排外,这也符合我一年前的新语言选择,原因也简单:它实在太火了,我自己家里就买了大大小小5个苹果设备。自然让我萌生了要在自己的苹果设备上写点啥的念头。等我学会objective-c了,我还想回去再好好学习java和C,java在开源世界和阿里巴巴太重要,C是用来给PHP写扩展的。好了,再来总结一下我选择新语言(技术)的原则吧:一定是现实的业务驱动的,我不会为了学而学顺应市场趋势,ASP这样被历史车轮碾碎的语言,就跟它说声珍重吧学习以我的计算机基础能理解的语言,汇编我就不碰了,毕竟我大学的计算机课程只有《计算机应用基础》和《C程序设计》(to be continued,新装的电脑,触摸板没禁用,打字时光标四处跳,出现莫名其妙的字句请指出,见谅)
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
与自己第一门语言起到互补的语言,同时基础第一门语言的基础,这样上手不会太难,还起到互补。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
如果已经做程序员工作很久了,那么你多半不止掌握一种语言。如果所谓“第二”语言特指的是“工作之余”,那我觉得应该是两种方向:
1. 开阔视野,那要选择与自己所用的语言在思想上差异较大的,比如oo对于函数式,gc对手工内存分配……
2. 个人兴趣,那要看有没有兴趣相投的人了,找不到朋友经常交流,那兴趣很快就会淡下去
学第二语言,牵扯的不止是精力,还有体力和耐心。这些也都是要考虑的。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
选编程语言就像是选聊天茶室,你除了在乎茶室的茶品(语言的好坏),还会在乎是和哪些人聊,聊哪些话题(语言的社区、工具、库等)。Clojure开发/用户社区气氛良好,基本都是资深开发者、顶级Hacker以及有追求的程序员,有格调、有层次。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
依据有三:工作领域、个人爱好、语言流行程度。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
这个问题不同人有不同的答案, 首先要看程序员对自己的定位. 博士们研究算法也要写一些程序, 但是他们的定位就和工程师不同.产品工程师对自己的定位, 在于快速的搭建产品, 有的产品比如iOS受到语言的限制, 那么只能接受(学会了觉得objc很美). 有些产品比如web, 不受语言限制, PHP, ruby, python, node, 各有特色, 尽量都看一遍, 再做选择, 就业市场上这些职位都有招聘.如果你只是为了一份工作而学习编程, 那么你的世界是灰色的. 尽量选择你喜欢的. 你对自己擅长的语言是有感情的.除此之外, 我认为有一些基本哲学的东西, 往往在学习一门语言的时候获得, 确放之四海皆准, 比如pythonic. 它是我在学习python的时候接触到的, 但它的能指导一个人或者一个团队的编程风格, 甚至编码以外的做事方法. 另外比如说UNIX哲学, DIY和DRY原则.
这就像功夫, 各种语言就是招式, 你还需要内功心法才行.还有的就是设计模式, 我不推荐读书, 我更加喜欢朴素的设计模式观念. 任何事都有一种大家可以认同的, 足够简单的解决方法, 无需模式化命名.最后关于第二语言, 我的第二语言最终变成了第一语言, 然后我现在的第二语言会比较没用: clojure, 但是我不熟悉Java所以我正在玩clojure-py, 一个非常不完整的东西.
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
本人做过C#一年,后转PHP,做了2年多了。
自己的目标是架构师。
所以现在我的目标就是把C/C++这个(就当做一个吧)底层的语言、知识弄精通了,再加上现在的WEB基础,努力成为一个WEB架构师。。。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
一门脚本语言,熟练掌握其正则表达式库、HTML/XML/JSON解析库、HTTP库、网络协议相关库,干脏活用Python, Ruby, Perl都可以,但是PHP就免了吧…未来的ASP…
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
我在学校学的是C/C++但是基本上没有这两个语言写过什么像样的项目。
后来开始使用C#+ASP.NET。但是结果发现我只能做一些维护,然后自己在工作之余自己编写一些网站程序。
现在我使用PHP,但是工作中却要求使用ASP做开发,结果我现在又开始学习ASP。所以我的兴趣任然是C/C++ 主要用PHP,工作用ASP 同时写一些CSS+HTML+JAVASCRIPT
感觉一点都不精,问题不知道该从哪个入手。。C#+ASP.NET到是开发过几个WEB系统,可惜都没有拿出来给别人用过。。
如果加深学习的话,C#+ASP.NET最容易进阶。
现实与理想冲突,不知如何取舍!!???
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
学们主流的静态语言,学们流行的动态编译语言就差不多了~
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
刚微博上看来的。楼主如果是为了单纯的兴趣的话,可以选一本如《七周七语言》这书这样的先泛泛看一下,然后再选其一而学。其实第二语言这个有点伪命题,因为
1.按兴趣选的话,完全就是个人兴趣的,这个别人也帮不了;
2.按实用需求选的话,就看开发环境日常需求,已经对自己今后发展的判断。PS:我自己也是学C/C++入门的,不说小时候的logo basic之类,目前在学Python,选择是因为兴趣和弥补动态语言知识的欠缺,以及对以后工作需求的猜测。共勉。
附上文章一枚,里面的道理虽然不是直接与选语言相关,但是……看看说不定有惊喜,里面以习武之道阐述我们平时学习之路,不管是语言或者什么,里面的阶段说蛮不错。推荐。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
建议这么选择。
如果第一语言是动态语言,第二语言就选择静态语言。
如果第一语言是静态语言,第二语言就选择动态语言。
体验不同语言的编程习惯,编程思维,编程结果,编程过程。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
语言不重要,思想才是最重要的。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
我这么多年经历的语言有:C C++ JAVA ,都是静态的,还有C#和asp都只写过一点点代码的就可以忽略不计了,不过你可以发现这些都是静态语言,甚至可以说都是C系语言。
去年专门学过Python,但是没有做项目,然后过了就忘了,跟shell一样,你体会到其中的写脚本的思想就可以;
今年专工Java的深入,然后发现了Scala,对它的函数式编程范式很感兴趣,所以现在正在学。说道Scala,想纠正一点就是Scala不是Java的加强版,看Scala的介绍,发现它收到很多C#、.net平台的影响,也修正了很多Java中不好用的地方,但是它最大的不同是对函数式编程的支持。
自己的教训:学了以后还是要做出点东西的,哪怕写个小小的模块。例如我用python帮审计行业的朋友处理过excel;目前准备Scala能不能利用其Play框架写个网站后台。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
web开发相关,一门能做后台的语言,加上前端的必会的Js Jq html css,对于新人来说够了。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
java的资料非常多,python的资料很少。c++ c#这些还是无法逃离微软的编辑器?每次看到c++书籍,全都是在介绍vc++编辑器,服了。。。。。但是java c c++ 这些行业的大牛实在是太多了,似乎最终选择只有python?或者android swift?同样纠结,只会一门真的不太好,找工作都受歧视
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
我个人喜欢的语言是C、C++,也想研究研究Python,但是因为工作原因,使用的是一个老家伙---Delphi。不过就我目前的技术水平还没有深刻体会到语言的差别,感觉都挺好的,都值得学习、值得钻研的。
路漫漫其修远兮,对于技术的追求也是没有止境的,希望我尽快熟练掌握Delphi的开发,然后能够有更多的时间和精力去钻研我感兴趣的C、C++。
语言本身是值得研究的,但是独立于语言之外的其他知识同样重要,比如算法、操作系统、网络原理、设计模式、数据结构、数据库原理……
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
根据工作需要
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
看看啊啊啊
同步到新浪微博
分享到微博?
你好!看起来你挺喜欢这个内容,但是你还没有注册帐号。 当你创建了帐号,我们能准确地追踪你关注的问题,在有新答案或内容的时候收到网页和邮件通知。还能直接向作者咨询更多细节。如果上面的内容有帮助,记得点赞 (????)? 表示感谢。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:

我要回帖

更多关于 码农转行后悔的有没有 的文章

 

随机推荐