一天掌握一门语言,我觉得对于一个比较资深的 程序员,应该都是比较容易的,而如果对于一个刚 学习某一门开发语言不久的人来说,会觉得我在瞎扯。 当然,我此处说的掌握并不是精通,而是指开始工作 或利用某一门程序语言着手于某件事情。 要掌握一门编程语言,是有规律可循的,而这些 规律也只有通过学习几门编程语言才能积累起来。 通常,我觉得的编程语言学习规律分为: 语法学习 程序设计思想 数据结构和算法。 语法 任何开发语言,都是由语法开始的, 语法是一门开发语言的基础,学习任何开发语言, 首先肯定是要学习其语法,知道其表达方式, 才能在接下来如何运用其语法表达思想或逻辑。 从整体来说,语法分为几个部分,函数编写部分、 类与对象部分、数据类型部分、逻辑结构部分 (递归,判断)、输入输出、文件操作等。 而学习一门新的编程语言,大致是花上一个小时 先总体的浏览一遍,然后在头脑中与当前学习的 开发语言形成对比,并对比区别与之前 所学的开发语言的表达方式的异同之处, 需要记的地方也就是不同之处, 在开发的时候注意区别就好。 此部分的基础语法也就学习完成。 程序设计思想 程序本身采用的编写方式: 是面向对象的设计思想还是函数式的设计方式, 或者是两种方式都可以使用,然后整体学习后, 需要取舍,到底在具体开发中应该采用 哪种方式更好,需要综合考虑。 对于面向对象,要熟悉当前所学的开发语言的 面向对象的设计是否完备,是通过什么样的方式 来实现对象的特性的,也需要与之前的开发语言对比, 记下当前学习的编程语言不同点。 而对于函数式,需要理解其表达方式与当前 掌握开发语言的不同点,比如ECMAScript6 与ECMAScript5的函数表达方式不一样。 应用场景:应用场景的区分,思考并决定是否需要 适配开发环境等,应用场景一般从几个方面思考, 主要分为服务器端、客户端、底层与硬件交互应用; 而客户端又分为PC端、WEB端、手机App等。 分析这些主要是源于,开发程序很多时候 仅仅依靠开发程序本身是做不了很多事情的, 而是依赖于调用底层的一些处理接口来做数据处理 或得到数据,这一块的知识也是需要去了解和掌握的。 数据结构和算法 我觉得,而且我也承认,在做开发的一开始, 根本就不知道书本上表达的程序=数据结构 算法 到底是一个什么样的意思,或者说根本就找不到 应用场景,后来学会了编程语言并在实际工作中 检验之后发现,其实,程序一开始设计就包含 由基础的数据结构,如C语言的结构体,联合体, 然后通过相对简单的数据结构实现更复杂的树等。 而我在学习的时候,把数据类型也归于数据结构, 说得准确一些是把数据类型归于数据结构的基础原子。 而对于数组类型的数据,更愿意把这种结构 叫做数据结构,这是因为我在工作中发现, 不同的数组结构设计,会在做遍历或者是其他的 一些处理的时候,虽然数据一致,但是处理起来 的时间成本可能相差几十倍甚至几百倍。 而在学习编程语言的时候,一方面的数据结构 是能灵活的运用当前的开发语言表达我们常遇到的 一些数据结构,如图或树这种比较复杂的数据结构; 另外一方面就是掌握好基础的数据结构原子, 还有开发语言本身的设计是否由数组等。 而对于算法,我觉得处理一件具体事务或者, 处理一段具体的数据的程序就是算法, 在学习的时候,能使用程序来处理常见或 比较复杂的数据结构,我觉得基本上整体学习就 基本完成了,然后就可以正式进入开发状态。 综合来看,在学习的时候,完全的投入精力去学习, 基本上一天的时间足够掌握一门编程语言。 兄弟连期待你的加入 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|