为何用过Ruby语言的都爱不释手?
婺源寻芳2012/06/18软件综合 IP:美国
我用过的电脑语言不下十几种,直到后来,都决定金盆洗手,退隐江湖了,才碰到Ruby。这也是机缘巧合。

用了Ruby 以后又去尝试Python种种,但是都不像Ruby 那么顺手。Ruby 的一个特点就是语法简洁,绝对不拖泥带水。

这和发明者日本人松本先生有关。他一路摸索出这个语言,一点点把棱角磨得圆滑,处处显出设计者的用心。

这是个非常适合初学者的入门语言。

如果你要打印’美女‘100次,直接写 100.times {p '美女’}

在C里面,你得写 for (i=0; i < 100; ++i) { printf(...); },  当然,前头还要记得写 int i;

编程语言要给编程者直观的感觉,这样无论编程或者查错都容易。C语言里面搞一大串,无论读写都困难许多倍。

所以对于初学者,我绝对不赞成从C开始。C是本应被抛弃的语言。(嵌入式的暂时无法抛弃C)

Ruby 的中文资料比较少(哪样东西的中文资料多了?)这大概是个弱点。

有兴趣者,可以点击看看美国中学生编写的游戏。XXXXXXXXXXXXXXXXXXXX/ruby4kids/videos/show_and_tell/XXXXXXXXv
来自:计算机科学 / 软件综合
42
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
samsun185
12年8个月前 IP:未同步
408559
第一次听说,有空学习一下
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
krfantasy
12年8个月前 IP:未同步
408561
我当初用了一段 Ruby 后,果断投靠了 Python。Ruby 看起来很完美,但是那种卖力不讨好的语言。
无论从运行速度,库的数量和丰富性,都比不上 Python。再说 Python 还有 C API。
做 DSL 也不如 Lisp,面向对象也很坑爹,像什么 1.upto(10) 。。。。。。
+5
科创币
acmilan
2012-07-26
也可以用for i in 1..n的
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
eifheowvd
12年8个月前 IP:未同步
408652
我正好相反,尝试过多种语言,最后还是喜欢C C++
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
demon97110
12年8个月前 IP:未同步
408888
引用楼主婺源寻芳于2012-06-18 07:50发表的 为何用过Ruby语言的都爱不释手? :
我用过的电脑语言不下十几种,直到后来,都决定金盆洗手,退隐江湖了,才碰到Ruby。这也是机缘巧合。

用了Ruby 以后又去尝试Python种种,但是都不像Ruby 那么顺手。Ruby 的一个特点就是语法简洁,绝对不拖泥带水。

这和发明者日本人松本先生有关。他一路摸索出这个语言,一点点把棱角磨得圆滑,处处显出设计者的用心。
.......






为什么os最底层的代码都是用c写的?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
12年8个月前 IP:未同步
408889
回 楼主(婺源寻芳) 的帖子
用了汇编后,汇编会让你爱不释手。。。高效才是王道
+1
科创币
土豆
2012-06-18
+1
+1
科创币
wjwj1234xx
2012-06-20
汇编不会编&nbsp;&nbsp;就是这样...
+1
科创币
noname剑人
2012-06-20
握手
+1
科创币
asdw_15951
2012-06-21
高质量发帖
+1
科创币
金坷居士
2012-10-25
汇编太恐怖 天书搬的
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
demon97110
12年8个月前 IP:未同步
408896
回 5楼(phpskycn) 的帖子
这个还是太蛋疼了。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
12年8个月前 IP:未同步
408902
回 4楼(demon97110) 的帖子
Windows NT 5.X内核用了C++和汇编。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
jrcsh
12年8个月前 IP:未同步
408937
工具而已~~~~~操得爽就好了,各有好处.
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
土豆
12年8个月前 IP:未同步
408972
回 楼主(婺源寻芳) 的帖子
学的第一种语言是Pascal。。。。。用过的都懂。。。

还是初中时的事,老师说能培养优秀程序员所需的好习惯。。。。

可惜当年咱不听话,现在成不了程序员了。。呵呵O(∩_∩)O~
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
婺源寻芳作者
12年8个月前 IP:未同步
408985
Re:回 4楼(demon97110) 的帖子
引用第7楼phpskycn于2012-06-18 22:21发表的 回 4楼(demon97110) 的帖子 :
Windows NT 5.X内核用了C++和汇编。


内核肯定会有汇编,不过也是很小的部分。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
婺源寻芳作者
12年8个月前 IP:未同步
408987
Re:回 楼主(婺源寻芳) 的帖子
引用第5楼phpskycn于2012-06-18 22:10发表的 回 楼主(婺源寻芳) 的帖子 :
用了汇编后,汇编会让你爱不释手。。。高效才是王道


学过计算机的人多少都懂汇编。汇编将来维护起来比较困难。我做单片机偶尔还用。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
婺源寻芳作者
12年8个月前 IP:未同步
408989
引用第4楼demon97110于2012-06-18 22:08发表的  :



os 底层都用c?

.......


c的特点是内存由程序员管理。而操作系统的基本要求就在内存管理。不能交给语言自动处理。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
10班陈大葱22号
12年8个月前 IP:未同步
408993
最近在写操作系统...堆栈操作各种蛋疼啊
+1
科创币
jrcsh
2012-06-19
你也找蛋疼的事了,
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
婺源寻芳作者
12年8个月前 IP:未同步
408994
Re:回 楼主(婺源寻芳) 的帖子
引用第9楼土豆于2012-06-18 23:56发表的 回 楼主(婺源寻芳) 的帖子 :
学的第一种语言是Pascal。。。。。用过的都懂。。。

还是初中时的事,老师说能培养优秀程序员所需的好习惯。。。。

可惜当年咱不听话,现在成不了程序员了。。呵呵O(∩_∩)O~
.......


你觉得是否算逃过一劫?

确实只有某些人适合编程。我也用pascal交过一些作业。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
婺源寻芳作者
12年8个月前 IP:未同步
408995
引用第13楼10班陈大葱22号于2012-06-19 00:26发表的  :
最近在写操作系统...堆栈操作各种蛋疼啊


不简单,是单片机的?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
婺源寻芳作者
12年8个月前 IP:未同步
409001
引用第2楼krfantasy于2012-06-18 08:32发表的  :
我当初用了一段 Ruby 后,果断投靠了 Python。Ruby 看起来很完美,但是那种卖力不讨好的语言。
无论从运行速度,库的数量和丰富性,都比不上 Python。再说 Python 还有 C API。
做 DSL 也不如 Lisp,面向对象也很坑爹,像什么 1.upto(10) 。。。。。。


确实python的使用者多很多。原因可能是,python 在美国,开源,一切公开。 ruby就那日本小子霸占一切。

1.upto(10) 这种概念简直美妙无比。读起来都顺口。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
jrcsh
12年8个月前 IP:未同步
409020
个人理解,,,,,,,所为的编程工具只是为了把 "代码"转成 机械码

汇编 是直接操作内存/寄存器 、、  编写人员要掌握内存的分配

C,  相当于一个,代码转换器~~~ 甚至可以理解成 汇编的操作系统,解,放了程序员要对内存分配的掌握。



感觉~~~越是越高级的语言,越是起操作系统的作用,最原始的东西都没有变,更多的是组合出花样来
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
12年8个月前 IP:未同步
409631
很久以前有人说XXXXXT很好
之后有人说JAVA很强大
后来又有人说python很牛
现在又有人鼓吹Ruby
但是C  始终在那,从未被影响。
语言看起来“高级”的地方,是解释器做了程序员的工作。但这也意味着你对最终生成的代码的控制能力减弱了。
C  看起来复杂的地方就在这,它可以深度控制解释器的行为,甚至可以直接使用内联汇编。
离底层越远,离高效越远。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
cl520
12年8个月前 IP:未同步
412026
以前用的易语言 感觉真他妈的垃圾  国产的就是恶心 后来学了C++(自学的哦)感觉还不错    就是语言太繁琐了   现在不知学什么好
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
phpskycn
12年8个月前 IP:未同步
412054
回 楼主(婺源寻芳) 的帖子
一、c使用for循环,意味着可以把执行次数和其它变量关联起来。很多情况下,执行次数并不是确定的。
二、初学者直接使用过于“简洁”的语言,会形成很差的编程习惯。
三、看来乃c学得不怎么样,竟然觉得“读写都困难多倍”,那么有何资格拿C做比较?
四,鄙人听说,用汇编语言的程序员工资最高,C的次之,Cpp更低一点,C#和Java、delph的再低一点,XXXXXt的更低,看来用Ruby的要低得越过低保线了。。。
+1
科创币
acmilan
2012-07-11
ruby生于lisp,而lisp是和汇编同级的“神级”语言
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
csakura
12年7个月前 IP:未同步
417881
回 4楼(demon97110) 的帖子
有C#写的OS。统称SharpOS。。这类OS的进程调度、内存管理、驱动等等都是C#写的,有些BOOT LOADER也是C#实现的。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
csakura
12年7个月前 IP:未同步
417894
LZ仅仅是说ruby是动态语言,这个说服力不大。。。
以C语言的角度去考虑,肯定会得出python比ruby好的结论,这个并不奇怪。
但从软件工程以及实际工程开发来说,ruby比python真的好太多了

1:ROR比Django之流实在好太多了,专用不说,生产/开发的切换就可以拍死py
2:包管理比python好不少
3:OO与FP上面都比python好

不过py适用范围比ruby广泛很多,看自己的场合选择合适的工具吧。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
csakura
12年7个月前 IP:未同步
417910
回 20楼(phpskycn) 的帖子
汇编、C、C++的这类入门门槛高的,蓝领级别程序员就少了,不过这些语言高薪的说真的也不多。你去XX软件园、XX工业区,就会看到,年薪20W以上的,在数量上C#/JAVA之类的要比C/C++的多。
而在一个开发团队中,C/C++的5-6K其实是占多数的,但5-6K要求也不低了,学徒级别的也只有3K月薪左右。两年后,如果做JAVA/C#还是5K属于不上进类型。

顺便说一下,从语言上考虑,在C、C++、JAVA、C#来说,C是最简单的了,那些觉得JAVA、C#是最简单的,恐怕是把他们当成C来看了,同时这类薪资也是最低的。
JAVA、C#所包含的OO思想,对于一个初学者来说就是个噩梦。
要在JAVA、C#充分利用语言的优势,构建自己的业务framework,这类人确实很少。

另外汇编也不是那么神秘,汇编只是针对CPU的一种语言罢了,操作极其繁琐。
我见过不少写汇编的,写得比编译器产生的还要差的占绝大部分,他们所谓的技巧无非就是内存复制、移动之流。。。
如果现在只会51汇编等,恐怕很难找工作了(现在招这类工作的大部分都是搞破解或者安全的)。。。
现在嵌入式领域,做51之类的很少了,基本都转到ARM9甚至更高级别去了,BMW(德国的)的车载系统就是基于ARM9,上面跑OSGI。
而消费类电子,CORTEX A9四核都快成主流了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
12年7个月前 IP:未同步
417956
语言毕竟是工具,适合的才是最好的。
比如写系统级程序,就得亲自垒砖,这时只能用汇编和C
在C语言中,button等对象是且只是独立于语言本身,在各库中有各行其是的诸多虚拟概念,而C++/C#等语言直接将它在语言中实现了类和对象的语言概念。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
12年7个月前 IP:未同步
418921
ruby生于lisp,而lisp是和汇编同级的“神级”语言
所以它才如此牛b
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
4king
12年7个月前 IP:未同步
420701
LISP的一个方言罢了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
rc452860
12年7个月前 IP:未同步
423992
还没学不知道哪个好先顶下吧
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
epi.clyce
12年7个月前 IP:未同步
426716
facebook有句话说得好,Languages' don't scale, architecture scale.
事实上工具永远是工具,重要的是谁在用,怎么用,用在哪。

当然,就编程语言自身而言,根据我自身的经验,ruby确实是一个适合于快速开发的、在对系统性能要求不高的条件下的普适语言,从语法的自由性上比较类似于perl,元编程和函数式编程的强大让人容易联想到lisp(这两点恰恰给ruby带来了极大的争议),灵活自由的同时又不乏严谨性,是一门在设计上十分考究的语言
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
.........
12年7个月前 IP:未同步
426818
如果有谁想学一门语言,我肯定推荐py
可是自己学就学不到了,还是觉得用C语言用的自在.
图形界面可以用GTK+,其他的更是不在话下了.
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
12年7个月前 IP:未同步
427284
引用第29楼.........于2012-07-25 07:56发表的  :
如果有谁想学一门语言,我肯定推荐py
可是自己学就学不到了,还是觉得用C语言用的自在.
图形界面可以用GTK+,其他的更是不在话下了.


固步自封就是给自己找麻烦
某一天python或ruby被当成CPU直接执行的语言了,你还会选择C吗?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
.........
12年7个月前 IP:未同步
427301
回 30楼(acmilan) 的帖子
从这么多年的趋势来看,这种概率不会很大.
不过我很看好python啊.可能还是自己太躁了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
12年7个月前 IP:未同步
427413
[s:275] 只可惜当时(2009年)不知道在网上能买书,要不然我也学python了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
12年7个月前 IP:未同步
427722
[s:274] [s:274]不知为何,大家总不是太看好ruby
是因为它是曰本人编的?还是真的不好?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
12年7个月前 IP:未同步
427724
回 2楼(k***ntasy) 的帖子
除了1.upto(10) do以外,
也可以用for i in 1..n的[s:275]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
rysun
12年7个月前 IP:未同步
428718
回 3楼(xp200798) 的帖子
c才是王道。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
bleem1998
12年5个月前 IP:未同步
450849
我用python多一点
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
shockflash
12年5个月前 IP:未同步
451480
学习lua的人事不关己的飘过
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
金坷居士
12年4个月前 IP:未同步
463839
XXXXXt+VC是王道~
+1
科创币
yanli12321
2012-10-25
只会C51的伤不起啊......
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
yanli12321
12年4个月前 IP:未同步
463859
只会C51的伤不起啊......
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
gurite
12年4个月前 IP:未同步
463870
[s:241]学过3种没一种学好过
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
warmonkey
12年4个月前 IP:未同步
463906
与其纠结各种蛋疼问题,不如去好好学一下软件工程专业的课程,了解各种编程模型,这样就不会为了实现一种复杂功能/逻辑而纠结半天。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}