随笔分类 -  编程语言

摘要:相当于数据驱动。 要点: 1)基于状态(变化);vs 基于用户事件;(主动与被动)。 2)订阅发布机制; 3)关联状态的一致性需要优先保障。 RxJava Observable类源自于Gang of Four的观察者模式。但有高于观察者模式: 生产者在没有数据产生时发出通知:onComplete() 阅读全文
posted @ 2018-02-08 18:37 zzfx 阅读(141) 评论(0) 推荐(0) 编辑
摘要:消息发送:对象处理消息; 消息发送的selector作为消息的一部分,在对象的运行时底层参与了消息分发,最终完成动态函数调用。 objc_msgSend(void /* id self, SEL op, ... */ ) id objc_msgSend ( id self, SEL op, ...  阅读全文
posted @ 2018-02-02 11:58 zzfx 阅读(233) 评论(0) 推荐(0) 编辑
摘要:在继承体系中,多个子类的引用,父类缺省执行一次; 特殊情况: 1)子类没有实现、调用父类方法; 2)子类显示调用父类; 3)存在分类实现,分类实现覆盖本体。 Initializes the class before it receives its first message. The runtime 阅读全文
posted @ 2018-02-01 15:37 zzfx 阅读(125) 评论(0) 推荐(0) 编辑
摘要:函数签名-调用约定-函数调用栈: 函数名、参量、返回值等信息的汇总; 密切相关 阅读全文
posted @ 2018-01-30 12:14 zzfx 阅读(188) 评论(0) 推荐(0) 编辑
摘要:函数式表达式:分解、合成、赋函、调用、嵌套、级联、抽象; 抽象:将调用与实现分离。 阅读全文
posted @ 2018-01-28 15:23 zzfx 阅读(238) 评论(0) 推荐(0) 编辑
摘要:把函数当作普通的运算符使用。 2. 只用"表达式",不用"语句"() "表达式"(expression)是一个单纯的运算过程,总是有返回值; "语句"(statement)是执行某种操作(更多的是逻辑语句。),没有返回值。 函数式编程要求,只使用表达式,不使用语句。也就是说,每一步都是单纯的运算,而 阅读全文
posted @ 2018-01-28 15:20 zzfx 阅读(307) 评论(0) 推荐(0) 编辑
摘要:函数式编程有两个最基本的运算:合成和柯里化。 2.1 函数的合成 如果一个值要经过多个函数,才能变成另外一个值,就可以把所有中间步骤合并成一个函数,这叫做"函数的合成"(compose)。 上图中,X和Y之间的变形关系是函数f,Y和Z之间的变形关系是函数g,那么X和Z之间的关系,就是g和f的合成函数 阅读全文
posted @ 2018-01-28 13:56 zzfx 阅读(1404) 评论(0) 推荐(0) 编辑
摘要:与动态语言有关的概念:1、反射 2、运行时 3、编译器、静态。 所谓的动态语言指的是语言单元的结构、行为、类型可以在运行时发生改变的语言。 可以动态添加新的类型; Dynamic programming language, in computer science, is a class of hig 阅读全文
posted @ 2018-01-21 10:07 zzfx 阅读(382) 评论(0) 推荐(0) 编辑
摘要:In object-oriented programming, a metaclass is a class whose instances are classes. Just as an ordinary class defines the behavior of certain objects, 阅读全文
posted @ 2018-01-20 23:14 zzfx 阅读(127) 评论(0) 推荐(0) 编辑
摘要:In some languages, classes are only a compile-time feature (new classes cannot be declared at runtime), while in other languages classes are first-cla 阅读全文
posted @ 2018-01-20 22:45 zzfx 阅读(144) 评论(0) 推荐(0) 编辑
摘要:eval is a function which evaluates a string as though it were an expression and returns a result; in others, it executes multiple lines of code as tho 阅读全文
posted @ 2018-01-20 22:11 zzfx 阅读(167) 评论(0) 推荐(0) 编辑
摘要:本质:将成员函数与对象数据进行剥离。 从编程语言的角度看,面向对象是将数据和对数据的操作进行了绑定; 调用对象成员函数,本质是对对象的数据进行操作;对象作为缺省参数传进成员函数,从而完成操作。 从面向对象转化成面向结构编程,需要对成员函数和对象数据进行解绑; 将对象以显式参量的形式传进转换后的函数, 阅读全文
posted @ 2018-01-19 15:40 zzfx 阅读(571) 评论(0) 推荐(0) 编辑
摘要:关于 C/C++ 函数调用约定,大多数时候并不会影响程序逻辑,但遇到跨语言编程时,了解一下还是有好处的。 VC 中默认调用是 __cdecl 方式,Windows API 使用 __stdcall 调用方式,在 DLL 导出函数中,为了跟 Windows API保持一致,建议使用 __stdcall 阅读全文
posted @ 2018-01-19 15:20 zzfx 阅读(305) 评论(0) 推荐(0) 编辑
摘要:操作方式、含义、存储方式。 In computer science and computer programming, a data type or simply type is a classification of data which tells the compiler or interpr 阅读全文
posted @ 2018-01-18 21:58 zzfx 阅读(822) 评论(0) 推荐(0) 编辑
摘要:以前本站发布过《编程语言时间地理图》、《计算机编程简史图》,下面是两张关于编程语言的进化图。 第一张是比较宏观的,来源在这里,虽然是去年的,但还是比较不错的,其把计算机编程语言分成了五个时代—— 语言诞生。1940年代。第一个语言应该是:Ada Lovelace, 编译器时代。1950年代。这个时代 阅读全文
posted @ 2018-01-18 17:04 zzfx 阅读(311) 评论(0) 推荐(0) 编辑
摘要:Type system[edit] Main articles: Data type, Type system, and Type safety A type system defines how a programming language classifies values and expres 阅读全文
posted @ 2018-01-18 15:54 zzfx 阅读(303) 评论(0) 推荐(0) 编辑
摘要:In computer programming, run-time type information or run-time type identification (RTTI)[1] refers to a C++ mechanism that exposes information about 阅读全文
posted @ 2018-01-18 15:46 zzfx 阅读(360) 评论(0) 推荐(0) 编辑
摘要:类型系统的属性: 1、结构属性; 2、规则属性;类型系统定义了一套规则(内部数据的访问规则、函数的访问规则、类型的比较与转化规则),以供编译和运行时进行检查。 In programming languages, a type system is a set of rules that assigns 阅读全文
posted @ 2018-01-18 15:38 zzfx 阅读(250) 评论(0) 推荐(0) 编辑
摘要:动态改变运行时结构 Dynamic programming language, in computer science, is a class of high-level programming languages which, at runtime, execute many common pro 阅读全文
posted @ 2018-01-18 15:12 zzfx 阅读(253) 评论(0) 推荐(0) 编辑
摘要:动态语言:修改结构; 动态类型:运行时类型检查; 编译语言:机器码、解释器; 强类型:类型不可变。 编译型语言和解释型语言 1、编译型语言 需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。编译是把源代码编译成 阅读全文
posted @ 2018-01-18 15:06 zzfx 阅读(605) 评论(0) 推荐(0) 编辑