本文章更适合准大一的同学观看

导言

想必很多报考计算机类志愿的高考生在填写志愿的唯一想法就是——我要狠狠赚一笔我对计算机/编程感兴趣

当然,绝大多数人在初高中可能从来没接触过编程。那么,对于一个0基础的纯小白来说,常常会有以下问题:

  • 语言好多啊,我要学哪种,能不能多开

  • 我应该怎么学习编程

  • 我应该选择什么 IDE

  • 有什么推荐的学习工具吗

笔者一年前作为一位同样是0基础,同样有这些想法的小白,在摸索的过程踩了一堆坑,这里进行一些分享

我要学什么语言

翻阅知乎,哔哩哔哩,你可能会看到以下言论:

  • 人生苦短,我选 Python

  • Java 岗位多,薪资也高,现在不学 Java,以后就没机会了,趁着现在的红利,先狠狠赚一笔(手动狗头)

  • 嵌入式才是风口,要学就学C

  • PHP是最好的语言!

  • ……

在这里,笔者首先推荐学C语言

为什么是C语言?

  1. 简单易学:C 语言相对于 Java、和 C++ 而言,语法较为简单,没有过多的高级特性和复杂的概念。

  2. Python 和 Java 都是基于C语言开发的,C++ 是基于 C 语言的扩展,在编程语言基础语法相差不大的前提下,用 C 语言作为编程入门语言是一个好选择

  3. 在 C 和 C++ 中,可以直接使用指针进行编程。理解指针可以帮助你更深入地理解编程语言和计算机底层的工作原理。因为在其他编程语言中或多或少都有指针的概念。

    现在你只需要明白指针的作用很重要就可以了

  4. 使用过面向过程的C语言,学习Java、C++等面向对象的语言可以更好的理解面向对象的优势(各种语言专长的领域不同,没有孰优孰劣之分)

  5. C/C++算法题的题解多

    因为C/C++性能高、运行时间短、内存占用小,所以大多数算法比赛的选手更倾向于选择C/C++

  6. 开发环境最容易安装(专指 Visual Studio )

我要选择什么软件来学习C语言

首先要明确的一点是,我们写C语言常说的 VS (Visual Studio)VS Code (Visual Studio Code) 是完全不同的两个软件

  • VS Code 属于编辑器,本质来说就是一个增强的记事本,只不过微软提供了插件可以让你使用它来实现部分 IDE 的功能。尽管它占用内存相对IDE来说小一些,但需要配置环境(配置环境对初学者来说就是噩梦),对小白来说开发体验会比 IDE 差很多,而且学习成本高一些

  • VS 属于 IDE,IDE(Integrated Development Environment,集成开发环境)简单来说就是把对应语言的开发所需的工具和环境都集成好了,好处就是开箱即用,配置简单,而且使用方便

  • 所以C语言个人推荐VS:VS2022安装教程

  • 当然,VS软件本身体积比较大,想节省硬盘空间的同学也可以考虑devc++

怎么做笔记

拜托,都学计算机了,总不能还手写笔记吧,增删改查知识不累吗

使用 Markdown 语言

Markdown 简单易上手,很多文档和博客(比如这篇)都会使用 Markdown 语言书写

Markdown 学习可以看这篇:Markdown 语言指南 | OrionLi’s Blog

使用 Typora 记录

  1. 点击链接,选择typora_64bit_v1.6.6.0_setup.zip下载压缩包
  2. 解压后,运行typora_64bit_v1.6.6.0_setup.exe
  3. 安装完成后把压缩包下的Crack文件夹下的winmm.dll复制到Typora安装目录
  4. 完成

怎么学习编程

从哪里学

绝大多数情况下,视频比书籍更适合小白入门,文档和示例比视频更适合开发者学习

  • C语言入门视频推荐翁凯的C语言课程:浙江大学 翁恺C语言入门。最后四集可以不用看,只拿C语言当入门语言的话看完结构体就差不多够了

  • 书籍(尤其是入门的书籍)可以当作工具辅助书。预习、复习和查阅的时候使用是最好的

  • 先把谭浩强的《C程序设计》扔了。这本书在那个时代是好书,但现在来看,代码规范和讲解烂爆了

  • 一个方面最多买一本书就行了,不要傻不拉几的买好几本,然后放在角落吃灰

  • 远离清华大学出版社等xx大学出版社出版的书,绝大部分质量极差

  • 推荐异步图书、图灵系列的图书,推荐人民邮电出版社和机械工业出版的图书,推荐外国的书

语言是不是学的越多越好

  • 我们前面已经讨论过了为什么要先学C

  • 我们学习语言,是因为要用语言对应的技术去开发产品。就目前而言:

    • AI方面的基本都使用Python

    • 嵌入式开发使用C语言

      嵌入式系统开发是对于除了电脑之外的所有电子设备上操作系统的开发,开发对象有手机,掌上电脑,机电系统等 (from 百度百科)

    • 前端先学HTML、CSS、JavaScript三大件(现在还要学TypeScript),然后vue或react。

    • 后端绝大多数为Java,少量大公司如字节跳动、哔哩哔哩、知乎等用Go,也有公司是用Python,不过相对更少。游戏服务器几乎都是C++

    • 大数据领域,Java和Python平分秋色,开发者主要是使用它们来调用另一种语言——SQL。

  • 各方向的详细介绍和分流我们会在团队笔试完进行,到时会有专门的宣讲会进行讲解,在这里只是做简单的介绍。