编程领域中的 "transparent" 和 "opaque"
引言
在学习计算机的过程中,经常会接触到 “透明” 和 “非透明” 的概念。
刚开始理解 “透明” 这个概念的时候,认为 “透明” 就是程序员可以看见其中的构造,但是老师却说透明是程序员意识不到其中的存在,所以对这个概念一直都有些困惑。
后面接触到 “不透明” 这个概念的时候,意味着程序员看不到其中的机理。既然 “transparent” 和 “opaque” 都有对看到其中构造的意思,那么两者有什么区别呢。
transparent 透明
“透明” 意味着,程序员意识不到其中的存在,例如在程序员在使用IDE进行编码的时候,IDE中的编译器对程序员来说就是透明的,入门程序员根本不知道 编译器的概念。如下图所示:
就像上面英文所述,”透明” 的事物一般是藏在表象后面的,用户(程序员)一半不会直接接触到该事物。
Opaque 不透明
不透明意味着,程序员直接与该事物接触,但是不知道其中的机理,例如IDE对于程序员来说就是 不透明 的。程序员直接接触到IDE,但是却不知道IDE是如何实现的,也就是如何将 source code 一步步转换成机器码的。如下图所示:
Opaque is also being used to mean hidden, which is perhaps where the confusion comes in.
Opaque is used where is present, but you can’t see inside it to inspect its inner workings.
“不透明” 的事物一般直接与程序员接触,但是程序员却不知道个中奥秘。
https://blog.csdn.net/dashuniuniu/article/details/51702772
编程领域中的 "transparent" 和 "opaque"的更多相关文章
- IT领域中哲学原理的应用——个体与整体
个体与整体哲学原理在很多学科和领域中都会得到应用,今天就看看IT行业中有哪些地方应用了个体和整体的原理. IT行业可以分为硬件.软件.网络三个领域,我们可以分别针对这三个领域来看下. 硬件方面,最基本 ...
- 第84节:Java中的网络编程(中)
第84节:Java中的网络编程(中) 实现客户端和服务端的通信: 客户端需要的操作,创建socket,明确地址和端口,进行键盘录入,获取需要的数据,然后将录入的数据发送给服务端,为socket输出流, ...
- 读Java并发编程实践中,向已有线程安全类添加功能--客户端加锁实现示例
在Java并发编程实践中4.4中提到向客户端加锁的方法.此为验证示例,写的不好,但可以看出结果来. package com.blackbread.test; import java.util.Arra ...
- Trie(字典树)解析及其在编程竞赛中的典型应用举例
摘要: 本文主要讲解了Trie的基本思想和原理,实现了几种常见的Trie构造方法,着重讲解Trie在编程竞赛中的一些典型应用. 什么是Trie? 如何构建一个Trie? Trie在编程竞赛中的典型应用 ...
- Java编程思想中关于闭包的一个例子
Java编程思想中的一个例子,不是很理解使用闭包的必要性,如果不使用闭包,是不是有些任务就不能完成?继续探索. package InnerClass; interface Incrementable ...
- 针对于网络安全领域中基于PCAP流量的数据集
网络安全领域中基于PCAP流量的数据集 MAWI Working Group Traffic Archive URL:http://mawi.wide.ad.jp/mawi/ CIC dataset ...
- S.O.L.I.D 是面向对象设计(OOD)和面向对象编程(OOP)中的几个重要编码原则
注:以下图片均来自<如何向妻子解释OOD>译文链接:http://www.cnblogs.com/niyw/archive/2011/01/25/1940603.html < ...
- JAVA编程思想中总结的与C++的区别
Java和C++都是面向对象语言.也就是说,它们都能够实现面向对象思想(封装,继乘,多态).而由于c++为了照顾大量的C语言使用者,而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象 ...
- 03--(二)编程实践中C语言的一些常见细节
编程实践中C语言的一些常见细节(转载) 对于C语言,不同的编译器采用了不同的实现,并且在不同平台上表现也不同.脱离具体环境探讨C的细节行为是没有意义的,以下是我所使用的环境,大部分内容都经过测试,且所 ...
随机推荐
- 创建RpcEnv
感觉这篇文章不错 2.1.2.创建RpcEnv - RpcEndpoint - RpcEndpointRef val systemName = if (isDriver) driverSystem ...
- [bzoj1925][Sdoi2010]地精部落_递推_动态规划
地精部落 bzoj-1925 Sdoi-2010 题目大意:给你一个数n和模数p,求1~n的排列中满足每一个数的旁边两个数,要么一个是边界,要么都比它大,要么都比它小(波浪排列个数) 注释:$1\le ...
- FOJ 10月赛题 FOJ2198~2204
A题. 发现是递推可以解决这道题,a[n]=6*a[n-1]-a[n-2].因为是求和,可以通过一个三维矩阵加速整个计算过程,主要是预处理出2^k时的矩阵,可以通过这道题 #include <i ...
- Verilog堵塞赋值与非堵塞赋值
verilog设计进阶 时间:2014年5月6日星期二 主要收获: 1.堵塞赋值与非堵塞赋值: 2.代码測试: 3.组合逻辑电路和时序逻辑电路. 堵塞赋值与非堵塞赋值: 1.堵塞赋值"=&q ...
- 小米红米1S 电信/联通版 专用TWRP2.8.1.1中文版 (全屏触摸/支持MTP挂载内外置存储)
转载请注明出处和链接: http://blog.csdn.net/syhost/article/details/39340477 说说中文TWRP的简史: 中文TWRP是本人在201 ...
- URAL 1196. History Exam (二分)
1196. History Exam Time limit: 1.5 second Memory limit: 64 MB Professor of history decided to simpli ...
- UVALive - 6910 (离线逆序并查集)
题意:给处编号从1~n这n个节点的父节点,得到含有若干棵树的森林:然后再给出k个操作,分两种'C x'是将节点x与其父节点所连接的支剪短:'Q a b'是询问a和b是否在同一棵树中. 题解:一开始拿到 ...
- 软件project文档中的数据库模型设计
背景:软件project文档之<数据库设计说明书>的结构设计部分要明白规划出数据库的概念结构设计.逻辑结构设计.物理结构设计,就是设计数据库的概念模型.逻辑模型.物理模型.那么.何为数据库 ...
- MySql存储过程与函数
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来运行 ...
- TF101出现“DMClient已停止”处理办法
设定->应用程式->全部->DMClient强制停止 然后 清除数据 然后 重开机 测试通过.