您好,匿名用户
随意问技术百科期待您的加入

比较三门解释型语言;算法和数据结构对程序员来说究竟有多重要

0 投票

比较perl,ruby,python,js
最好从能解决的问题的范围,解决问题的速度,解决问题的效率,学习成本等方面来比较。

另外,算法数据结构对程序员来说究竟有多重要?
是有的岗位对这方面要求高而其他的要求低,还是所有程序员都应当熟练掌握?

用户头像 提问 2013年 9月11日 @ Aquarius 上等兵 (283 威望)
分享到:

1个回答

+1 投票
 
最佳答案

js是唯一必须要学, 但是风格上最老土的. 但是最近我迷恋上了coffee-script, 可以让我用python+ruby的代码风格写js.

不用写ruby的end, 也不用python的冒号, 并且可以毫无顾忌的写python里面没有的匿名函数(谁叫lamdba只能一行)

我是一个很严重的python控, 对于python唯一的一点不满也就是匿名函数了. pythonic是我做事的原则之一, 并且这个原则可以用在写程序之外.

ruby我写过几个小程序, 没有写过rails, 里面太多magic. 我喜欢ruby语法, 影响了很多语言, 包括coffee-script和underscore.js. 对于ruby的不满在于它不同版本的变化, 1.8和1.9的语法变化就让很多人头疼, 相对py的2.5 2.6 2.7其实没有什么巨大的变化, 语言层面非常稳定, bug少. ruby社区的创新能力是让人着迷的, 无数新点子都由此而出.

这也是为什么我在产品级别只用py的原因. 在其他项目比如qa自动化等, ruby表现出强劲的生产效率.
所以虽然使用python在几年前被视为新潮, 我自己却认为这是一个保守的选择, python可以说是高效生产力中比较保守的派别.

要说ruby新潮, 不过nodejs更新潮, 很多玩ruby的人都跑去玩node了. 但是玩python的人依然没变, 并且对于py3k大家也是完全不着急.

perl就不说了.

最后点题, 这里谈论的所有语言, 都是用了动态的数据结构, 也就是说列表和字典数据结构是他们的基石, python中一个class本质上也可以说是一个字典, 相对而言C++的class就是一个结构, 这是根本的区别.

动态语言的数据结构真的没有什么好讲的, 太简单了, 知道什么时候用列表, 什么时候用字典, 什么时候把这两个结合起来变成自己的模型, 就好了. 换言之, 你知道什么叫json就学习了数据结构了. 这些数据可以简单的在各种(动态)语言中传递, 以前的那种远程RPC已经没有太大意义了.

用户头像 回复 2013年 9月11日 @ Renekton 上等兵 (260 威望)
选中 2013年 9月7日 @Aquarius
提一个问题:

相关问题

0 投票
1 回复 32 阅读
0 投票
1 回复 27 阅读
0 投票
1 回复 24 阅读
0 投票
1 回复 47 阅读
用户头像 提问 2012年 12月1日 @ Nasus 上等兵 (329 威望)
0 投票
0 回复 21 阅读
用户头像 提问 2013年 11月4日 @ Virgo 上等兵 (284 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...