和你谈谈编程

  首先我们来聊聊信息的传递,信息可以分为很多种,比如说话发声,写字传信,标志暗号传递给对方。这些都有一个信息的标准,类似发音是表示“我”wo,写作的文字,比如你现在阅读的这文章,就是在一种“标准”,或者说是一直约定,你这样写/这样发声,我就知道你要表达什么。计算机里采用二进制进行存储,之所以采用这个,是因为一方面二进制简单,计算机硬件容易模拟,计算机也容易理解,不厌其烦地去数…000011111000…,另一方面是二进制具有一定的容错性。举个例子,我们现在在野外,彼此通过喊叫都听不到对方的话,这个时候如果我们手上有两盏灯,那么这个时候我们约定,点亮一盏灯表示“我在”,不亮灯表示“我过去”,亮两盏灯表示“快过来”。那么我们就可以通过这两盏灯进行通讯啦。。。虽然有些简单而且好像并没有传递到什么实质性内容,咳咳,这不是重点!!!这样就是有2^2,4种信息可以传递啦!

那么计算机呢,又可以分为IO(输入输出部分,如键盘鼠标输入,屏幕,音响等输出etc),运算器,主存(也就是你常说的内存啦),控制器,运算器又经常和控制器结合在一起,构成了CPU这部分。讲完了硬件的基本组成,你可以直接在硬件上调度啦,比如你设置一个指令让电脑播放“bibi的声音”,但是这样就效率太低了对不对,每次都要去手动地标识我要调度哪?那肿么办嘞?这个时候我们就想起了你现在的操作系统啦~比如Win,Linux,Mac,iOS,Android。。。操作系统帮助我们去实现这些繁杂重复的东西,因为机器只能识别机器码,如00000101010101010这样的0,1序列,我们人看这些可能真的是无法理解。。。但是对于计算机来说,前面谈过,计算机就认识二进制,这就涉及到编码的问题啦,常用的编码有ASII,UTF-8,Unicode,也就是说:我们用一个特定的0,1组成序列给每一个字符进行编码,比如我们让000 000 01表示‘a’这个字符。所以上古时代的程序员的代码都是这种戳孔形成的0,1纸带啦,所谓从前有个大神,用针戳出一个操作系统~然而,这样是非常不科学的,容易出错嘛,然后就有了汇编语言(ASM Language),由特定的汇编器把汇编语言翻译成机器语言,但是汇编语言和我们说的语言还是有较大的区别滴,所以有提出了高级语言(C,C++,Java,Python,JavaScript…),由各自编译器,如gcc去给我们生成诸如ASM,机器语言的东西,但是光编译不够啊,操作系统还会给你加些料再让机器去执行,这就是为什么有系统移植性的问题,。

时间: 2024-11-08 22:17:19

和你谈谈编程的相关文章

谈谈编程器软件开发与设计

*************************************************************************************************************************** 作者:EasyWave                                                   时间:2014.05.24 类别:协议标准-编程器简介                                  声明:

[技术] 谈谈编程思想

https://zhuanlan.zhihu.com/p/19736530?columnSlug=prattle 作者:陈天链接:https://zhuanlan.zhihu.com/p/19736530来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 这段时间又攒了很多答应了,但还未动手的文章.大概一两周前,有个读者留言:「程序君,能发篇文章有关编程思想的吗?我是编程初学者,对编程思想没啥概念,求传授点经验!」 今天就讲讲编程思想.编程思想是个宏大的主题,我不敢保

首先不谈C语言,我们先来谈谈编程工具

系统环境: 推荐Windows xp sp1 软件: Tb2.0或3.0 推荐理由:最好的一个系统环境 系统环境: 推荐Windows xp/ Windows 7/ Windows 8.1/Windows10 软件: Free-5 推荐理由:几乎支持Windows所有平台 系统环境: Windows全系列 软件: Vc++ 或者 Vs 以及Vscode 推荐理由:微软旗下,支持度差不到那里去

[转]编程修养

原文链接:http://www.cnblogs.com/flying_bat/archive/2007/05/30/764641.html 什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是.对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了. 我认为好的程序员应该有以下几方面的素质:  1.有专研精神,勤学善问.举一反三.  2.积极向上的态度,有创造性思维.  3.与人积极交流沟通的能力,有团队精神. 

深圳汇道科技:新手不知道的入门编程的技术路线!速码!

不会设计的编程不是好前端,看着我们汇道科技的设计大神小哲与前端小宇又在为项目争执不下,小编不禁发出如此感慨,其实一个团队里面,项目都是环环相扣的,上一环节的参与者必须要懂得一些下一环节的相关知识,这样大家沟通起来才会更好更快!这就要求我们必须掌握多方面知识! 把编程单独拿出来说,编程不是一件无趣的事,它会给你带来无尽的欢乐.如果掌握不了多方面知识,那么我们可以把专业技能练到:精.致.特! 可是如何以最快的速度入门,这才是广大新手最关心的问题.本文就来谈谈编程入门的学习路线. 一.技术路线介绍 技

花无涯带你走进黑客之 小白入门 第一章

最近开始有一个想法, 想谈谈小白如何慢慢学习网络安全相关知识, 有正确得价值观,做正确的事情. 初心也是为了帮助更多人学习到黑客攻防,学会保护自己和身边的人. 写一些自己的分享和经验,每一期可能都有时间就进行更新,感谢大家的支持! 相信每一个对计算机感兴趣的童鞋都有着一颗黑客的心, 我也不例外, 我希望通过一系列的文章让大家了解黑客和网络安全. 不是很会写一些感人故事心得, 更想是通过自己得分享也顺便提升自己 -.- 不是很喜欢在文章里头加特别花哨 过多的图片,也不会怎么配图... 可能阅读起来

【单片机】1937记录

先简单总结遇到的内容,虽然还没有实际烧入过,不过大概是知道怎么操作了,这两天又要出门,回来的时候估计会忘掉些东西.所以先总结一些. 先谈谈编程时的点吧. 1.语法和C一样,需注意头文件符号的使用<>和“”的区别. 2.还有芯片特有的头文件. 写单片机的时候注意的点 1.要先初始化CPU 2.初始化每个自己要用到的模块 3.给模块装入适当的值 4.每个模块之间都有些许关联,尤其是TIMER那块. 5.有时候只需要设置寄存器里面一两位的值,直接对那一两位对应的选项赋值就可以. 例如下图.我们只需要

Java多线程开发系列之一:走进多线程

对编程语言的基础知识:分支.选择.循环.面向对象等基本概念后,我们需要对java高级编程有一定的学习,这里不可避免的要接触到多线程开发. 由于多线程开发整体的系统比较大,我会写一个系列的文章总结介绍 多线程开发的概念.使用.线程状态.同步.线程池.希望与大家共勉. 在第一部分,也就是本节我们先介绍下 什么是多线程程序.线程和进程又是什么,以及为什么要搞多线程. (一)什么是多线程程序 多线程听上去是非常专业的概念,其实非常简单,我们在日常生活中,经常的接触到多线程. 比如 (1)在工厂,工人努力

程序员修炼之道----从小工到大家读书笔记(一)

以前一直不敢写读后感,担心会误人子弟.后来突然觉得,权当分享吧,大家还可以探讨自己的不同想法,读书就当如此吧. 5月6 偶然看到这本书,以前去公司实习,上司就说起过这本书"你把这本书看完,工作就不用看其他书了".一直感叹它的神奇,却未曾观看,今日有幸见到,真想对它说"我来晚了,幸会幸会".只是如今我仍身在学校,做的项目也不多,实用性项目估计也就实习时那个了,这样的大家之书我不知是否能领悟一二. 但其实可能是我想多了,读这样的书,学到何止是编程之道.今天,我先谈谈编程