来自企业培训现场
培训新人编程时推荐使用什么编程语言
IT相关企业在培训新人编程期间,往往会让他们学习某种编程语言。以笔者作为讲师的经验来看,以往选择C语言或Visual Basic开发工具的企业很多,可最近Java语言却汇集了压倒性的人气。虽然在实际项目开发中使用的是Java,企业也希望新员工被分配到岗后就可以立即用Java开始编写程序,但作为第一门学习的编程语言,笔者并不推荐Java。理由源于最近的一种趋势,那就是与过去相比,立志成为程序员的新人在编程方面的背景知识越来越少,甚至少到令人惊讶。
在培训研讨会前的确认阶段,所说大约50%的新人说他们在学校时没有任何编程经验。那些即使有经验的,也并不是因为兴趣页喜欢编程,几乎都是只在课堂上写过那么几十行代码的人。因为了解了计算机的构造,又掌握了编程语言,所以想学习一些实际中有助于业务发展的知识 – 像这样可以称为计算机发烧友的新人少得可怜
Java隐藏了算法和数据结构
让缺乏计算机构造的编程方面知识的新人学习Java会怎样呢?Java是一种在屏蔽了计算机构造的框架中使用的编程语言。虽然使用了Java就可以进行面向对象编程,但这却是一种不用考虑计算机底层状况的编程方法。只要使用了Java提供的类库(代码集合),不需要考虑算法和数据结构就能解决问题。举例来说,Java的程序员在使用栈这种数据结构时,只需要调用类名为Stack的类就可轻易地实现功能,因为该类为程序员提供了栈结构本身以及入栈(Push)和出栈(Pop)方法。程序员完全可以无视栈顶指针(在栈操作过程中,有一个专门的指针指向栈顶元素所在位置。在进行入栈和出栈操作时,都需要移动该指针)的存在。
先精通C语言再学习Java语言比较好
笔者并不讨厌Java,在Java的框架上,进行面向对象编程,既可高效地开发大规模的程序,又可以使其处于易于维护的状态。但这些优点只体现在编写实际的业务程序上。对于缺乏计算机基础知识的新人而言,笔者大力推荐C语言。因为它既能够使程序员感知到计算机的结构,又迫使他们殚精竭虑地去思考如何才能亲手实现算法和数据结构。
以C语言为基础发展出了C++语言,而Java又是以C++为基础开发的编程语言。如果精通了C语言,不但能够理解Java的优点(高效开发和易于维护),而且能够平滑地过渡到Java的语法结构上。虽然在新人培训上也是有时间限制的,但欲速则不达,笔者总觉得通过花费与培养一个Java程序员相同的时间,是可以培养出一个熟练掌握C语言的程序员的。然而对于后者,他的经验在Java上也是可以发挥作用的。
若想在短时间内就让新人体会到编程的乐趣就使用Visual Basic
也有公司是使用COBOL语言实现业务的,不用C语言和Java。在这种时候,笔者会推荐Visual Basic。COBOL只能编写大型计算机上的程序,这样也许就无法轻易地将编程的乐趣传达给新人了。所谓编程的乐趣,也就是自己写的程序按预期执行时的喜悦感,在新人培训中,如果要让他们学习3周左右的COBOL编程的话,就应该把前3天左右的时间抽出来,让他们先通过使用Visual Basic体验到编程的乐趣,然后再举办一场由他们编写的原创程序的展示会,这样他们不仅会感到欣喜,而且会相互地给予正面的激励,学习的热情也会随之提高。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论