从IOer入门到正式编程
编程语言是编程的核心工具。如果你只通过信息竞赛接触编程,那么你很需要学好一门编程语言.
就拿C++举例,中学阶段竞赛所学习的C++编程往往是竞赛专精版本的。要入门正式编程,需要学习较为完整的C++语法,比如说面向对象的编程**,模板类型,函数重载重写,多文件项目等等。
简单学习C++语法可以先看这个网站 C++ 教程 | 菜鸟教程 (runoob.com)
要继续深入学习可以看看这本书,完整的介绍了C++各方面语法,非常细致,对编程很有帮助。这本书上面有不到十处错误,买来需要先查阅勘误(我在19年买的,可能后续的修正了,不太清楚)
C++学习难度曲线可能过大,可以试着先学一门其他语言。
编程语言可以分为**动态类型语言** 和 **静态类型语言** 两种
动态类型语言的变量没有固定的类型,一个变量既能存储整数也能存储浮点数,布尔值,字符串等等,比较知名的有 JavaScript 和 Python.
静态类型语言则为各位熟知,它们的变量拥有确定的,不可变的类型,比较知名的有
- C/C++
- Java
- Rust
- Go
如果读者非常喜欢C++,那么可以从**C++**进一步学习来入门普通的编程,学习面向对象,项目开发等。
现代C++ 拥有十分多的现代化编程语言的特性:函数式,模块,管道运算符等等,学习C++先学习其语法(看C++ Primer Plus),做几个小游戏什么的,再学现代C++.
我这里首先推荐学习 Go语言,语法简单高效,编码风格统一,自带测试方法,还能学到模块有关知识,非常容易上手的一门语言,很适合前期学习。
Rust 以其内存安全性为特点,不过笔者并没有学习过,但是有幸见过代码,和其他语言一样,十分优雅。
Java 大家或多或少都有用过了,比如说最知名的Minecraft Java版本,如其名,就是使用Java开发的。现在Java的生态非常成熟,小型项目到大型项目都可用其编写,拥有完整的面向对象特性,并且可以帮助你学习开发,十分推荐。如果觉得很麻烦那我就推荐Go(因为笔者最近写Go,太爽了)