如何快速掌握一门编程语言

学习程序设计语言是程序员看家的功夫,许多程序员边编边学,没有止境,可以说是“活到老学到老”。在语言面前,程序员永远是学生。然而,程序设计语言是一个不断发展的技术,从机器语言到汇编语言,从低级语言到高级语言,从面向过程语言到面向对象语言,从C/S语言到B/S语言,从非垮平台语言到跨平台跨系统语言,从纯语言到开发平台工具,真的是目不暇接。这些革命性的技术浪潮推动着程序员不断地学习新的语言以适应其发展,否则程序员将被淘汰于大浪之后。

学习新的语言有两类人员,一类是从来没有程序设计语言基础的、没有编过程序的人;另一类是已经掌握了一门或一门以上语言,正想要学习更高版本语言或新的语言的人。对于第一类的人我且称之为新手。

新手要学习一门程序语言,那是一张白纸,可以画出最新最美的图画,同样也可以画得乱七八糟没有美感。新手第一语言对其今后的影响是巨大的,如果学得好,则自信心大增,对今后的发展非常有利。如果学得不好,学不下去,则对其职业生涯打击很大。新手面对众多的语言往往无从下手,第一不知道学那种语言为好,第二,不知道如何学习,第三不知道能不能学好!
就目前而言,学习java,C#,今后想学后台学C语言都是不错的选择,OOP便于处学者快速掌握,但对自学者来言,目前关于C#的视频太少,大多是.NET的视频,拖一下控件再讲讲特性.不利与初学者掌握C#.我就吃过这方面的亏.现在关于C的视频很多.而且讲的很好.完全可以学完.net后再来看C,了解一下C与其他语言的不同和相同之处.有利加对OOP的认识.

只要想学,只要有职业压力,没有学不好的,只有学不到最好的

我的建议要特别注重两个要点:一是基础,二是动手能力。学语言首先要看书,然后要动手。那些认为光看书就能学会语言的是很幼稚的想法。而那种光注重编程而不注重读书的,将来一定是动手能力强而水平低的。

1) 新手不要急于求成,要把时间放长一点,先把基础知识学好,基础越扎实,今后编程水平就有可能越高。看书至少要花三个月时间。

  看书主要选择计算机原理、程序设计原理,以及所学语言的相关书籍(如入最好是入门类,不要刻意地选哪本好不好,对初学者来说都是好的)三类书籍。

2) 看书中肯定要遇到各种不懂的概念,而且各种概念之间的关系也不容易理解和掌握,许多新手望而生畏,读不下去。这个时候一定要学会坚持,坚持读下去,反复读下去,对实在不懂的概念要注意收集牢记在心。这个时候最好不要找人去解答,最好在把所有的书籍反复看完3遍之后,再去找人解答,这样就可以加深对这个问题的理解,而且解答者也愿意回答,如果一有问题就去问,一是解答者失去了耐心,另一方面自己没有印象,容易产生依赖性。

3) 有了一定基础知识之后,就要自己去想办法安装编程环境。如何按照编程环境的要点我在《程序员需要那些具备最基础的知识和技能》中有关“流程”中已经讲过了,这里就不在赘述。

4) 开发环境安装完成后,新手就可以编写显示“hello word!”程序了。

编写这个程序目的主要是学习主程序的作用,主程序的参数入口,简单的赋值语句,显示功能调用,退出程序语句。通过这个程序完成,新手可以对编写程序流程的切声体会。

5) 接下来可以学习算术运算编程。试一试算术表达式编写,简单的可以编写一个计算器示例;复杂些可以编写一个显示日历的程序(输入年份,显示这个年份的日历),在这个阶段主要是学习函数以及函数的调用,算术运算、条件语句、循环语句、显示功能等。这些都是编程的基础。

6) 完成算术运算的学习后,可以编写更复杂的完整的程序。例如可以编写一个学生信息管理。其功能为:接受一个学生信息(例如,学号、学生姓名、班级、年龄)并把它保存在计算机中,并提供增加、删除、修改、查询功能。信息保存形式可以是文本文件,也可以是数据库。

这个阶段主要是学习变量、数据存放、文件操作、数据库操作、程序完整性等,这也是编程的基础。

7) 完成上述学习之后,程序员要学会回头梳理一下自己编过的程序,梳理一下自己已经学过的概念。可以对自己以前的程序做修改,学会不断提高自己编程水平的意识。

8) 在这着过程中若遇到问题,先看帮助。帮助不行,最好是找懂的人询问,不要自己死抠,浪费时间。上网查询也可以,但是不如问人比较直接。看书是不能解决问题的,切记!

9) 在这些都完成之后,程序员可以有目的,针对自己将要开发的内容进行相应的技术学习和准备了。

10) 编写程序的时间估计需要2-3个月。一般而言,一个新手学习一门语言需要半年左右的时间。有的可能要少一点,有的可能会多一点。但是,无论如何,最终的结果是程序员对语言有了初步的了解,可以用语言编写简单的程序了。

 

转载于:https://www.cnblogs.com/atun/archive/2011/06/02/2068320.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
写完了Interpreter模式之后,我习惯性的看看下一天的安排,却陡然发现GoF的23个设计模式的解析已经在我不经意间写完了。就像在一年前看GoF的《设计模式》一书,和半年前用C++模拟、实现23种经典的设计模式一般,透过这个写解析的过程,我又看到了另外一个境界。一直认为学习的过程很多时候可以这样划分:自己学会一门知识(技术)、表达出来、教会别人、记录下来,虽然这个排序未必对每个人都合适(因为可能不同人有着不同的特点能力)。学一门知识,经过努力、加以时日,总是可以达到的,把自己学的用自己的话表达出来就必须要将学到的知识加以消化、理解,而教会一个不懂这门知识的人则比表达出来要难,因为别人可能并不是适应你的表述方式,记录下来则需要经过沉淀、积累、思考,最后厚积薄发,方可小成。 设计模式之于面向对象系统的设计和开发的作用就有如数据结构之于面向过程开发的作用一般,其重要性和必要性自然不需要我赘述。然而学习设计模式的过程却是痛苦的,从阅读设计模式的圣经——GoF的《设计模式:可复用面向对象软件的基础》时的枯燥、苦闷、茫无头绪,到有一天突然有一种顿悟;自己去实现GoF的23中模式时候的知其然不知其所以然,并且有一天在自己设计的系统种由于设计的原因让自己苦不堪言,突然悟到了设计模 第 2 页 共 105 页 k_eckel 设计模式精解-GoF 23 种设计模式解析附 C++实现源码 http://www.mscenter.edu.cn/blog/k_eckel 式种的某一个正好可以很好的解决问题,到自己设计的elegant的系统时候的喜悦与思考;一直到最后向别人去讲解设计模式,别人向你咨询设计模式,和别人讨论设计模式。就如GoF在其前言中说到:一旦你理解了设计并且有了一种“Aha!”(而不是“Huh?”)的应用经验和体验后,你将用一种非同寻常的方式思考面向对象设计。这个过程我认为是漫长的,painful,但是是非常必要的。经过了的才是自己的,Scott Mayer在其巨著《Effective C++》就曾经说过:C++老手和C++新手的区别就是前者手背上有很多伤疤。是的在软件开发和设计的过程中,失败、错误是最好的老师,当然在系统开发中,失败和错误则是噩梦的开端和结束,因为你很难有改正错误的机会。因此,尽量让自己多几道疤痕是对的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值