论坛首页 编程语言技术论坛

面向变量编程

浏览 9746 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-01-18  
huangyiiiiii 写道
c 里面 define 的害处就忘了?莫非时代在倒退,代码生成的技术又走上台面了。

静态语言的意识形态已无法禁锢自由的心……
推倒柏林墙的时候到了!
——以上为KUSO^^
0 请登录后投票
   发表时间:2007-01-18  
实在不错~`
换了种思维
0 请登录后投票
   发表时间:2007-01-19  
撇开具体的编程语言(无论命令式语言也好,函数编程语言也罢),那么“变量”这个概念是个数学概念。

在数学里,变量这个概念本来就比较奇妙;作为数学的一个分支,例如代数,或者现代的数理逻辑,变量的概念依然是存在的。

现在回到我们说的编程语言:我们都知道命令式语言(例如java)里有变量这样的概念。而你说“函数编程语言”里没有变量这个概念。让我们继续讨论:

“函数编程语言”,从名字上就包含了“函数”这样一个数学概念。从数学上看,没有变量的函数是常量函数。而常量函数只不过是一种特殊的函数罢了。

我对函数编程语言没有深入去了解过。所以我只好依靠上面的推理和你讨论,呵呵。我的另外一个推理如下:

如果函数编程语言里没有变量,那么如何表达数学里的变量(编程免不了计算问题,无论你怎么计算,都要解决一个“可重复可替换的问题”,所以变量是必然的----无论你怎么定义变量的含义)?
我的回答是:即使是FP依然存在变量,或者说,那已经是另外一种变量了(和命令式的编程语言相区别)(具体是怎么会事,我暂时不清楚,它有可能是叫另外一个名字,但是从观念上看,满足“广义的变量”的特征)

所以你说的“变量概念与lambda演算就是个冲突”,意思是命令式语言里的“变量概念与lambda演算就是个冲突”吧?
如果A等于B,并且B等于C,那么A等于C

假如“函数编程语言里没有变量”,那么如何表达上面的普遍的"变量公理"呢?
你不要告诉我说:函数A等于函数B,并且函数B等于函数C,所以函数A和函数C不等

没有变量的编程语言,就如同说“没有圆心的圆”一样,是不存在的(这里说的变量是广义的变量)。
0 请登录后投票
   发表时间:2007-01-19  
NND,如今都开始玩图灵完备和 lambda 演算了,有谁能给个定义给我,告诉我啥叫“图灵机和 lambda 演算是等价的”?
0 请登录后投票
   发表时间:2007-01-19  
我对你的变量的解释不敢同意哦 

变量是对variable的翻译,  那么var  只有在脚本语言中有,
在c/java都会按类型声明的 
在那些语言里  变量表示一段地址
也许有时eval会很有用 或者缺少不了
0 请登录后投票
   发表时间:2007-01-19  
axgle 写道
撇开具体的编程语言(无论命令式语言也好,函数编程语言也罢),那么“变量”这个概念是个数学概念。

在数学里,变量这个概念本来就比较奇妙;作为数学的一个分支,例如代数,或者现代的数理逻辑,变量的概念依然是存在的。

现在回到我们说的编程语言:我们都知道命令式语言(例如java)里有变量这样的概念。而你说“函数编程语言”里没有变量这个概念。让我们继续讨论:

“函数编程语言”,从名字上就包含了“函数”这样一个数学概念。从数学上看,没有变量的函数是常量函数。而常量函数只不过是一种特殊的函数罢了。

我对函数编程语言没有深入去了解过。所以我只好依靠上面的推理和你讨论,呵呵。我的另外一个推理如下:

如果函数编程语言里没有变量,那么如何表达数学里的变量(编程免不了计算问题,无论你怎么计算,都要解决一个“可重复可替换的问题”,所以变量是必然的----无论你怎么定义变量的含义)?
我的回答是:即使是FP依然存在变量,或者说,那已经是另外一种变量了(和命令式的编程语言相区别)(具体是怎么会事,我暂时不清楚,它有可能是叫另外一个名字,但是从观念上看,满足“广义的变量”的特征)

所以你说的“变量概念与lambda演算就是个冲突”,意思是命令式语言里的“变量概念与lambda演算就是个冲突”吧?
如果A等于B,并且B等于C,那么A等于C

假如“函数编程语言里没有变量”,那么如何表达上面的普遍的"变量公理"呢?
你不要告诉我说:函数A等于函数B,并且函数B等于函数C,所以函数A和函数C不等

没有变量的编程语言,就如同说“没有圆心的圆”一样,是不存在的(这里说的变量是广义的变量)。

parameter = variable ?
变量 = 变量 ?
0 请登录后投票
   发表时间:2007-01-20  
Elminster 写道
NND,如今都开始玩图灵完备和 lambda 演算了,有谁能给个定义给我,告诉我啥叫“图灵机和 lambda 演算是等价的”?

呵呵,等价么就是,你要一个程序,找一个人用图灵机实现和找一个人用lambda 演算实现,价钱是一样的。

我想他的意思是,computability上是等价的。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics