千锋教育-做有情怀、有良心、有品质的IT职业教育机构

你所在的位置:首页 > 常见问题

对于零基础的人来说,哪种编程语言比较容易被接受?

时间:2017-12-19 16:57:27 来源:千锋教育  作者:千锋

   入门编程语言选择的一个需要考虑的因素是初学者的背景与动机。

  不同的编程语言有着不同的抽象层次, 有些偏向硬件的工作原理,有些贴近人类的思维方式。以Python和C为例,Python像英语,基本的思维方式也类似自然语言,而C则类似于计算机硬件本身的工作原理。 对于初学者而言,如果你的背景属于对计算机底层原理不熟悉的一类的话,学习C会带来一些困扰。如果与此同时,你的动机是要使用编程语言来解决你的领域知识,而不想了解底层的细节,Python会比C适合。

  需要澄清的是,这并不是说Python简单,我觉得Python远比C要复杂,C语言本身的所有细节都在K&R一本书中说得清楚,而却从未见过一本Python的书籍能涵盖这门语言的所有细节。

  我想表达的一个观点是:

  其实主流的语言C/C++, Python, Pascal,Basic, JAVA, C#都可以作为入门的编程语言。因为它们都存在一个具有足够表达能力的语言子集,的入门书籍,成熟的库,以及强大的社区的支持。所谓选择好的入门语言可能是一个伪问题,而真正的问题是当你选择了其中一门语言后,如何选择合适的学习方法。

  学习一门编程语言,应该是容易的,因为计算机语言本身的特性只是它的语法。而计算机语言的语法无外乎是表达以下几个方面的概念:

  1. 数据的表达

  常量的定义

  变量的定义

  结构体的定义

  类的定义

  2. 控制流的表达

  顺序语句

  条件语句

  循环语句

  3. 封装和抽象

  函数的定义和调用

  类的定义和调用

  库,模块,命名空间的定义和调用

  而当对这些概念有了基本的印象并学会了用一门计算机语言表达这些概念之后,接下来对于初学者来说为重要的应该就是三件事情,掌握:

  编程范式

  基本的数据结构,算法

  对应语言系统库常用的API

  常见的编程范式有:

  面向过程的范式,这个应该是对于初学者而言为容易理解的方式,几乎所有的主流语言都支持这一范式,初学者应当首先学会这种范式

  面向对象的范式,这个应当是为主流的编程范式,从软件开发的角度看, 它的优点在于能够用面向对象的方式贯穿软件开发的整个生命周期,包括软件的设计、编码、测试

  函数式编程,在并行计算的时代,函数式编程的范式将会成为另一大主流,推荐对其做一些了解。

  算法是计算机科学的灵魂,它的意义在于让你理解计算机的工作方式的本质。对于初学者而言,不需要掌握过于复杂的算法,但是应当熟练地掌握基本的排序、检索、遍历的算法。数据结构亦是类似,初期掌握数组,链表,栈,队列,哈希表,栈即可。

  系统库的意义在于可以大幅提高你的开发效率,虽然重造轮子是程序员的一大乐趣。但是在实际工作中,我们可能多地需要追求效率,而系统库是过去的程序员的经验的结晶,往往在性能和强壮性上都做了大量的优化,一般来讲都会比我们自己的实现要好得多。正因如此,学习和掌握系统库虽然枯燥(初期要记忆大量的API细节),但是却是一笔非常值得的投资。

热帖推荐

  • 成都地址:成都市武侯区科华北路62号力宝大厦N(北楼)18楼
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 北京天丰利校区:北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术广场服务楼2层、南区服务楼2层
    咨询电话:400-654-7778 010-82790226-801
    面授课程:iOS培训、Android培训、HTML5培训、UI培训、PHP培训、JavaEE培训、好程序员
  • 深圳科技园校区:深圳市南山区科苑南路高新技术产业园R3-B栋5层
    深圳大学城校区:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    深圳西部硅谷校区:深圳市宝安区宝安大道5010号西部硅谷B座A605-619
    咨询电话:0755-86681178/9-801
    面授课程:iOS培训、Android培训、HTML5培训、UI培训、PHP培训、JavaEE培训、好程序员
  • 上海地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-65025129-602
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、好程序员
  • 郑州地址:郑州市金水区纬五路21号河南教育综合楼(经纬中学楼)6/7/8层
    咨询电话:0371-55911950 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 广州地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 大连地址:大连市甘井子区软件园路2号B8座二楼
    咨询电话:0411-39026086 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 武汉地址:武汉市东新区光谷大道77号金融港B26栋9楼
    咨询电话:027-59905909 027-59905908 027-59905902
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 西安南二环校区:西安市二环南路西段60号永安大厦4层
    西安科技园校区:西安市雁塔区高新六路52号立人科技园C座西区4层
    咨询电话:029-85260160 029-85261030 029-85260960
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 杭州地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226-801
    面授课程:iOS课程培训、Android课程培训
  • 青岛校区地址:青岛市市南区金坛路17号青岛职业技术南校区实训楼A4层
    咨询电话:0532-80910752/3 010-82790226-801
    面授课程:iOS课程培训、Android课程培训
  • 扫码匿名提建议
    直达CEO信箱