Git Product home page Git Product logo

do-not-programming-like-an-ioer's Introduction

Do-Not-Programming-Like-an-IOer

从IOer入门到正式编程

学习好语言本身

编程语言是编程的核心工具。如果你只通过信息竞赛接触编程,那么你很需要学好一门编程语言.

就拿C++举例,中学阶段竞赛所学习的C++编程往往是竞赛专精版本的。要入门正式编程,需要学习较为完整的C++语法,比如说面向对象的编程**,模板类型,函数重载重写,多文件项目等等。

简单学习C++语法可以先看这个网站 C++ 教程 | 菜鸟教程 (runoob.com)

要继续深入学习可以看看这本书,完整的介绍了C++各方面语法,非常细致,对编程很有帮助。这本书上面有不到十处错误,买来需要先查阅勘误(我在19年买的,可能后续的修正了,不太清楚)

C++_Primer_Plus

C++学习难度曲线可能过大,可以试着先学一门其他语言。
编程语言可以分为**动态类型语言** 和 **静态类型语言** 两种

动态类型语言的变量没有固定的类型,一个变量既能存储整数也能存储浮点数,布尔值,字符串等等,比较知名的有 JavaScriptPython.

静态类型语言则为各位熟知,它们的变量拥有确定的,不可变的类型,比较知名的有

  • C/C++
  • Java
  • Rust
  • Go

如果读者非常喜欢C++,那么可以从**C++**进一步学习来入门普通的编程,学习面向对象,项目开发等。

现代C++ 拥有十分多的现代化编程语言的特性:函数式,模块,管道运算符等等,学习C++先学习其语法(看C++ Primer Plus),做几个小游戏什么的,再学现代C++.

我这里首先推荐学习 Go语言,语法简单高效,编码风格统一,自带测试方法,还能学到模块有关知识,非常容易上手的一门语言,很适合前期学习。

Rust 以其内存安全性为特点,不过笔者并没有学习过,但是有幸见过代码,和其他语言一样,十分优雅。

Java 大家或多或少都有用过了,比如说最知名的Minecraft Java版本,如其名,就是使用Java开发的。现在Java的生态非常成熟,小型项目到大型项目都可用其编写,拥有完整的面向对象特性,并且可以帮助你学习开发,十分推荐。如果觉得很麻烦那我就推荐Go(因为笔者最近写Go,太爽了)

do-not-programming-like-an-ioer's People

Contributors

qingzhixing avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.