我应该学习哪些编程基础知识?

wai*_*933 4 programming-languages

我在编程方面有一个非常奇怪的学习经历.我有点教C++,但我没有从中得到很多.这是我从中得到的:标题和变量声明.我试着自学PHP,其中我学到了很多东西.问题是,我的很多知识都是广泛的,随机的,并针对特定情况而设计.

所以,我的问题是:在大多数语言中编程有哪些基础知识?

Pet*_*erg 23

术语"基础"意味着一个简短的列表,但要成为一名有效的程序员,您必须学习很多概念.但是,一旦你学会了它们,你就可以跨语言应用许多相同的概念.

我编写了一个(很长的!)概念列表,这些概念在几种(如果不是大多数)编程语言中很重要.

  • 语言语法

    • 关键词
    • 命名约定
    • 运营商
      • 分配
      • 算术
      • 其他
    • 字面
    • 条件语句
      • 如果别的
      • 开关/箱
      • 什么被认为是真或假(0?空字符串?空?)
    • 循环结构
      • 对于
      • 的foreach /迭代
      • 这样做,而
    • 异常处理
    • 导入/包含其他文件的代码
  • 输入系统

    • 强/弱
    • 静态/动态
  • 内存管理

  • 作用域

    • 有哪些范围可用
    • 如何处理重叠范围
  • 语言结构/程序组织

    • 变量
    • 方法
    • 功能
    • 关闭
    • 封装/模块/命名空间
  • 数据类型和数据结构

    • 基元
    • 对象
    • 数组/列表
    • 地图/哈希/关联数组
    • 枚举
    • 字符串
      • 字符串连接
      • 字符串比较和相等
      • 替换
      • 可变性
      • 用于创建文字字符串的语法
  • 功能,方法,闭包

    • 方法/函数重载
    • 方法/功能覆盖
    • 参数传递(按值传递/按引用传递
    • 返回值(单次返回/多次返回)
  • 语言类型(不相互排斥)

    • 脚本
    • 程序
    • 实用
    • 面向对象
  • 面向对象的原则

    • 遗产
    • 经典与典型
    • 单个,多个或其他
    • 静态变量/全局变量
    • 访问修饰符(私有,公共,受保护)
  • API(或如何做基本的东西)

    • 基本I/O.
    • 打印到标准输出
    • 阅读标准版
    • 文件I/O.
      • 读一个文件
      • 写一个文件
      • 检查文件属性
    • 使用正则表达式
    • 引用环境变量
    • 执行系统命令
    • 线程模型
      • 创建线程
      • 线程安全
      • 同步原语
    • 模板


Rob*_*upt 5

此处未提及的另一个重要事项是面向对象编程.围绕类,继承,接口等的想法.