免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 无风之谷
打印 上一主题 下一主题

每个程序员都应该学习使用Python或Ruby,你怎么认为? [复制链接]

论坛徽章:
0
61 [报告]
发表于 2012-05-01 10:02 |只看该作者
回复 60# starwing83


    非常同意你的观点,可能我说语法有点不太贴切,语法应该要从语义层次来理解的。

    大师们设计语言之前肯定对之前出现过的语言各方面的特性都进行了取舍,使新语言具有自己的特色,也就是所谓的设计哲学。

论坛徽章:
0
62 [报告]
发表于 2012-05-02 08:13 |只看该作者
Ruby & Python,在应用领域是重叠的,剩下的就看自己喜欢哪种语法格式,二选其一就好。

论坛徽章:
0
63 [报告]
发表于 2012-05-02 08:48 来自手机 |只看该作者
我当前只会汇编、C、C++,将来还要学好SHELL、perl、java,我想够了。从底层到上层都齐了。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
64 [报告]
发表于 2012-05-02 14:43 |只看该作者
starwing83 发表于 2012-04-30 23:28
回复 58# _Rayx

函数式设计者发现,赋值是唯一一种因为语句的顺序改变,而导致程序的含义发生变化的语法构造(自加,自减本质上其实都是赋值),于是他们去掉了赋值,所得到的是语言构造不因写作的顺序而发生含义改变。

  1. (and a b)
  2. (and b a)
复制代码
有赋值么?含义相同么?


starwing83 发表于 2012-04-30 23:28
回复 58# _Rayx

注意到,这其实也是OO的目标之一(在不修改程序,仅仅追加组件的情况下,扩充程序),这也是OO会倾向于加入函数式方法的一个原因。

不修改程序,仅仅追加组件的情况下,扩充程序 —— additive?
说这是OO的目标之一,没意见。

但"这其实也是OO的目标之一"中的"这"是什么?函数式?省略赋值?顺序无关?
就最后一条还勉勉强强…… 前两者与additive有神马关系啊……


PS:貌似没有提这书是英文版还是中文版诶……
AD那个帖子你也应该看见了……

论坛徽章:
0
65 [报告]
发表于 2012-05-02 16:05 |只看该作者
回复 10# sunny7476

很好的解释。
   

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
66 [报告]
发表于 2012-05-02 17:05 |只看该作者
本帖最后由 starwing83 于 2012-05-02 17:14 编辑

回复 64# OwnWaterloo


    (and a b)和(and b a)语义的确不一样,但是这是一个“瞬时”的不一样,这里主要说明的是程序的含义不会因为其操作数据的顺序而发生改变(类似多线程那种),不知道怎么形容所以直接说的是“顺序改变”。我觉得你应该懂我啥意思。

后面的“也”说的是顺序改变。

就算是中文版的,稍微收藏一下也好呗~~

UPDATE:我想到说法了。是这样的,如果没有赋值,那么程序里面就没有状态,自然不存在状态“改变”,程序的状态本身不会发生变化,就无所谓“执行顺序”这么一说,程序其实是由展开的操作序列组成(即所谓正则序执行),在这种情况下,是不可能出现关于状态错误的问题的(因为本来就没有状态的改变,要么一开始就是错的,要么就不是错误的),采用归纳法或循环不变式的方式很容易证明程序的正确性。而在加入赋值之后,程序本身有了状态,自然也有了对状态的维护,就导致了对同一状态修改顺序的不同导致的改变。

以(and a b)和(and b a)为例,它们的结果不同,但是在不引入赋值时,它们的值决不可能同时出现在一个对象中作为这个对象的状态,而引入赋值会导致这一点没法保证,给证明程序正确(其实是指维护性)带来困难。

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
67 [报告]
发表于 2012-05-03 14:17 |只看该作者
每个程序员都应该学习使用Ruby,我认为!!

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
68 [报告]
发表于 2012-05-03 19:01 |只看该作者
python非常棒

论坛徽章:
20
CU大牛徽章
日期:2013-04-17 11:48:26羊年新春福章
日期:2015-03-10 22:39:202015年中国系统架构师大会
日期:2015-06-29 16:11:282015亚冠之平阳省
日期:2015-07-31 09:19:042015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-09-30 06:20:002015亚冠之柏太阳神
日期:2015-10-19 20:29:5915-16赛季CBA联赛之天津
日期:2016-11-29 14:03:4315-16赛季CBA联赛之北控
日期:2016-12-24 20:51:492015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-12 20:58:532014年中国系统架构师大会
日期:2014-10-14 15:59:00
69 [报告]
发表于 2012-05-03 22:45 |只看该作者
python现在已经相当的火了

论坛徽章:
0
70 [报告]
发表于 2012-05-04 17:16 |只看该作者
回复 10# sunny7476

无语,这哪里对应了……
要比好歹把main去掉吧。
而且上面的代码写得很渣,就算不用标准库无脑都能缩掉一堆无用代码……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP