如果你简单接触过计算机,并且想开始学习编程,本文会带你走上正路。
TL; DR
本文要点
- 准备一台计算机,可以开机,最好连个网。
- 准备一个纯文本编辑器,不要使用 word 或者类似的文字处理软件。或者选择一个代码编辑器。学会使用它。
- 选择一门编程语言。推荐初学者学习 python,java,scheme Lisp 。
- 安装这门编程语言的编译器,或者解释器,配置开发环境。
- 学会这门编程语言。编写代码,不要复制。
- 学习算法,数据库,操作系统等课程。
- 选择未来发展方向,桌面软件,web 网站,游戏开发。
- 其他有用的信息。
1. 准备工作
开始编程的第一步,首先,你需要一台计算机。
现在的计算机设备种类繁多。最常见的计算机,台式机,笔记本,包括平板和手机也是便携的计算机设备。
一般的,它们都有键盘鼠标,显示器,CPU ,内存和其他存储设备。市面上大部分计算机都是类似的结构,因为最常见的计算机的结构,称为冯诺依曼体系结构。
推荐使用笔记本或者台式机,因为使用便携设备编程太费劲。
如果有一台计算机,第一步就完成了。
第二步,打开电脑。
现代的计算机一般都安装了操作系统,所以接通电源,按下开机按钮,就可以启动了。
但是如果计算机上没有装操作系统,那么它也无法拿来学习编程。此时,需要安装一个操作系统。(这不是一件简单的事,建议找维修电脑或者卖电脑的人操作。)
如果计算机可以打开,可以进入登录界面或者桌面,第二步就完成了。
第三步,连接网络。
因为开始学习编程的时候,需要下载一些工具,文档,并且有很多东西都需要网络的支持。
如果没有网络,就会很麻烦,就需要通过其他渠道,去获得一些必备工具的安装包拷贝。
2. 最基础工具-编辑器
你需要挑选一个编辑器,然后用编辑器写代码。
这件事看似无关紧要,但是却是很关键的一件事。
因为在学习编程的过程中,大部分时候你都要使用这个编辑器。
它就像写作时候的笔和纸,是最基础的工具。
编辑器的使用习惯,会影响你整个职业生涯。
文本编辑器
那要开始编程,需要怎样的一个编辑器呢?
答案是,纯文本编辑器。
所以,你不能使用类似 word 这样的编辑器,因为它为了文本格式显示,会在文本里插入标签。
这对于编程来讲是灾难性的。
所以,你需要找一个纯文本编辑器。
如果你不想费劲,Windows 系统自带的记事本,Linux 系统里的 vi 就是纯文本编辑器。
代码编辑器
纯文本编辑器是基本要求。在市面上,还是有很多专门的代码编辑器,它们会提供很多重要的辅助功能。
当你的代码超过几千行的时候,快速定位,代码补全,对齐,引号,括号补全,这些功能就比较关键了
。而且这些代码编辑器还提供丰富插件,提供更多辅助。
而且代码编辑器而且经过学习和使用之后,这些功能都通过快捷键实现,编辑器会成为你双手的延伸。
代码编辑器的推荐
最基本的,要学会使用一个纯文本编辑器。
- windows 和 macOS 平台下,推荐 vscode 编辑器。
- Linux 平台下,推荐 vim 编辑器。
- jetbrains 公司专门提供编程相关的工具,这家公司的编辑器,颜值都很高。
- 新推出的 zed 编辑器兼顾速度,美观和可靠性,可以尝试使用。
闲话
虽然不是很要紧,但是还是要提一句,最好使用一个等宽的,可以区分数字 0 、 1 与字母 O 、 l 的字体。
3. 编程语言和工具
手上有了一个编辑器,下一个关键问题就是,你想选择学习什么编程语言。
推荐初学者学习的编程语言
- Python
- java
- scheme Lisp
编译器,解释器
无论是编译型语言,还是解释性语言,都需要一个,可以把代码文件,转换之后可以运行的东西。
选择好要学习的语言之后,下一个目标就是寻找一个这门语言的实现,包括编译器或者解释器,调试器。
一般的,在这门语言的官网,社区,你可以获得这些东西的安装和简单使用的指导。
- 编译器或者调试器,运行环境。
- 调试器,用来调试代码,寻找漏洞。
有了编译器或者解释器,你就可以运行代码了。
其他有用工具
- 集成开发环境,简称IDE ,集成了编辑器,编译器,库管理,项目管理等工具,例如微软的 vs ,开箱即用。
- 项目管理工具,管理一个项目的文件和结构的工具,例如 make 。
- 版本控制工具,更好的控制项目开发流程,方便合作。很多公司新程序员入职,最开始学习的就是如何使用版本控制工具,这是开始一个大型项目的基础工具。例如 git 。
- 命令行工具,例如Linux 下的bash ,Windows 下的powershell 。
4. 学习一门编程语言之后
编程是从学习一门编程语言开始的。
了解它的用法,编写代码,运行,调试。
学会一门语言的用法,就像是学会一个工具的各种用法一样,但是具体使用这个工具来做一个什么,需要其他的东西。
编程相关的课程
如果仅仅学会一门编程语言,是无法支撑起你的职业生涯的。
你还要学习或者了解下面这些课程。
- 算法和数据结构,需要了解一些基本的算法,数据结构和用法,它们会贯穿你的职业生涯。
- 数据库
- 操作系统
- 编译原理
学会编程语言之后的路
-
算法,用编程语言实现某个算法,完成某种运算。算法设计和研究是一个专门的领域。
-
需求分析,软件设计,大部分软件开发的流程都是很严格的,编码工作反而不是最重要的。
-
桌面软件开发,开发桌面软件,小工具,或者开发游戏。
-
web 软件开发,搭建服务器,开发基于网络的应用,提供某些服务。
-
专门工具,编写专门的工具软件。
-
编程语言研究。编程语言的编译器或者解释器,也是使用某个编程语言编写的。
如何继续学习下去
- 加入一家软件公司,实现设计,编写相应的代码。
- 参加某个开源项目开发,为开源社区做贡献。
- 自己发现需求,编写自己的软件。
5. 其他
- 编程是一件很困难的事,需要集中注意力,关注很多细节。
- 学习编程最好的方式,就是编写大量代码。
- 阅读源代码,并且学会一些基本编码风格。因为代码编写出来是给人阅读的,偶尔给计算机执行。
6. 本文提到的软件
编辑器:
Windows记事本
vi
vscode
vim
zed
IDE:
jetbrains 系列
微软的vs
其他工具:
make
git
bash
powershell