程序员应该知道的一二事(4)

科普

开源

开源即开放源代码。

开放源代码(Open source code)也称为源代码公开,指的是一种软件发布模式。一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者或著作权所有者等拥有程序的原始码。

有些软件的作者会将原始码公开,此称之为“源代码公开”,但这并不一定符合“开放原代码”的定义及条件,因为作者可能会设定公开原始码的条件限制,例如限制可阅读原始码的对象、限制衍生品等。

翻译下来就是有些糟老头子坏得很,不给你C语言/JAVA写出来的“原”代码,给你一堆0101的机器码,运行是运行得了,关键我看不懂@-@。而没有软件可以把机器码翻译成C语言等高级语言,等等。。这就是商机!科技的未来靠你们了!

脚本

电影脚本:和剧本不同,电影脚本一般会列出镜头的长度、景别、构图、配乐等等很详细的信息。脚本一般是用在正式拍摄时导演和摄像,后期编辑时编辑师看的。

脚本是代码的一种。

代码的含义有很多很多,含义很广。不一定是指程序设计的代码,还可以指密码,某些编码方式,编号方式。都可以叫代码。在程序设计里,有不同的程序设计语言,跟生活中的英语,法语,西班牙语差不多。

这些程序设计语言里,有一类叫做编译型语言,例如 C,Fortran,等等。还有一类叫解释型的语言。

通常,解释型语言的代码,叫做脚本。脚本的特点时,不能直接被计算机和操作系统执行,必须借助于特定的解释器。例如 javascript 需要借助浏览器来解释。脚本语言执行效率比较慢,但开发相对容易,也就是书写起来容易,也比较灵活。因为解释器提供了很多现成的东西。

除了编译型语言,解释型语言,还有其他分类,比如半编译半解释(Java),标识形的语言(HTML)等等。

脚本语言和编程语言的区别是什么?

1.脚本语言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间。

HTML通常用于格式化和链结文本。而编程语言通常用于向机器发出一系列复杂的指令。

2.脚本语言与编程语言也有很多相似地方,其函数与编程语言比较相象一些,其也涉及到变量。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些.

3.与程序代码的关系:脚本也是一种语言,其同样由程序代码组成。

注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。

4.脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在.

脚本语言不需要编译,可以直接用,由解释器来负责解释。

5.脚本语言一般都是以文本形式存在,类似于一种命令.

举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件.

你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言.

编程语言 计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。

如果按语种分,可以分为英文符号语言和汉语符号语言两类。(典型的如:易语言、易语言.飞扬)

电脑每做的一次动作,一个步骤,都是按照以经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。

计算机所能识别的语言只有机器语言,即由0和1构成的代码。但通常人们编程时,不采用机器语言,因为它非常难于记忆和识别。

目前通用的编程语言有两种形式:汇编语言和高级语言。

汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序通常由三部分组成:指令、伪指令和宏指令。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。

高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。

高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。 像最简单的编程语言PASCAL语言也属于高级语言.

高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:

解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。

编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的,例如Visual C++、Visual Foxpro、Delphi等。

汉语编程定义:

“汉语编程”一种采用汉民族语言文字进行电脑编程的语言系统,支持基于汉语字、词编程,符合计算机符号语言规范,并继续向自然语言发展。

表面汉化菜单的而未将关键字汉化的编程语言,我们不应称之为汉语编程语言,而应称之为“汉化编程”语言,如VB中文版等。

为什么严格来说称“汉语编程”而不称之为“中文编程”呢?因为中国是个多民族的国家,语种众多,有:汉语,藏语,满语等;中文字体也非常多,如篆书、金书、隶书、楷书等。但一般情况下,称中文编程时,也特指汉语编程。

组成原理

先定义后赋值的理由

补充,举个栗子,JAVA有基本数据类型(8种)和引用数据类型(类、数组、String等)。基本数据类型的变量名的地址(例int a=18的a)和值(18)都放在栈里面(栈里面的每个空间大小一样,不过比较小),引用数据类型的变量名的地址和值的地址放在栈里面,值放在堆里面(堆会根据数据的大小弹性变大变小)

网络原理

五层

应用层(报文/数据)->运输层(加上协议)->网络层(数据分组、找到路由器地址、每个数据分别加上首部)->数据链路层(把数据弄成帧)->物理层(二进制转换成电压)

物理层(电压转换成二进制)->数据链路层(把帧弄成数据)->网络层(根据首部信息将分组数据排序,恢复成原来的数据)->运输层(去掉协议)->应用层(给对应程序)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值