免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
10
亥猪
日期:2013-08-15 14:50:422015年迎新春徽章
日期:2015-03-04 09:58:112015亚冠之吉达阿赫利
日期:2015-07-21 09:49:08神斗士
日期:2015-11-20 14:07:3815-16赛季CBA联赛之江苏
日期:2017-08-17 14:04:21CU大牛徽章
日期:2013-09-18 15:15:45CU大牛徽章
日期:2013-09-18 15:16:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34巳蛇
日期:2014-03-29 19:05:3215-16赛季CBA联赛之辽宁
日期:2022-04-08 16:41:44
51 [报告]
发表于 2012-04-28 17:09 |只看该作者
回复 34# pmerofc


    python解毒?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
52 [报告]
发表于 2012-04-28 17:52 |只看该作者
回复 50# AD8018

关于梦断那个软件,还有类似codeblock这样的东西。
我自己,怎么说呢…… 也有一种恐惧…… 功能、需求、实现等等复杂到一定程度之后该怎么办。。。
尤其是梦断提到那种"大构想、全功能"的软件,更是容易让复杂的超出控制。。。 心慌。。。


PS:虽然与python/ruby无关,至少与梦断代码有关。。。 应该不算完全歪楼吧。。。
再PS:这个应该不是你的博客吧?

论坛徽章:
0
53 [报告]
发表于 2012-04-28 18:02 |只看该作者
回复 52# OwnWaterloo

我的博客在CU,只是为了给另一个产品增加链接 保密

言归正传,关于恐惧,的确有的,
现在也越来越不愿追求可移植性,
按里程碑式能出一版又一版的产品,就是最希望做到的。无论给自己还是客户,都是减少开发疲倦的好办法。

论坛徽章:
0
54 [报告]
发表于 2012-04-28 18:04 |只看该作者
回复 22# qq410029478
   不懂你在说啥。


   

论坛徽章:
0
55 [报告]
发表于 2012-04-29 09:33 |只看该作者
每个程序员都应该学习使用Python或Ruby,你怎么认为?

python是一门强大的语言,现在发展也非常快,语法简法,通谷易懂,一个从没学过python的人看到python代码的时候很大部分都能知道这段代码是做什么的,不像perl语法迷宫一样,很可能连自己写的代码都不能知其意。这与其设计哲学里的“简单”相符。

学习python能让人有一种做什么事都应当简单化的思想,在C/C++系的语言里语法的简洁性确实不能与python相比,不过它们也有着自己的优点,如灵活,效率。据我了解也有不少公司在使用python了,如测试方面,自然语言处理等等。

在学校的时候(至少国内的学校)是这样,一般教的只有C/C++,JAVA,多的一门可能是C#,其余专业可能教的是VB,只可能在教linux的时候教一下shell编程。学习python/Ruby/Lisp这些都差不多算是课外学习了,所以其在学校的认知度并不算太高。而进入工作后,没有必要,相信学python这类语言的人也少。

而学习python确实能给人耳目一新的感觉,当然前提是你没接触过类似的语言。可能别的语言很长一段代码才能表达的用python一句话就搞定了,真的就是“简单”。但我并不认为所以有一定要学python/Ruby. 首先最重要的还是项目,项目使用什么好,就学习什么。随着能力的提高,想接触一门新的语言思想了,很推荐学习python,学习它的设计哲学,并将其哲学带入其它语言中,所谓要”精一懂三“吧,精通一门语言,懂其它三门不同的语言。

对于ruby不太了解就不评判了,不过既然这里将python/ruby放在一起,估计就是相通的。

论坛徽章:
0
56 [报告]
发表于 2012-04-29 17:54 |只看该作者
java也不错啊

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
57 [报告]
发表于 2012-04-29 19:26 |只看该作者
学习Python中...

论坛徽章:
0
58 [报告]
发表于 2012-04-30 13:27 |只看该作者
在学习了除C系语言之外的语言,看到不同的语法,对自己提高也挺有帮助的。

论坛徽章:
0
59 [报告]
发表于 2012-04-30 18:04 |只看该作者
看到高手们对语言理解这么深刻,只好来凑个热闹了。。。

论坛徽章:
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
60 [报告]
发表于 2012-04-30 23:28 |只看该作者
回复 58# _Rayx


    我必须要说明一下,学语言绝对不是学习“语法”,而是“对语法的选择”。比如什么是函数式语言呢?说白了,就是“不提供赋值操作”的语言。对语言侧重点的理解偏差,是语言学习者乃至语言书籍编写者(@陈良乔)的一个重大的困难。事实上,语言本身,和语言的“实现”,是完全不相关的。C语言和VS2010、Python和CPython乃至Jython,都是不相关的。语言讲究的是“取舍”,是对特性集合的选择,而语言实现讲究的是“理解语言的选择所代表的含义,以提供高效的实现”。

举个例子,为什么函数式语言不提供“赋值”呢?原因很简单,如果提供赋值,下面的语句:

  1. a = b;
  2. b = a;
复制代码
的两行就必须按照这个顺序去写,否则含义不一样,上面的写法是b = a = b; 即让a的值与b相同,如果写成:

  1. b = a;
  2. a = b;
复制代码
含义就会变成b = a,即让b的值与a相同,完全相反了。

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

注意到,这其实也是OO的目标之一(在不修改程序,仅仅追加组件的情况下,扩充程序),这也是OO会倾向于加入函数式方法的一个原因。另一个原因是,函数式为了能够在省略赋值之后,依然能够表达各种(特别是变化的)程序结构,发明了很多极其内聚和通用的操作。这也是所谓“函数式复兴”的原因之一。

学习语言,并不是一个摸索过程,摸索过程应该仅仅出现在学习第一门语言中,学习语言,应该是一种“印象”过程。你对Python的印象是什么?会极大地决定你会怎么去用Python,本质上让自己对语言的理解,和语言设计师们对语言的理解相同,这就是学习语言的过程,陈良乔先生明显没有理解到这一点,而是采取特别具象的方式,以及特别主观的方式去教育语言,而这是不行的。

前文已经说过了,Python倾向于“优美”(做一件事情只有一种方式),而Ruby倾向于“自由”(程序员可以做到自己想做到的所有事情,以一种特别简单的方式),这才是语言学习的精髓所在,虽然这两门语言因为作者的理论功底原因,没有完成设计的目标,但是我们依然要从这个目标出发,才能切合语言本质,不仅仅是将语言学会,还要用好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP