程序符号与标识符的哲学思考

时间:2021-08-22 13:17:16

 

1       符号的哲学思想

符号是空间及其包含物的一种抽象。空间有三个属性即空间有名、空间有间、空间有值。空间的名一般以包含物或包含物的作用来命名;空间的间一般用分隔符来表述;空间的值一般由符号来表述。对符号的认知不能单独从符号的本身去考虑,而是要考虑符号的名、符号的值、符号的指向。

美籍语言学家罗曼•雅各布森曾经说过:“每—个信息都是由符号构成的。”这表明,在人类社会中,符号无处不在。而构成庞大符号体系的符号又是多种多样、五彩摈纷的。为了更好地使用符号,了解那些不同种类符号所传达的讯息的特殊性,于是对符号进行分类并给予定性描述,这构成了符号学研究中的一个十分重要的方面。

从理论上讲,按照任何确定的标准都可以对符号进行分类。在符号学思想史上,符号学家们以自己独特的视角,按照各自不同的标准对符号进行了形形色色的分类。其中皮尔斯关于符号的三分法思想,影响最为深远。

皮尔斯的符号分类体系是根据他的关系逻辑和范畴学说确定的,是他以三分法为指导思想所建立起来的科学体系的一部分。皮尔斯把宇宙的结构描绘为一种逻辑关系的结构,在每一种逻辑理论的每一点上,都不断地出现三种概念……我称它们为——位、二位和三位概念。

(1)     一位是不依赖任何其他东西的存在概念;

(2)     二位是相对于其他某种东西的存在概念,即对其他某种东西发生反作用的概念;

(3)     三位是中介概念,一位和二位借此发生关系。

这三种概念就是皮尔斯哲学思想的三种基本范畴,也是皮尔斯建立其知识体系的基本框架。皮尔斯的三分法中.有一些分类得到了符号学家们的普遍认可。例如根据符号本身所显现的性质,皮尔斯把符号分为性质符号、单一符号和法则符号。

(1)     性质符号是指以物体本身作为符号,其中“性质”是指一旦包含在符号中并作为符号而起作用的性质;

(2)     单一符号是指一次性地作为符号发生作用的一个具体东西或实际事件,它是不可重复的;

(3)     法则符号,是指使之成为符号并发挥符号作用的法则,它不是以单独对象的形式出现、而是作为一套规则或原则的抽象活动又如根据符号的解释项,皮尔斯把符号分为名辞符号、命题符号和论证符号。名辞符号是指其对象必须在解释项中加以确定;命题符号是指通过其自身对对象的确定来限制解释项的解释;论证符号是指其自身规定着自的解释项。这套三分法与命题逻辑中的讨论相关,相当于逻辑中的命题函项、命题和变元。

在皮尔斯的符号三分法中,最重要的还是把符号分为图像符号、指索符号和象征符号三大类。由于这一分类体现了符号的不同表征方式,因而最有价值、最为实用,影响也最为深远。“符号三角”中有两个二元关系:—是能指与所指之间的意指关系;另一就是符形(能指)与对象之间的表征关系。就符号的符形与对象的关系而言,如果本通过一定的表征方式,符形就不可能成为符号对象的“代表”或“象征”,就不可能充当“媒介物”,从而传达关于符号对象的讯息。也就是说,如果没有表征方式,就没有符号的二元关系结构,也就没有了符号。皮尔斯把符号分为图像符号、指索符号和象征符号三个类别的根据,就是符号符形与对象之间的关系,亦即它们的表征方式。那么图像将号、指索符号和象征符号对象的呢?

1.1  图像符号

它们的符形是怎样表征符图像符号的表征方式,是符号形体与它所表征的符号对象之间的肖似性。这就是说,图像符号的符形是用肖似的方式来表征对象的。例如一幅肖像画就是个典型的图像符号.它完全是对符号对象的写实与摹仿。达•芬奇就以他的传世之作《蒙娜丽莎》再现了一位沉静如水的妇人形象。画像本身当然不是蒙娜丽莎本人,但它可以表征蒙娜丽莎。画像的欣赏者除了欣赏达•芬奇的绝妙画技之外,还可以根据画像所呈现的人物外形特征来推测蒙娜丽莎是平民还是贵族,性格是温顺还是暴烈。甚至一些心理学家根据圆像上蒙娜丽莎的笑容来判定蒙娜丽莎有精神分裂症等。这些都表明,画家通过蒙娜丽莎画像,肖似地表征了符号对象.传达了关于对象的讯息。这幅举世闻名的肖像画就是蒙娜丽莎的图像符号。此外,镜像、照片、雕塑、模型、图案等,也都是应用了肖似的表征方式而成为图像符号的。

在符号世界中,不但现实存在的事物可以有表征自己的图像符号,即使是虚幻的对象也可以有表征自己的图像符号。例如寺庙中的如来、菩萨、小鬼等雕塑,它们同人们头脑中的虚幻对象也具有肖似性,因而也属于图像符号。

还有一些图像符号.例如地图、组装图、零件图、气象图、工艺流程图,以及各种表格、几何图形、逻辑公式、化学分子式等,它们的符形与对象之间只具有抽象的肖似性,但也属于图像符号一类。

1.2  指索符号

指索符号的表征方式,是符号形体与被表征的符号对象之间存在着一种直接的因果或邻近性的联系,使符号形体能够指示或索引符号对象的存在。由于指索符号的这一特征,使得它的符号对象总是一个确定的与时空相关联的实物或事件.例如动物园里的标牌,就是那些动物的指索符号。当我们看到个标有“东北虎”的笼子时,游客就会知道里而关的是东北虎,而不是其它动物,也不是其他地区的老虎。又如一些高层建筑物屋顶上的指示灯,也是指索符号,因为它们示意夜航的飞机注意这里有建筑物。与此相类似的道路施工现场的“前方施工,请绕行”的牌子,以及路标、站牌、风向标、商标、招牌等都是相关事物的指索标记,都属于指索符号。另外,一些现象(或事件)的发生总是伴随或影响着另一些现象(或事件)的发生.其中某一现象(或事件)可以因为时空的邻近性而成为另一现象(或事件)的指索符号e例如雷电这一自然现象,一般总是先看到闪电,后听到雷声,虽然闪电和雷声没有因果关系,人们还是把闪电作为雷声的指索符号。总之,只要某物能够预示或标志某时、某地、某物或某事的存在或曾经存在(如考古、踪迹等),并月.该规律被人们所掌握.那么该物就可以看做指素符号。

指索符号还可以有自己的指索符号:如通向某地的道路是该地的指索符号,而路标又是这条道路的指索符号!

1.3  象征符号

象征符号的符号形体与符号对象之间没有肖似性或因果相承的关系,它们的表征方式仅仅建立在社会约定的基础之上。例如语言就是典型的象征符号。语言与它所表征的对象之间没有什么必然的联系.用什么样的语言符号来表征什么事物,仅仅建立在一定社会团体的任意约定的基础之亡。不同民族可以有各自不同的约定,从而形成不同的语言符号系统,例如汉语、英语、阿拉伯语、爱斯基摩语,等等。与之相关的文字、手语、旗语、鼓语等也都属于象征符号。

 

2       什么是符号?

符号可以分为非语言符号和语言符号,非语言符号包括体态语言、言语表情、个人空间、服饰、其他等;语言符号包括口头语言和文字语言,在这里我们只讨论语言符号中的文字语言。按照皮尔斯的三分法,文字语言符号又叫象征符号。象征符号的符号形体与符号对象之间没有肖似性或因果相承的关系,它们的表征方式仅仅建立在社会约定的基础之上。例如语言就是典型的象征符号。语言与它所表征的对象之间没有什么必然的联系.用什么样的语言符号来表征什么事物,仅仅建立在一定社会团体的任意约定的基础之亡。不同民族可以有各自不同的约定,从而形成不同的语言符号系统,例如汉语、英语、阿拉伯语、爱斯基摩语,等等。

2.1  符号的定义

符号就是指表达事物和观念的抽象的有意义的记号或标记,是信息的外在形式或物质载体。文字语言符号是符号分类下的一个子类。文字语言符号是从众多社会成员的言语中提炼出来的语音、语汇和语法规则系统。包括语音、语汇和语法规则三个要素。

2.2  符号的属性

1、符号是人工记号,是人类社会的创造物;

2、符号可以*创造的,与指代的事物之间无直接对应关系;

3、符号能够表示具体的事物、观念及思想等抽象的对象;

4、符号是通过学习来传承的。

2.3  符号的意义

(1)     文字语言符号具有明示性意义,即符号的字面意义,是意义的核心部分。明示性意义相对稳定,多数社会成员共同理解和使用的意义。

(2)     文字语言符号具有暗示性意义,即符号的引申意义,意义的外围部分。暗示性意义,容易变化,属于人们的联想意义,不同社会成员有着不同的理解的意义。

(3)     文字语言符号具有外延意义,即符号所指事物的集合,人们能够能辨别的意义。

(4)     文字语言符号具有内涵意义,即反映事物的特征和本质属性,能引起人们的情感和价值反应的意义。

3       什么是程序符号?

人们为了满足计算机信息处理的需要面编制的符号体系,我们叫程序符号。程序是由分隔符、标识符、运算符、关键字四类符号按照一定的形式(付值形式、算术形式、关系形式、逻辑形式、位移形式、接口形式、类形式)组成的符号集合体。

3.1  标识符的认知

标识符是用户编程时使用的名字。我们指定某个东西、人,都要用到它,他或她的名字;在数学中解方程时,我们也常常用到这样或那样的变量名或函数名。同样的道理,在电脑语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为标识符。我们在给人起名字时有一定的规矩,比如,头一个字为父亲或母亲的姓氏,后面一般为一个或两个字。所以,您可以想当然地认为电脑语言里的标识符也有一定的命名规则。

3.2  关键字的认识

关键字(Keyword)是指被赋予特定的含义、并用作专门用途的词汇。这些用途包括类型定义、流程和控制定义、修饰定义、动作定义及其它。一种语言和另一种语言的区别点是关键字的区别。

3.3  分隔符的认识

   多个符号放在一起就必然要区分,符号本身除了意义的区分,最重要的区分是符号间的区分,一个符号和另一个符号其整体性是有边界的。而这种界是有共性的,可以用有限的一个或几个来表述,我们称这种符号为分隔的符号。程序是根据分隔符来进行语素的划分,根据序号来决定语素类型,根据据标识符来决定所指的对象。

程序处理的第一步是按照分隔符对程序进行拆分,分解出标识符、关键字、运算符,然后判断其组成是否符合形式。分隔符具有共性,无论什么语言都需要分隔符,就象空间和时间需要间一样,否则就不能加以区分,没有分隔符的程序就象没有标点符号的文章,其意思是很难让人理解的。中文中各词汇间是没有分隔符,在语句间是有分隔符的;而英文在每一个词汇间都有空格来作为分隔符的。在程序语言中一般会用空格来作为每个标识符的区分符,用特定标识符作为基础标识符,语言只有先做了拆分的基础上,先做语素的分析,然后再做语句的分析,最后再做语句间的分析。

分隔符用于区分程序中的基本元素。可分为注释、空白符和普通分隔符三种。

(1)     注释是程序员为提高程序的可读性和可理解性,在程序的开始或中间对程序的功能、使用方法等所注的说明。注释仅用于帮助对程序的理解,系统在编译时,会忽略其中的注释成分。

(2)     空白符包括空格、回车、换行和制表符(Tab)等符号,程序中各种基本成分之间可以有一个或多个空白符,一个和多个空白符的作用相同。和注释一样,系统在编译时,只用空白符区分各种基本成分,然后忽略它。

(3)     普通分隔符的作用与空白符相同,但它在程序中还有特殊的意义,不能忽略。

3.4  运算符的认识

程序中的表达式是由运算符与操作数组合而成的,所谓的运算符就是用来做运算的符号。运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。运算符包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、位移运算符、转型运算符等。

4       Java程序符号的体系

 Java程序符号由标识符、分隔符、关键字、运算符四类符号组成。

4.1  标识符

JAVA语言中,为各种变量、方法和类等起的名字称为标识符。JAVA语言的标识符组成有一定的规则。

(1)    标识符首位必须以字母、下划线(_)、美元符号($)中的一种为开始,不能以数字作为首字符。

(2)    标识符的其它位可以是字母、数字、下划线、美元符号;

(3)    标识符的长度没有限制;

(4)    标识符是大小写敏感的,即同样的字母组成的标识符,大写和小写是不同的标识符;

(5)    Java关键字不能当作Java标识符。

(6)    标识符命名时应能在一定程度上反映它所表示的变量、常量、类名和对象名的实际意义。

4.2  分隔符

Java分隔符由注释、空格、分号(;)、大括号({})、小括号(())、等号(=)、问号(?)、冒号(:)、点(.)组成。分隔符的作用如下:

(1)    Java语句必须以分号作为结束符;

(2)    Java通过大括号将一组语句括起来,形成一个语句块(block)

(3)    Java程序源代码中各组成部分可插入任意数量的空格和换行符;

(4)    Java的标识符和关键字通过空格分隔;

4.3  关键字

JAVA中一些赋予特定的含义、并用作专门用途的词汇称为关键字(Keyword)。所有JAVA的关键字都是小写的。关键字可以分为数据类型、流程控制、修饰符、动作、其它共5类。

4.3.1       数据类型相关

boolean、int、long、short、byte、float、double、char、class和interface。

4.3.2       流程控制相关

if、else、do、while、for、switch、case、default、break、continue、return、try、catch和finally。

4.3.3       修饰符相关

public、protected、private、final、void、static、strictfp、abstract、transient、synchronized、volatile和native。

4.3.4       动作相关

package、import、throw、throws、extends、implements、this、super、instanceof和new。

4.3.5       其他

true、false、null、goto和const。

4.4  运算符

4.4.1       算术运算符

单目:+(取正)-(取负) ++(自增1) - -(自减1)   

双目:+ - * / %(取余)   

三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。

4.4.2       关系运算符

  等于符号:==,不等于符号: != ,大于符号:>, 小于符号:<,大于等于符号: >= ,小于等于符号: <= 。

4.4.3       位运算符

位运算符 与(&)、非(~)、或(|)、异或(^)   

&:当两边操作数的位同时为1时,结果为1,否则为0。

| :当两边操作数的位有一边为1时,结果为1,否则为0。

~:0变1,1变0   

^:两边的位不同时,结果为1,否则为0.

4.4.4       逻辑运算符   

与(&&)、非(!)、或(||)

4.4.5       赋值运算符

  = += -= *= /= %= &= ^= |= <<= >>=

4.4.6       位移运算符

<< 带符号左移

 >>带符号右移

>>> 无号右移