IOS学习笔记02---语言发展概述,计算机语言简介.
------------------------------------------------------------------------------

|qq交流群:创梦技术交流群:251572072                                

|                       创梦网络赚钱群:248318056                          

|                       创梦娱乐休闲群:224801824                     

| 教程下载,在线交流:创梦IT社区:
www.credream.com

| 网络赚钱,营销学习:创梦网赚:
www.cremoney.tk

| 休闲娱乐,在线影视:创梦影视:
www.cremovie.tk

-------------------------------------------------------------------------------

1.IOS就是用Object -c来开发ui界面

2.最常用的是Object-c,开发过程中还需要用到c++等等

3.一款移动软件,如果ui很好,很有实用性那么就可以很好的在

  移动市场立足了.

4.Object-c是在c语言的基础上加了一层面向对象的语法

--------------------------------------------------

1.程序设计语言发展史

  1972年发明的C语言:用来重写unix系统;

-----------------------------------------------------------

  a.机器语言:由0和1组成的二进制指令组成,又叫做“机器指令”

    优点:代码是能被计算机直接识别的,因此机器语言是直接对硬件产生作用的,程序的执行效率非常高。

          能直接访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等

          机器语言很难掌握和推广,现在除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。

  b.缺点

    用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令和指令的涵义,指令又多又难记。

    编出的程序全是些0和1的指令代码,可读性差,还容易出错。

    由于机器语言是直接对硬件产生作用的,对硬件的依赖性很强,因此不同型号计算机的机器语言又不一样。

    也就是说,如果2台不同型号的机器想实现一样的功能,需要编写2套完全不同的代码。

    机器语言很难掌握和推广,现在除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。

------------------------------------

2.汇编语言

a.由于机器语言的种种弊端,严重影响开发效率,出现了汇编语言。

  汇编语言其实就是符号化的机器语言,它用一个符号(英文单词、数字)来代表一条机器指令。

  比如,在机器语言中,用1011011000000000这条指令,是让计算机进行一次加法运算;而在汇编语言中,用英文单词“ADD”就可以表示加法运算。

  一个有意义的英文单词,很明显比一串又臭又长的二进制指令,直观好记多了。

b.由于计算机只能识别0和1,用汇编语言编写的代码是不能被计算机所识别的,像刚才的“ADD”,计算机肯定不知道是什么意思。

  因此,用汇编语言编写的代码需要翻译成二进制指令后,才能被计算机识别。这个翻译的工作交给“编译器”去做。

  2> 优点

     •对比机器语言,汇编语言的代码可读性好

     •汇编语言能像机器语言一样,可以直接访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。使用汇编语言,

      可以访问所有能够被访问的软、硬件资源。

     •目标代码简短(目标代码就是经编译器翻译过后的二进制代码),占用内存少,执行速度快。

     (计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。其作用是用于暂时存放CPU中的运算数据,

       以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,

       内存的运行也决定了计算机的稳定运行。)计算机的内存是有限的,因此一个应用程序运行时所占用的内存越少越好。

  3> 缺点

    •汇编语言是面向机器的,通常是为特定的计算机或系列计算机专门设计的。

     因此,不同的机器有不同的汇编语言语法和编译器,代码缺乏可移植性,也就是说,

     一个程序只能在一种机器上运行,换到其他机器上就不能运行。

    •汇编语言的符号非常多、难记,即使是完成简单的功能也需要大量的汇编语言代码,很容易产生BUG,难于调试

    •使用汇编语言必须对硬件非常了解,开发效率很低,周期长且单调

---------------------------------------------------------------------------------------------------------

3.高级语言

  由于汇编语言依赖于硬件,代码可移植性差,符号又多又难记,于是人类就发明了非常接近自然语言的高级语言。后面要学习的C语言就是高级语言。

  1> 优点

   •简单、易用、易于理解,语法和结构类似于普通英文,且远离对硬件的直接操作,使得一般人经过学习之后都可以编程,而不用太熟悉硬件知识

   •写出来的程序更加简洁。比如要计算2个数的和,在高级语言中可以写得非常简洁:d=a+b;。但是在机器语言和汇编语言中,就需要几条甚至几十条指令,而且不同机器还要编写不同的指令代码

   •用高级语言编写的同一个程序还可以在不同的机器上运行,具有可移植性

  2> 注意

    用高级语言编写的程序不能直接被计算机识别,需要经编译器翻译成二进制指令后,才能运行到计算机上

--------------------------------------------------------------------------------------------------------

IOS学习笔记02---语言发展概述,计算机语言简介.的更多相关文章

  1. IOS学习笔记07---C语言函数-printf函数

    IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...

  2. IOS学习笔记06---C语言函数

    IOS学习笔记06---C语言函数 --------------------------------------------  qq交流群:创梦技术交流群:251572072              ...

  3. iOS学习笔记---oc语言第四天

    字符串 数组 一.使用苹果帮助文档 学会使⽤用苹果帮助⽂文档是开发者的⼀一项技能 Inherits from 继承⾃自 Conforms to 遵循什么协议 Framework 属于哪个框架 Avai ...

  4. iOS学习笔记---oc语言第一天

    第一讲 初始类和对象 c语言的超集,允许在oc中使用c语言源代码.编译器兼容c语言程序 具备完善的面向对象特性 包含一个运行时系统 类库丰富 面向对象编程 oop 面向对象语言:c++  java   ...

  5. iOS学习笔记---c语言第八天

    指针 首先将变量a的地址存放在另一个变量中,比如存放在变量b中,然后通过变量b来间接引用变量a,间接读写变量a的值.用来存放变量地址的变量,就称为"指针变量" int *p=nul ...

  6. Linux 学习笔记02丨Linux 概述、常用快捷键、apt命令

    Chapter 1. Linux 概述 Linux 是一种自由和开放源码的 Unix 操作系统, 是一个基于 POSIX 和 UNIX 的多用户.多任务.支持多线程和多CPU的操作系统.只要遵循 GN ...

  7. iOS学习笔记---oc语言第九天

    初级内存管理 iOS应用程序出现crash(闪退),90%以上是内存问题////其他:数组越界,方法只声明没实现 内存问题体现在两个方面:内存溢出\野指针异常 内存溢出:程序运行超出内存上限 野指针异 ...

  8. iOS学习笔记---oc语言第六天

    Block .数组高级 block本质上就是匿名函数(没有名称的函数) block语法和函数指针很相似 回顾函数 函数:C语⾔中,实现某一类功能的代码段. 完整的函数包含两部分:函数声明.函数定义 函 ...

  9. iOS学习笔记---oc语言第五天

    字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key- ...

随机推荐

  1. 前端-JS-BOM和DOM

    前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...

  2. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...

  3. shell rename directory

    mv can do two jobs. It can move files or directories It can rename files or directories To just rena ...

  4. springBoot 自动配置原理

    在之前文章中说过,springBoot会根据jar包去添加许多的自动配置,本文就来说说为什么会自动配置,自动配置的原理时什么? springBoot在运行SpringApplication对象实例化时 ...

  5. 阿里云腾讯云服务器ubuntu多域名配置

    1.将域名A记录解析到服务器的公网 IP 地址,把www也添加A记录到公网ip 2.ubuntu系统修改hosts文件,hosts文件目录为/etc/hosts,可以用vim编辑  sudo vim ...

  6. OI回忆录(流水账)

    今天是NOI2017疏散日,晚上回到家在电脑前写下这篇回忆录. 初中参加过几次普及组,拿过一等奖,自招进slyz. 高一参加过CTSC2016,狗牌滚粗qwq 高二参加过WC2017,CTSC2017 ...

  7. BZOJ.1032.[JSOI2007]祖码(区间DP)

    题目链接 BZOJ 洛谷 AC代码: 区间DP,f[i][j]表示消掉i~j需要的最少珠子数. 先把相邻的相同颜色的珠子合并起来. 枚举方法一样,处理一下端点可以碰撞消除的情况就行. 当然合并会出现问 ...

  8. SPOJ 10232. Distinct Primes

    Arithmancy is Draco Malfoy's favorite subject, but what spoils it for him is that Hermione Granger i ...

  9. 读书笔记_Effective_C++_条款三十一:将文件间的编译依存关系降至最低(第三部分)

    下面来谈谈书中的第二部分,用Interface Classes来降低编译的依赖.从上面也可以看出,避免重编的诀窍就是保持头文件(接口)不变化,而保持接口不变化的诀窍就是不在里面声明编译器需要知道大小的 ...

  10. git 的补丁使用方法

    1.生成补丁 format-patch可以基于分支进行打包,也可以基于上几次更新内容打包. 基于上几次内容打包 git format-patch HEAD^  有几个^就会打几个patch,从最近一次 ...