如何学编程语言?好菜鸟学习编程语言的步骤很多人喜欢争论什么什么编程语言好,我认为这个话题如果不限定应用范围,就毫无意义。

每种编程语言必然有其优点和缺点,这也决定了它有适合的应用场景和不适合的应用场景。现代软件行业,想一门编程语言包打天下是不现实的。这中现状也造成了一种现象,一个程序员往往要掌握多种编程语言。

学习任何一门编程语言,都会面临的第一个问题都是:如何学习 XX 语言?我不想说什么多看、多学、多写、多练之类的废话。世上事有难易乎?无他,唯手熟尔。谁不知道熟能生巧的道理?

我觉得有必要谈谈的是:如何由浅入深的学习一门编程语言?学习所有编程语言有没有一个相对统一的学习方法?

曾几何时,当我还是一名小菜鸟时,总是叹服那些大神掌握多门编程语言。后来,在多年编程工作和学习中,我陆陆续续也接触过不少编程语言:C、C++、Java、C#、Javascript、shell 等等。每次学习一门新的编程语言,掌握程度或深或浅,但是学习的曲线却大抵相似。

下面,按照个人的学习经验总结一下,学习编程语言的基本步骤。

学习编程语言的步骤01基本语法

首先当然是了解语言的最基本语法。控制台输出,如 C 的 printf,Java 的 System.out.println 等。普通程序员的第一行代码一般都是输出 “Hello World” 吧。

• 基本数据类型

不同编程语言的基本数据类型不同。基本数据类型是的申请内存空间变得方便、规范化。

• 变量

不同编程语言的声明变量方式有很大不同。有的如 Java 、C++ 需要明确指定变量数据类型,这种叫强类型定义语言。有的语言(主要是脚本语言),如 Javascript、Shell 等,不需要明确指定数据类型,这种叫若类型定义语言。

还需要注意的一点是变量的作用域范围和生命周期。不同语言变量的作用域范围和生命周期不一定一样,这个需要在代码中细细体会,有时会为此埋雷。

• 逻辑控制语句

编程语言都会有逻辑控制语句,哪怕是汇编语言。掌握条件语句、循环语句、中断循环语句(break、conTInue)、选择语句。一般区别仅仅在于关键字、语法格式略有不同。

• 逻辑控制语句

掌握基本运算符,如算术运算符、关系运算符、逻辑运算符、赋值运算符等。有些语言还提供位运算符、特殊运算符,视情节掌握。

• 注释

没啥好说的

• 函数

编程语言基本都有函数。注意语法格式:是否支持出参;支持哪些数据作为入参,有些语言允许将函数作为参数传入另一个参数(即回调);返回值;如何退出函数(如 Java、C++的 return,)。

02数组、枚举、集合

枚举只有部分编程语言有,如 Java、C++、C#。但是数组和集合(有些语言叫容器)一般编程语言都有,只是有的编程语言提供的集合比较丰富。使用方法基本类似。

03常用类

比较常用的类(当然有些语言中不叫类,叫对象或者其他什么,这个不重要,领会精神)请了解其 API 用法,如:字符串、日期、数学计算等等。

04语言特性

语言特性这个特字反映的就是各个编程语言自身的"独特个性",这涉及的点比较多,简单列举一些。

• 编程模式

比较流行的编程模式大概有:面向对象编程,主要是封装、继承、多态;函数式编程,主要是应用 Lambda;过程式编程,可以理解为实现需求功能的特定步骤。

每种编程模式都有一定的道理,我从不认为只有面向对象编程才是王道。Java 是面向对象语言,从 Java8 开始也支持函数编程(引入 Lambda 表达式);C++ 可以算是半面向对象,半面向过程式语言。

•  语言自身特性

每个语言自身都有一些重要特性需要了解。例如,学习 C、C++,你必须了解内存的申请和释放,了解指针、引用。而学习 Java,你需要了解 JVM,垃圾回收机制。学习 Javascript,你需要了解 DOM 操作等。

05代码组织、模块加载、库管理

一个程序一般都有很多个源代码文件。这就会引入这些问题:如何将代码文件组织起来?如何根据业务需要,选择将部分模块启动时进行加载,部分模块使用懒加载(或者热加载)?

最基本的引用文件就不提了,如C、C++的#include,Java 的 import 等。

针对代码组织、模块加载、库管理这些问题,不同语言会有不同的解决方案。

1分不嫌少!

已有1人打赏

打赏给楼主

请选择打赏金额:(请输入整数)

1元5元10元

其它金额: 元

确定

X

自动化学计算机语言先学什么,如何学编程语言?好菜鸟学习编程语言的步骤相关推荐

  1. 自动化学计算机语言先学什么,要入门PLC编程 先搞清这5种专用语言

    原标题:要入门PLC编程 先搞清这5种专用语言 PLC,(Programmable Logic Controller),乃是一种电子装置,早期称为顺序控制器"Sequence Control ...

  2. 学计算机语言步骤,如何学编程语言?好菜鸟学习编程语言的步骤

    很多人喜欢争论什么什么编程语言好,我认为这个话题如果不限定应用范围,就毫无意义.本文引用地址:http://www.eepw.com.cn/article/201805/379381.htm 每种编程 ...

  3. python12306买票_Python-12306模拟自动购票!快过年了,学起来啊!

    原标题:Python-12306模拟自动购票!快过年了,学起来啊! from time import sleep from selenium import webdriver def login(): ...

  4. 学计算机语言从何开始,小孩学编程从哪开始

    孩子学编程意在培养他的编程思维和计算思维,是一种培养逻辑思维的方式之一,更多层面上是对程序的启蒙教育.想知道小孩学编程从哪开始,接着往下看吧. 小孩学编程从哪开始 1.学习基本概念 让孩子了解什么是编 ...

  5. python学了有用吗-为什么要学Python?学了有什么用?

    近几年来,"学Python"的热潮是一浪高过一浪,就连SOHO中国董事长潘石屹近来也在微博上宣布,要开始学习语言Python.为什么要学Python?在当下这个人工智能高速发展的时 ...

  6. 电气工程及其自动化学不学c语言,电气工程及其自动化学什么 就业方向有哪些...

    电气工程及其自动化学什么 就业方向有哪些2019-05-05 11:16:29文/刘美娟 电气工程及其自动化专业是电气信息领域的一门新兴学科,触角伸向各行各业,小到一个开关的设计,大到宇航飞机的研究, ...

  7. 学python有什么用-为什么要学Python?学了有什么用?

    近几年来,"学Python"的热潮是一浪高过一浪,就连SOHO中国董事长潘石屹近来也在微博上宣布,要开始学习语言Python.为什么要学Python?在当下这个人工智能高速发展的时 ...

  8. 学计算机的学后感,计算机学习心得体会

    第1篇:计算机学习心得体会 在未学习计算机之前,我从不知道它到底是干什么用的,为什么很多很多的人都要迫不及待的地要去学它,同时也有人陷入计算机的泥潭,不能自拔.自从我触摸到它的时候,即老师教给我们怎样 ...

  9. 轻松学c语言编程.pdf等,轻松学编程 轻松学C语言编程pdf

    轻松学编程 轻松学C语言编程 内容简介 <轻松学编程:轻松学C语言编程>从初学者的角度出发,以通俗易懂的语言.丰富多彩的实例,详细介绍了使用C语言进行程序开发应该掌握的各方面知识.全书共1 ...

最新文章

  1. CS专业读PhD是否有意义?附CS奖学金项目清单
  2. K-近邻分类算法KNN
  3. 明天mbzuai面试的准备,严阵以待
  4. 使用sklearn来处理类别数据
  5. linux 禁ping设置
  6. 第八篇Django分页
  7. .net研发工程师面试题,在线交流答案
  8. 关于自动装箱和自动拆箱
  9. Mybatis配置信息浅析 MyBatis简介(二)
  10. java-redis字符类数据操作示例(一)
  11. pubmed 影响因子_如何在Pubmed利用影响因子筛选文献?
  12. [转]关于ORA-00979 不是 GROUP BY 表达式错误的解释
  13. Activity、View、Window的理解一篇文章就够了
  14. DockOne微信分享(一四一):如何开发部署Kubernetes Native应用
  15. 将rdd存储到本地的一个文件中
  16. webuploader多图片上传php,PHP 多图上传,图片批量上传插件,webuploader.js,百度文件上传插件...
  17. Java之力[从蛮荒到撬动地球]之设计模式
  18. linux查询文件夹大小
  19. USACO 19 FEB Mowing Mischief P 题解
  20. 【Linux】关于Linux中的权限

热门文章

  1. Linux x86 和ARM什么区别?
  2. 端到端图像编码和VVC的结合
  3. 【JAVA进阶架构师指南】 小白勿点
  4. 使用 VS2015 编译并调试 ffmpeg
  5. 怎样上幼儿园电脑计算机课,幼儿园电脑课堂常规要求教案
  6. matlab 阻抗,怎么用matlab对传输线的阻抗匹配进行仿真?
  7. [转]语音辨识的常见问题集
  8. 【会声会影】初装会声会影时,必要的设置
  9. AngularJS 实践:应用开发 :: ENA13 价格条码-(四)
  10. Kubernetes--容器编排技术的发展史