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

2023-05-16

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

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

学习任何一门编程语言,都会面临的第一个问题都是:如何学习 XX 语言?

我不想说什么多看、多学、多写、多练之类的废话。世上事有难易乎?无他,唯手熟尔。谁不知道熟能生巧的道理?

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

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

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

学习编程语言的步骤

基本语法

首先当然是了解语言的最基本语法。

控制台输出,如 C 的 printf,Java 的 System.out.println 等。

普通程序员的第一行代码一般都是输出 “Hello World” 吧。

• 基本数据类型

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

• 变量

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

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

• 逻辑控制语句

编程语言都会有逻辑控制语句,哪怕是汇编语言。

掌握条件语句、循环语句、中断循环语句(break、conTInue)、选择语句。一般区别仅仅在于关键字、语法格式略有不同。

• 运算符

掌握基本运算符,如算术运算符、关系运算符、逻辑运算符、赋值运算符等。

有些语言还提供位运算符、特殊运算符,视情节掌握。

• 注释(没啥好说的)

• 函数

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

数组、枚举、集合

枚举只有部分编程语言有,如 Java、C++、C#。

但是数组和集合(有些语言叫容器)一般编程语言都有,只是有的编程语言提供的集合比较丰富。使用方法基本类似。

常用类

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

语言特性

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

• 编程模式

比较流行的编程模式大概有:

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

每种编程模式都有一定的道理,我从不认为只有面向对象编程才是王道。

Java 是面向对象语言,从 Java8 开始也支持函数编程(引入 Lambda 表达式);C++ 可以算是半面向对象,半面向过程式语言。

• 语言自身特性

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

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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学计算机语言步骤,如何学编程语言?好菜鸟学习编程语言的步骤 的相关文章

  • linode中文社区 linodeclub

    Linode Manager管理后台的功能简介 xff01 Linode中文文档 xff08 原创或翻译 xff09 Linode中文社区 Linode讨论 Linode代购 Powered by Discuz 基本操作 Linode Ma
  • 关闭线程池:shutdown()方法与isTerminated()和awaitTermination()配合使用

    今天在项目中使用了线程池 xff0c 发现不会把线程关闭掉 xff0c 所以就看了这方面 xff0c 并作个记录 1 shutdown 和isTerminated 配合使用 目前项目中使用的shutdown 和isTerminated 配合
  • 如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念

    本系列所有文章 如何一步一步用DDD设计一个电商网站 xff08 一 xff09 先理解核心概念 如何一步一步用DDD设计一个电商网站 xff08 二 xff09 项目架构 如何一步一步用DDD设计一个电商网站 xff08 三 xff09
  • Linux_note 命令grep,sed,awk

    1 grep 过滤出指定的行 grep cinvABC 39 word 39 filename color 把匹配到的关键词用红色标识 如 xff1a grep color 39 root 39 etc passwd c xff1a 打印符
  • java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 解决方案

    缺少 commons logging jar
  • 辩和辨的区别

    辩 xff1a 用言辞来解释 所以中间是言字旁 辨 xff1a 用眼睛来辨别 所以中间是一只眼睛 xff08 象形字 xff09 辩 xff0c 主要用于说明语言上 xff0c 所以中间有个讠 xff0c 例如辩论 辨 xff0c 主要用于
  • poi workbook转成流

    try ByteArrayOutputStream bos 61 new ByteArrayOutputStream workbook write bos byte barray 61 bos toByteArray InputStream
  • linux下ssh远程登录服务器入门操作

    使用用户名密码登录 在命令行中输入命令 xff1a ssh username 64 ip address p port 之后系统会提示输入密码 xff0c 输入后即可登录 如果不添加 p选项 xff0c 则默认是22端口 还可以使用 l选项
  • Flutter开发遇坑记录

    问题1 Android Studio flutter 项目运行报错 Launching lib main dart on Android SDK built for x86 in debug mode Initializing gradle
  • 深度剖析CMOS、FinFET、SOI和GaN工艺技术

    真空管的发明是电子工业发展的重要动力 但是 xff0c 在第二次世界大战之后 xff0c 由于需要大量的分立元件 xff0c 设备的复杂性和功耗显着增加 xff0c 而设备的性能却不断下降 xff0c 其中一个例子是波音B 29 xff0c
  • 多线激光雷达与单线激光雷达的区别

    多线激光雷达是指同时发射及接收多束激光的激光旋转测距雷达 xff0c 市场上目前有4线 8线 16 线 32 线 64 线和128线之分 xff0c 多线激光雷达可以识别物体的高度信息并获取周围环境的3D扫描图 xff0c 主要应用于无人驾
  • VSCode + PYQT5 + QtDesigner 环境搭建和测试

    目的 xff1a 编写Python桌面应用程序 备注 xff1a 也可以选择VS2017 43 QtDesigner xff0c 但更喜欢VSCode 第1步 xff1a 安装PyQt5和PyQt5 tools pip3 install i
  • JavaScript 事件委托详解

    基本概念 事件委托 xff0c 通俗地来讲 xff0c 就是把一个元素响应事件 xff08 click focus xff09 的函数委托到另一个元素 xff1b 一般来讲 xff0c 会把一个或者一组元素的事件委托到它的父层或者更外层元素
  • Peoplecode Trace in a File

    Local File amp fle amp fle 61 GetFile GetCwd 34 files Test xml 34 34 W 34 FilePath Absolute amp fle WriteLine 34 Hi 34 a
  • 游标的使用之压缩数据库Log文件

    declare 64 databasename nvarchar 100 定义游标以及赋值 获取所有Online的Database Name declare getDataBaseCursor cursor for select name
  • 13-初识指针

    一 函数的实际运行原理 函数在接受参数的时候 会重新开辟内存来进行计算 二 指针 最牛逼 xff1a 汇编语言 xff1a 都是直接操作地址去访问内存单元里面等内容 C语言作为高级语言 xff1a 提供通过地言 xff1a 都是址去访问内存
  • 从n个元素中选择k个的所有组合(包含重复元素)

    LeetCode Combinations这篇博客中给出了不包含重复元素求组合的5种解法 我们在这些解法的基础上修改以支持包含重复元素的情况 对于这种情况 xff0c 首先肯定要对数组排序 xff0c 以下不再强调 修改算法1 xff1a
  • AFNetworking-RequestSerializer

    概况介绍 xff1a 这篇主要介绍AFNetworking中请求参数序列化的部分 具体代码在AFURLRequestSerialization中 AFURLRequestSerialization包含四部分 AFHTTPRequestSer
  • 使用kotlin遇到的问题

    这是在项目中使用kotlin开发遇见的问题 1 Unresolved reference java 在项目的gradle中 buildscript repositories jcenter maven url 39 https maven
  • 2019《去哪儿》春季校招第一站(含笔试题)

    PS xff1a 点进来的小伙伴 xff0c 我想先声明 xff0c 标题中的去哪儿指的是517Na这家公司 离职已经过去了4天 xff0c 这几天算是过上了悠闲而轻松的日子 瞌睡也睡了 xff08 忘记了早餐存在的价值 xff09 xff

随机推荐