学习过计算机组成原理就会知道,处理器会从主存中取得指令,然后进行解释执行。而他们的交流方式是以二进制方式进行的,也就是他们只能识别1和0

;其实计算机是不知道1和0的,现在的实现方式是以高电压与低电压来代表1/0。CPU会从主存中取出指令进行执行。这样整个计算机就可以运行起来。

计算机作为为人服务的机器,必须接受人的控制。所以最初的“程序”是一种打孔的卡片。读卡机将“程序”读入,CPU进入执行。可想而知,这种“

程序”是物理的,假如上百行的代码,可能需要N公斤重的“卡片”。所以为了提高程序开发效率,和简易程序,就发明了汇编,把汇编编写的程序,进

行翻译,生成一个包括机器码的可执行文件,比如微软的8086汇编,80386汇编。

后来有了微软的PC,人们对计算机的需求急剧增加。汇编的开发效率等方面已经严重的不要满足生产需要,随之开发了对程序员友好的C语言,同时期还有很多

不同风格的语言,这里捡主要的来说。但c语言的开发效率和执行效率,很好的满足了当时的需要。在很长一段时间里,许多智慧的程序员用C语言开发了很多实用

并且强大的程序。以C的功力,现在很多系统都是用C作为底层构造语言,比如python的库就是用C写的。开发语言说到底是为程序员来服务的,C的学习和掌控

难度,对于初级乃至使用C几年的程序员来说,都 极易说出使系统崩溃的BUG,而且C没有面向对象开发范式的支持,对于面向对象的开发形式来说无能为力。

Bjarne Stroustrup在smalltalk的基础上对C进行扩展, 增加了面向对象的支持,从而拉开了C++的发展大幕,而后的C++对泛型的支持,使整个开发语言界面都深受其影响。

同期的JAVA,C#对编程范式的支持 ,也无出其右。不过,现在动态编程的发展,是C++所不具备的能力。正因为C++支持绝在多数主流的开发范式,所以学习

C++是一件比较不容易的事情。

学习C++,要掌握三种编程范式:一:过程式 二:面向对象/基于对象 三:泛型编程;

在这之前要掌握C++的语言细节及概念。

一:基本类型 int bool 等等  二:流程控制 if else while 等  三:类 class  四:泛型

这些语言实现与编程范式,共同构成了C++语言的主体部分。

c++ 概念及学习/c++ concept&learning(一)的更多相关文章

  1. c++ 概念及学习/c++ concept&learning(二)

    上篇内容讲述了整个语言的发展[为什么会产生编程语言],以及学习C++所需要掌握的内容.这节开始认识第一部分最基本的内容:C++的内建类型,也就是基本类型. 在这些知识之前留一个问题:为什么基本所有语言 ...

  2. c++ 概念及学习/c++ concept&learning(三)

    这一篇继续说说程序设计中的基本语句:控制块 一 if类控制语句 if if else if  , else if ,else if(条件语句){如果条件为真,要做的一些事情}  if(条件语句) {如 ...

  3. 【转载】 《Human-level concept learning through probabilistic program induction》阅读笔记

    原文地址: https://blog.csdn.net/ln1996/article/details/78459060 --------------------- 作者:lnn_csdn 来源:CSD ...

  4. 多视图学习(multiview learning)

    多视图学习(multi-view learning) 前期吹牛:今天这一章我们就是来吹牛的,刚开始老板在和我说什么叫多视图学习的时候,我的脑海中是这么理解的:我们在欣赏妹子福利照片的时候,不能只看45 ...

  5. 增强学习(Reinforcement Learning and Control)

    增强学习(Reinforcement Learning and Control)  [pdf版本]增强学习.pdf 在之前的讨论中,我们总是给定一个样本x,然后给或者不给label y.之后对样本进行 ...

  6. 网络表示学习Network Representation Learning/Embedding

    网络表示学习相关资料 网络表示学习(network representation learning,NRL),也被称为图嵌入方法(graph embedding method,GEM)是这两年兴起的工 ...

  7. 机器学习--集成学习(Ensemble Learning)

    一.集成学习法 在机器学习的有监督学习算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往不这么理想,有时我们只能得到多个有偏好的模型(弱监督模型,在某些方面表现的比较好) ...

  8. 零次学习(Zero-Shot Learning)入门(转)

    很久没有更文章了,主要是没有找到zero-shot learning(ZSL)方面我特别想要分享的文章,且中间有一段时间在考虑要不要继续做这个题目,再加上我懒 (¬_¬),所以一直拖到了现在. 最近科 ...

  9. 迁移学习( Transfer Learning )

    在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型:然后利用这个学习到的模型来对测试文档进行分类与预测.然而,我们看到机器学习算法在当前的Web挖掘研究中存在着一个关 ...

随机推荐

  1. [OOD]违反里氏替换原则的解决方案

    关于OOD中的里氏替换原则,大家耳熟能祥了,不再展开,可以参考设计模式的六大设计原则之里氏替换原则.这里尝试讨论常常违反的两种形式和解决方案. 违反里氏替换原则的根源是对子类及父类关系不明确.我们在设 ...

  2. C++:虚基类

    4.4.3 虚基类1.没什么要引入虚基类 如果一个类有多个直接基类,而这些直接基类又有一个共同的基类,则在最底层的派生类中会保留这个间接的共同基类数据成员的多分同名成员.在访问这些同名的成员时,必须在 ...

  3. 让你了解x86的中断

    COPY FROM:http://zhan.renren.com/qdlinux?gid=3602888498000980107&from=post&checked=true 研究li ...

  4. Hibernate开发之二 映射主键-

    <class name="cn.itcast.e_hbm_id.User" table="user">            <!-- 映射主 ...

  5. java--面向接口编程

    之前看的一本书的笔记,上周再看设计模式的时候,想到了这篇之前在看某本书时候的笔记. 面向接口编程很重要的一点就是接口回调,用接口声明的变量称作接口变量,属于引用型变量,可以存放实现该接口的类的实例的引 ...

  6. 自定义sublime代码片段

    sublime text 已经有一些他们内置的一些代码片段,但是有时候,这些并不能满足我们,这就需要我们自定义一些代码片段. 步骤如下: 1.打开sublime text 2.选择 tools -&g ...

  7. 使用easyui实现列表的批量删除

    使用easyui实现列表的批量删除 首先要做的就是增加一个多选框 <table id="otGrid" nowrap="false" style=&quo ...

  8. 获取本机外网ip和内网ip

    获取本机外网ip //获取本机的公网IP public static string GetIP() { string tempip = ""; try { WebRequest r ...

  9. Nodejs express中创建ejs项目 error install Couldn't read dependencies

    最近在看<Node.js开发指南>,看到使用nodejs进行web开发的时候,准备创建ejs项目遇到问题了   书上命令为:   express -t ejs microblog 可是执行 ...

  10. UVa 10780 (质因数分解) Again Prime? No Time.

    求mk整除n!,求k的最大值. 现将m分解质因数,比如对于素数p1分解出来的指数为k1,那么n!中能分解出多少个p1出来呢? 考虑10!中2的个数c:1~10中有10/2个数是2的倍数,c += 5: ...