山西大学开源软件协会山西大学开源软件协会
前言
开始
自学指南
Linux
超算
算法
网络安全
AI
百团
  • zhujiechong
  • thefirsts.md
工具
关于
Github
  • 简体中文
  • English
前言
开始
自学指南
Linux
超算
算法
网络安全
AI
百团
  • zhujiechong
  • thefirsts.md
工具
关于
Github
  • 简体中文
  • English
  • 自学指南

自学指南

基本概念

重要

接下来我会用几句话解释一些基本概念,请你用开始一节中提到的方法搞懂你不知道的名词

  • 你正在使用的操作系统 大概率是windows,它有着标志性的四窗格logo,你的一切行为都是在这个操作系统上进行的,另一个常见的操作系统是linux
windows logo
windows logo
  • 如果你正在学习一门编程语言,那么你需要搭建好其对应的开发环境,一般是安装IDE。如果是解释型语言,那么你需要安装解释器,编译型语言需要编译器,你可能还需要配置好环境变量。

  • 编程语言没有层级关系,你可以挑选一门自己感兴趣的语言学习,但是最好先了解不同语言的特性,比如C++的性能更好,适用于编写高性能的程序,python的语法更简单,便于学习。

  • 你可以在任何地方编写源代码,包括记事本,源代码是你写的程序的原始形式,编译型语言将源代码转换为可执行二进制文件来运行,解释型语言通过解释器来翻译运行;在现代IDE中,IDE帮你做好了很多事情,使得很多时候你能非常轻松的运行。

  • 如果你编写了一个打印hellworld程序并运行,那么在你的桌面上会弹出一个黑色的窗口并显示‘hello world’,这个黑色的窗口就是命令行窗口,粗略地说,这个黑窗口由两部分组成,一部分是shell,一部分是terminal

注

这几句话只是想让你明白写代码到底是怎么个事,如果你第一次接触感觉不好理解也没关系,你以后有的是时间和它们打交道,同时你也要养成遇到新概念查阅资料的习惯,这是程序员的基本功

搭建好开发环境

工欲善其事必先利其器,搭建好开发环境是你学习编程的第一步,遗憾的是学校的教材根本不提,某些老师也不说,可能会对你的学习造成很大困惑,当然你需要自行搜索并搭建,这里给你一些参考(默认在windows系统下):

vscode

提示

你可以在vscode中编写任何代码,只需要下载对应的插件,关于vscode的详细使用或许你可以上b站看看,或者在这里查看官方文档,有了vscode,你可以不下载其他的IDE.

注

使用vscode运行编译型语言需要安装对应的编译器,比如说C/C++需要安装mingw,java需要安装jdk,相比较来说不如其他的IDE方便,我个人使用的配置是vscode+wsl,远程连接到wsl的linux子系统编译运行代码,你可以参考linux之旅来更多地了解linux

注意

不要把你的用户名设置成中文,具体来说就是C盘下的用户目录不要是中文,不然运行会出现奇怪问题;不要把文件名设置成中文,原因同上

提示

如果你的用户名设置成了中文,那你最好要么重装系统,要么用管理员账户新建英文用户并链接替到中文用户,具体操作自行搜索

IDE

  • C,C++:
    • Visual Studio
    • CLion
  • python:
    • PyCharm
  • java:
    • IntelliJ IDEA
  • web:
    • WebStorm

提示

还记得么?你可以使用JetBrains学生包免费使用这些IDE

自学资源

  • 现代c++教程

  • 菜鸟教程

  • csdiy

提示

建议详细阅读这份由北大学生维护的wiki

注意

csdiy已经涵盖了大部分计算机方向的优质课程,可是大多优质课程都是国外的,所以你需要魔法才能访问这些课程

提示

如果你已经解决了魔法问题而被英文困扰的话,可以使用DeepL翻译,还记得在一开始提到的浏览器插件么?它也有插件版本。

  • 一生一芯

提示

这个项目教你从零开始造一个cpu,如果你对计算机的底层不感兴趣,可以只参考预学习部分,里面汇集了一些相当好的资源,尤其是学习c语言的

重要

在csdiy和一生一芯中提到的必学工具本文不再赘述,可以参考the missing semester of your cs education

一些建议

  • talk is cheap,show me the code

  • 你可以在github上找到很多优质的项目,你可以学习他们的代码,学习他们的思路,甚至可以参与到他们的项目中,你可以在github的explore中找到最近全球的程序员都在关注哪些项目

  • 安排好你的时间,投入足够的注意力,你能得到超乎你想象的收获

Last Updated:
Contributors: kungfudaibi
Prev
开始
Next
Linux 之旅