第一门编程语言选什么好

 我来答
清秋梵豫V6
2017-01-23 · TA获得超过598个赞
知道答主
回答量:439
采纳率:0%
帮助的人:79万
展开全部
最近,台湾知名技术专家蔡学镛先生写了一本《编程ING》,宣称“人人都能学会程序设计”。作为一名IT教育工作者,这本书引发了我的兴趣,翻看之后,共鸣之处不少,结合国内计算机教育的现状,产生了颇多感触,于是就有了这篇小文。一、为什么学生视编程为畏途?先当学生后当老师,不知不觉之中我在大学里己“混”了十多年,我发现,进入计算机专业就读的学生,最初至少有一大半对真实的软件开发根本不了解,是“一张白纸”,不幸的是,学了四年之后,许多张“白纸”又变成了许多罐“浆糊”,带着对软件开发可能是畏惧也可能是无所谓但绝对不是喜欢的感触离开校园。编程真的那么没劲?那么难和枯燥?我写了将近二十年的代码,虽然不靠编程吃饭,但也似乎勉强可算是个老程序员,我对编程的看法可总结为两句:何以解忧,唯有编程!我经常在想一个问题:编程其实是很有趣很好玩很实用并很有成就感的一件事,为什么会有这么多的学生视编程为畏途?而我们的计算机教育,为什么在打掉学生对编程的兴趣方面“如此成功”?蔡学镛先生在《编程ING》给出了一张图:图1 正向兴趣循环是学习的关键我认为这张图道出了问题的关键——学习过程中的“正向”兴趣循环是否成功地建立。强烈的兴趣与不断获得的成就感是整个学习过程的“引擎”,它为学生完成整个学习任务提供源源不断的强大动力。有无数的事实支持这个观点。传统的教学观点认为,本科的主要教育目标之一是为学生在本专业领域未来的发展“打下扎实的理论与实践基础”,所以从一开始就要“严格要求”,“科学训练”。这个观点不能说错,但我认为,我们的计算机教育,尤其是针对初学者的教育,首要的任务是引发兴趣。没有兴趣,一切免谈。我所了解的事实是:计算机专业的学生有不少视编程为畏途。其原因在于我们的现有计算机教学方式从一开始就给了这些学生“痛苦”的编程体验,不幸的是,这种体验在后期枯燥的专业课学习中不断得到强化,学生最终对编程敬而远之或畏之如虎。事实上,教育学研究早己指出,成功的高效的教学应该是这样的:循序渐进,由浅入深,步步为营,兴趣导向。教师的职责,不是将知识“灌入”学生的大脑,首要的任务是引发学生的兴趣,鼓励他们去探索未知的领域,主动地学习和吸收知识,培养技能,积累经验。在这个学习过程中,教师要成为一名优秀的导航员,给学生绘出航线,鼓励他们出海远航,解决他们在航行中所遇到的困难,并帮助学生建立学习的“正向”兴趣循环。对编程的“第一印象”很重要啊!由此,引发了一个很有趣的问题——应该选择哪一门语言作为学生的第一门编程语言?二、你学的第一门编程语言是什么?在国内的大学中,当前大多数选用C作为学生的第一门编程语言。这其实并没有太大的问题,C的重要性无须我多说。其实问题的关键不在于选择C教学,而在于以哪种方式去教。很不幸,国内许多C语言的教材都将主要的精力放在对C语法细节的介绍上,课程考核方式又很古板——很多院校采用闭卷考试,出一堆的选择题和填空题。典型的题目是将一段代码砍掉一两句,让学生“填空”。有哪位高手是通过做这些“填空题”学会编程的?上机也流于形式,让学生反复折腾几个“黑底白字”的“玩具般的”小程序,学了一个学期,学生连一个有点用的程序都写不出来……这种僵化的教学方式,足以毁掉多数学生对编程的兴趣。我个人认为,C不应该成为针对大多数学生所讲授的第一门编程语言,我们的教学体系,应该给学生提供更多的选择。针对初学者所讲授的第一门编程语言,应该具有以下的特点:(1)必须是“有趣”的,能诱导人去“动手”和“思考”。(2)需要对初学者屏蔽不必要的底层技术细节,以免分散他们的注意力。(3)这种语言必须足够简单,但同时又具备足够的能力编写出实用的程序,从而让学生能比较容易地获得成就感,感悟到软件开发的魅力。(4)这种语言必须能充分地体现现代软件开发的基本思想和技术成果,为学生进一步深入学习打下基础(5)花在这门编程语言上的时间和精力是有回报的,掌握了它,就掌握了一个强大的工具,可以在今后的学习中使用这个工具进行实践和创造。另外,这门编程语言的学习,应该有助于初学者正确理解与体会到以下的编程思想:(1)分而治之:将大问题切分为小问题。(2)组件化与模块化:以搭积木的方式“构建”出软件系统。(3)算法思想:针对实际问题建立数学模型,设计计算机算法,最终编程解决问题。同时,这门编程语言的学习,应能有效地培养出以下的编程基本功:(1)调试代码的能力。(2)撰写可读性强、扩充性好、易于复用的优质代码的能力,培养良好的编程习惯。(3)查找技术资源与阅读技术文档的能力。也许一门编程语言的学习无法达到上述的所有要求,但组合几种不同的编程语言就差不多了。下面,我介绍几种适合于初学者入门的编程语言。三、适合于入门的脚本编程语言为了教初学者学会编程,蔡学镛先生的《编程ING》选择了REBOL编程语言,这个语言确实比较简单,而且蔡先生的书图文并貌,用它来训练编程的基本技能很合适,但REBOL这门语言似乎过于小众化了一些,而且书中缺乏有力的能引发初学者兴趣的应用实例。依据我的经验,如果初学者能动手写出几个有用的实例,他喜欢上编程的可能性会大大增加
尚学堂java学院
2020-12-26 · 百度认证:北京尚学堂科技有限公司官方账号
尚学堂java学院
向TA提问
展开全部

    学什么语言其实并不重要。原因有很多,但其中最主要的是众多编程语言的bai核心其实是非常相似的。也许他们语法不同,外观不同,甚至功能也完全不同,但是核心层面的相似程度远比你预料的高。几乎所有的编程语言都会有分支、 循环、调用方法或过程以及代码组织方式。有的甚至相似到你精通一门语言后就自然会了另一门语言,C# 和 Java 都是很好的例子。JavaScript也与他们十分相似。

    学习第一门语言总是最难的,一旦你掌握了一门语言,第二门就会容易很多,当你学会了两门或者更多的语言,学习难度将呈指数级降低。如果你现在一门语言都不会,可能很难相信这些话,但是如果你已经学会了10门语言,我敢保证你会说前两门语言是最难的。

    这意味着如果你已经学了一门语言,却发现这门语言并不适合你,或者找到另一份需要使用其他语言的工作,没有关系,你已经度过了最艰难的日子,再学一门语言对你来说不是大事。

    你也可能会发现,很多岗位—特别是在微软和谷歌之类的大公司,是不需要你知道特定编程语言的。我也遇到过跟多这种情况,被要求使用最拿手的编程语言来解决某个特定的问题,没有限制,不需要知道某种特定的语言,思想比语言更重要。

选择编程语言需要考虑的问题

就业前景

    对于大多数人来说,最需要考虑的是,选择什么样的编程语言,能对我未来的工作有所帮助。现在,最流行的语言是能在相同时间内完成更多任务的语言。编程语言的人气也同明星一样,有升有降,如果你只关心工作的可用性,可能会考虑主流的编程语言,这些都是主流的语言:

  • C#

  • Java

  • Python

  • Ruby

  • JavaScript

  • C++

  • PHP

    使用以上任何一种语言的职位都不在少数,这也就是说,如果你不愿意搬迁的话,选择哪种语言就取决于你所在的位置。例如,如果你住在阿肯色州的一个小镇上,小镇上只有一家软件公司,他们所有的业务都使用Java,我就建议你学习Java,这是从非常现实的角度来考虑问题。不过我想你们中的大多数或许都愿意外出闯荡,这种情况下你的选择就取决于你的目标公司和岗位了,这需要自己去调查。

    如果你想成为一个自由职业者,那么我建议你学习偏门一点的,使用不是那么广泛的语言,这样你面临的竞争压力会小很多。当然,一开始还是要坚持从主流语言学起。

除了就业前景,另一个需要考虑的问题是编程语言的未来。

    例如Objective-C就不是一个很好的选择,因为大多数iOS开发者都已经切换到Swift,Swift才是苹果大力投资的方向。如果你现在就是在使用Objective-C工作,也不用担心,因为仍然有大量的遗留工作需要Objective-C来维护,只不过长远来看,Objective-C早晚会被Swift取代的。

    当然了,我们都没有魔法球,能够准确地预测未来,哪些语言会受到欢迎,哪些会被抛弃。我曾经预测JavaScript的衰败,但那完全没有发生。如果想更全面的了解编程,可以来我这看看。

希望对您有所帮助!~

    本回答被网友采纳
    已赞过 已踩过<
    你对这个回答的评价是?
    评论 收起
    收起 1条折叠回答
    推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

    为你推荐:

    下载百度知道APP,抢鲜体验
    使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
    扫描二维码下载
    ×

    类别

    我们会通过消息、邮箱等方式尽快将举报结果通知您。

    说明

    0/200

    提交
    取消

    辅 助

    模 式