产品学技术:探究计算机软件的工作原理

我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

产品学技术:探究计算机软件的工作原理

言:

哎呀,被小伙伴们催更了,火速更新了一篇,干巴巴湿哒哒!

既然产品经理天天要跟程序员打交道,那为什么不去做一个知己知彼的人呢?

难道你忘记了原型评审时,被diss最多的场景不就是程序员说你规则没考虑清楚吗?到底是哪里规则没考虑清楚呢?为什么怎么想都想不清楚呢?除了不太熟悉业务外,本质原因是因为不了解技术。

为了更好的与程序员沟通,也更好的写出合理的原型设计规则,我们可以不用敲代码,但我们有必要去了解一下技术实现原理。

本文目录:

一、计算机基础

二、什么是软件开发?

三、人机交互的方式有?

四、什么是计算机语言?

五、计算机软件的工作原理

六、代码初体验

七、代码案例

八、代码原理

一、计算机基础

计算机

电子计算机,俗称电脑,是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机。


三大硬件

1. cpu是一台计算机的运算核心和控制核心。其功能主要是解释计算机指令以及处理计算机软件中的数据。

2. 内存是数据与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。

3. 硬盘:内存不能长久保存数据,断电时信息就丢失,程序和数据都会被保存在存储设备硬盘中,当程序和数据需要使用时,再加载进内存。

二、什么是软件开发?

什么是软件?

是指按照一定顺序组织的计算机数据与指令的集合。 数据:就是指现实生活中的我们的姓名、电话等信息。指令:就是告诉计算机如何对数据进行处理。


系统软件和应用软件都是用计算机语言编写出来的,计算机语言调用底层指令处理数据。 1. 系统软件 如:Widows、Linux。2. 应用软件 如:axure、visio。

什么是开发?

人们用计算机语言去制作各种软件,实现人与计算机之间更友好的交互。 为此工作的岗位人群,统称为程序员。

三、人机交互的方式有?

主要有两种:

1. 图形化界面:简单直观,容易操作,用户的体验好。现如今,我们与计算机交互,大部分都使用的是此方式。

2. dos命令行方式:需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令,而且只能完成一些比较单一的功能。

dos控制台打开的步骤:开始+R-->输入cmd即可。

产品学技术:探究计算机软件的工作原理

四、什么是计算机语言?

语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用中文沟通,而中国人要和韩国人交流,就要学习韩语。


操作计算机就如同和计算机说话一样,我们告诉它做什么,它就可以做什么。前提是,我们和它说的内容它必须能够识别才可以,这就是计算机语言。


计算机语言:人与计算机交流的方式。如果人要与计算机交流,那么就要学习计算机语言。计算机语言有很多种,如:C、C++、Java等。这里,我们选择其中的一种,Java语言。

五、计算机软件的工作原理

用户场景:

如果你的电脑上安装了微信,你希望和好友聊天,会双击微信图标,打开微信软件扫码,然后登录就可以了。那么,微信是怎么运行起来的呢?

原理解析:

产品学技术:探究计算机软件的工作原理

首先,有一点你要明确,你安装的微信软件是保存在硬盘中的,但却不是在硬盘中运行的,而是在内存中运行的。为什么呢?


因为内存的读写速度比硬盘快很多。对于读写速度,内存 > 固态硬盘 > 机械硬盘。机械硬盘是靠电机带动盘片转动来读写数据的,而内存条通过电路来读写数据,电机的转速肯定没有电的传输速度(几乎是光速)快。所以,不管是运行微信还是看我的文章,都是先将硬盘上的数据复制到内存,才能让CPU来处理,这个过程就叫作载入内存(Load into Memory)。

双击微信图标软件,操作系统就会知道你要运行这个软件,它会在硬盘中找到你安装的微信软件,将数据(我们安装的各种软件本质就是很多数据的集合)复制到内存。CPU直接与内存打交道,它会读取内存中的数据进行解析处理,并将结果保存到内存中。如果需要保存到硬盘,才会将内存中的数据复制到硬盘。


例如,我打开一个word文件,随便输入一些内容,虽然我们看到的不一样了,但是硬盘中的文档没有改变,新增的文字暂时保存到了内存中,Ctrl+S才会保存到硬盘。内存在断电后会丢失数据,而硬盘不会。所以有事儿没事儿多按按Ctrl+S,要不你就白写了。

六、代码初体验

先撸一把代码,体验其丝滑般的快感再说

1、浏览器打开在线编译工具

https://c.runoob.com/compile/10

2、点击运行按钮,结果如图右侧

3、产品视角解读

符号:{ 代码块区域 }

解释:大括号的作用是 将其包裹的代码视为一个整体定义代码块的开始和结束 。如:类名后的大括号,就表示里面的代码组成这个类。方法名后的大括号,表示里面的代码组成了这个方法。

代码: public class  HelloWorld{  }

解释:表示是一个java类,文件名叫 HelloWorld

代码: public static void main(String[] args){  }

解释:java程序的主方法,当运行某个java类时,main()方法就是入口方法,其它的方法全在这个方法里边直接或间接调用的。

代码: System.out.println("刻意练习产品思维");

解释:将 英文 双引号中的内容在系统中打印出来,引号中 内容随便你输入

代码://   /*****/

解释://表示单行注释;/***/ 表示 多行注释。注释:解释该部分代码的意思


七、代码案例

1、复制以下我的代码,到在线编译工具,重新点击运行

//表示一个java类,文件名叫 HelloWorld

public class  HelloWorld {

/* java程序的 主方法,当运行某个java类时, main()方法 就是入口方法,其它的方法全在这个方法里边直接或间接调用的 */

public static void main(String[] args) {

//将英文双引号中的内容打印出来,内容随便你输入

System.out.println("公众号:刻意练习产品思维");

}

}

结果如图:

八、代码原理

源代码--编译--执行

Java源代码(.java)经过java编译器(javac.exe)编译之后,并没有直接转化为机器码,而是转化成一种中间格式,成为字节码(.class)。


字节码再经过java虚拟机转化成特定CPU架构的机器码。也正是因为这一中间物,java才有所谓的跨平台。在windows平台上编译好的字节码,copy到linux平台后,经过为linux而设计的Java虚拟机解释后即可执行。跨平台这一特征,是通过字节码和JVM来实现的。

< 系列文章,未完待续>

作者:会飞的猪

标签:退伍军人,反面教材连续创业者,懂技术懂运营的B端产品人

随意打赏

提交建议
微信扫一扫,分享给好友吧。