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

前言

工欲善其事必先利其器,编程语言就是程序员手中的“器”,用来实现软件编程的工具。学习和掌握编程语言的能力是基本功,也是技术进阶的先决条件。
计算机现代编程语言基本从上世纪50年代就开始成型,起初的目的就是为了代替汇编,方便编写和移植软件程序,发展至今,已经相当成熟,
C、C++、Java、C#、Python、JavaScript、PHP等语言常年霸占各类语言排行榜和职位招聘要求。即使这样,随着云计算、移动互联网的兴起,新的编程语言
同样层出不穷,go、swift、kotlin等更是越来越流行。

因此语言是发展的,一是新的需求产生新的语言;二是传统的语言不断更新,增加新的特性。快速学习和掌握编程语言的能力是至关重要的。

学习方法

学习和掌握一门新的编程语言,基本有以下的步骤:
如何快速学习并掌握一门编程语言_第1张图片
1.了解这门编程语言的简介,至少了解它是什么样的语言,到底是干什么,例如是编译型语言还是解释性脚本、是服务器端编程还是Web前端编程;
2.确定自己的学习的目的,是纯粹的兴趣了解,还是现在工作项目急需用;
3.寻找资料,建立学习内容框架和计划,资料肯定已官方网站的文档为主,另外可以看看一些写的好博客,这样更快的了解和入门。一门语言,
有众多的知识点,必须分清主次,有计划的学习,因此确定学习框架很重要。
4.实践编程,通过编写一些小程序和例程,实现常用功能,这样才能真正掌握该门编程语言。
5.优秀的编程语言一定会不断发展,请关注该语言相关的社区、论坛和博客等资源,不断巩固和更新自己的知识。

以Go语言学习为例

Go语言是什么

Go语言是谷歌出品的一门崭新的编译型、支持并发的偏服务器端的编程语言。Go语言目前在容器领域应用广泛,基本容器领域的顶级项目都是它
编写的,例如Docker、K8s等,另外它是一门性能突出的编译型后台语言,适合微服务架构的编程。
以上就是一些简单的了解,学习它应该知道它是什么,当然如果想了解的更多,可以去看看百科的介绍。基本上就完成了这一步学习。

当然介绍中会出现很多语言的特性,例如并发、编译等,这些特性先了解,之后具体的学习中一一验证。

自己学习的目的

例如我,现在很简单,工作上会使用,而且十分看好,因为容器云平台的发展,必然需要容器云开发工程师,而Go是容器领域的原生语言,支持
是最好的,此外容器技术很多源码是Go编写的,如果不学习,底层问题看源码时,将无从下手。

当然你也可以有其他的学习目的,也许你只是想尝一下新鲜感,但是这也没关系,凡有所学,必有所用。

资料、学习框架和计划

这一步是有技术含量的了,我主要参照官方主页的文档和自己自身学习C语言、Java语言的经验制定,其实大家也可以根据自己的技术栈,制定
自己的学习框架和计划,这样学习的效率会更高。因为学习中,可以和自己的已有的知识比较学习,提炼共性的东西和不同的地方。

我认为,Go语言作为编程语言,其实基本语法方面很多还是和C语言类似的,建立如下框架,当然框架可以在学习的过程不断完整和修改。

1.Hello World
Hello World是程序员入门新技术的第一个程序示例,这是很好的学习方法,因为第一次对该技术有了一个直观的认识,用该技术实现从0到1的完整的编程。
当然,学习Hello World绝不是仅仅看到Hello world的输出结果,就算结束了,应该掌握以下知识点:

  • go语言编程环境的安装方法、常用IDE工具的安装
  • 编译工具的命令使用,使用Go语言工具完成代码的编译、调试和执行
  • Go语言源代码文件的基本结构组成,例如Main函数写法、包引入写法等

2.基本语法
Go语言的基本语法主要包括以下:

  • 代码本身的语法规定:注释写法、标识符写法、关键字、运算符和标点符号、字面量写法(整数、浮点数、虚数、Unicode字符、字符串)
  • 常量、变量语法
  • 基本数据类型:布尔、整数、浮点数、虚数、Unicode字符、字符串
  • 组合数据类型:数组,结构,指针,函数,接口,切片,映射,通道
  • 代码块{},变量声明与范围
  • 表达式、语句

3.语言特性

  • 内置函数:go语言内置的函数语法
  • 代码包的组织:多个代码包和库如何组织和使用
  • 初始化和运行:变量默认初始化、包的初始化、Main函数
  • 错误处理、运行时错误
  • 并发

4.常用库学习

  • net:网络编程功能,包括TCP/IP,UDP,HTTP等;
  • io:提供重要的程序I/O功能和函数;
  • database: 提供关系型数据程序接口和访问驱动;
  • encoding:提供json、xml等常用格式的编解码处理;
  • fmt:提供标准的格式化输入输出功能;
  • hash:提供hash函数计算功能,支持多种算法;
  • sort:提供集合和分片的排序功能;
  • math:提供数据计算函数;
  • strconv:提供字符串与基本数据类型的转换;
  • strings:提供UTF-8编码字符串的处理;
  • text:提供UTF-8文本处理;
  • sync:提供并发编程的同步原语操作;
  • time:时间功能函数

5.实验示例

  • 实现一个简单的TCP通信的简单程序,熟悉网络编程
  • 实现一个简单Web服务器,提供简单的静态html展示
    …<可以结合工作实际,想一些简单的例子,进行学习编程)

总结分享和继续学习

学习不是一蹴而就的,应该循序渐进,通过记录笔记和学习过程的问题,进行总结和分享,同时继续关注该语言领域的应用发展,这样才能真正掌握
一门编程语言。

以上转自公众号:码农指南,探索、分享和交流技术路线及人生经验,编程之技,唯熟练尔,唯勤学尔。如有侵权,请联系删除。
如何快速学习并掌握一门编程语言_第2张图片

你可能感兴趣的:(转自公众号文章,Go语言)