首页 存档 技术 查看内容

为什么我能一天就能掌握一门编程语言?

2018-3-30 13:00 |来自: 互联网 355 0

摘要: 一天掌握一门语言,我觉得对于一个比较资深的 程序员,应该都是比较容易的,而如果对于一个刚 学习某一门开发语言不久的人来说,会觉得我在瞎扯。 当然,我此处说的掌握并不是精通,而是指开始工作 或利用某一门程序 ...

一天掌握一门语言,我觉得对于一个比较资深的

程序员,应该都是比较容易的,而如果对于一个

学习某一门开发语言不久的人来说,会觉得我在瞎扯。

当然,我此处说的掌握并不是精通,而是指开始工作

或利用某一门程序语言着手于某件事情。


要掌握一门编程语言,是有规律可循的,而这些

规律也只有通过学习几门编程语言才能积累起来。

通常,我觉得的编程语言学习规律分为:

语法学习 程序设计思想 数据结构和算法。


语法

任何开发语言,都是由语法开始的,

语法是一门开发语言的基础,学习任何开发语言,

首先肯定是要学习其语法,知道其表达方式,

才能在接下来如何运用其语法表达思想或逻辑。


从整体来说,语法分为几个部分,函数编写部分、

类与对象部分、数据类型部分、逻辑结构部分

(递归,判断)、输入输出、文件操作等。

而学习一门新的编程语言,大致是花上一个小时

先总体的浏览一遍,然后在头脑中与当前学习的

开发语言形成对比,并对比区别与之前

所学的开发语言的表达方式的异同之处,

需要记的地方也就是不同之处,

在开发的时候注意区别就好。

此部分的基础语法也就学习完成。


程序设计思想

程序本身采用的编写方式:

是面向对象的设计思想还是函数式的设计方式,

或者是两种方式都可以使用,然后整体学习后,

需要取舍,到底在具体开发中应该采用

哪种方式更好,需要综合考虑。

对于面向对象,要熟悉当前所学的开发语言的

面向对象的设计是否完备,是通过什么样的方式

来实现对象的特性的,也需要与之前的开发语言对比,

记下当前学习的编程语言不同点。

而对于函数式,需要理解其表达方式与当前

掌握开发语言的不同点,比如ECMAScript6

与ECMAScript5的函数表达方式不一样。


应用场景:应用场景的区分,思考并决定是否需要

适配开发环境等,应用场景一般从几个方面思考,

主要分为服务器端、客户端、底层与硬件交互应用;

而客户端又分为PC端、WEB端、手机App等。

分析这些主要是源于,开发程序很多时候

仅仅依靠开发程序本身是做不了很多事情的,

而是依赖于调用底层的一些处理接口来做数据处理

或得到数据,这一块的知识也是需要去了解和掌握的。


数据结构和算法

我觉得,而且我也承认,在做开发的一开始,

根本就不知道书本上表达的程序=数据结构 算法

到底是一个什么样的意思,或者说根本就找不到

应用场景,后来学会了编程语言并在实际工作中

检验之后发现,其实,程序一开始设计就包含

由基础的数据结构,如C语言的结构体,联合体,

然后通过相对简单的数据结构实现更复杂的树等。


而我在学习的时候,把数据类型也归于数据结构,

说得准确一些是把数据类型归于数据结构的基础原子。

而对于数组类型的数据,更愿意把这种结构

叫做数据结构,这是因为我在工作中发现,

不同的数组结构设计,会在做遍历或者是其他的

一些处理的时候,虽然数据一致,但是处理起来

的时间成本可能相差几十倍甚至几百倍。


而在学习编程语言的时候,一方面的数据结构

是能灵活的运用当前的开发语言表达我们常遇到的

一些数据结构,如图或树这种比较复杂的数据结构;

另外一方面就是掌握好基础的数据结构原子,

还有开发语言本身的设计是否由数组等。


而对于算法,我觉得处理一件具体事务或者,

处理一段具体的数据的程序就是算法,

在学习的时候,能使用程序来处理常见或

比较复杂的数据结构,我觉得基本上整体学习就

基本完成了,然后就可以正式进入开发状态。

综合来看,在学习的时候,完全的投入精力去学习,

基本上一天的时间足够掌握一门编程语言。




兄弟连期待你的加入


声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部