文号
t46489
阅读
20492
回复
42
收藏
23
为何用过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 的中文资料比较少(哪样东西的中文资料多了?)这大概是个弱点。

有兴趣者,可以点击看看美国中学生编写的游戏。XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
14年6个月前IP:未同步
408559
1楼
第一次听说,有空学习一下
引用
评论
14年6个月前IP:未同步
408561
2楼
我当初用了一段 Ruby 后,果断投靠了 Python。Ruby 看起来很完美,但是那种卖力不讨好的语言。
无论从运行速度,库的数量和丰富性,都比不上 Python。再说 Python 还有 C API。
做 DSL 也不如 Lisp,面向对象也很坑爹,像什么 1.upto(10) 。。。。。。
+5
科创币
acmilan
2012/07/26
也可以用for i in 1..n的
引用
评论
14年6个月前IP:未同步
408652
3楼
我正好相反,尝试过多种语言,最后还是喜欢C C++
引用
评论
14年6个月前IP:未同步
408888
4楼
引用楼主婺源寻芳于2012-06-18 07:50发表的 为何用过Ruby语言的都爱不释手? :
我用过的电脑语言不下十几种,直到后来,都决定金盆洗手,退隐江湖了,才碰到Ruby。这也是机缘巧合。

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

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






为什么os最底层的代码都是用c写的?
引用
评论
14年6个月前IP:未同步
408889
5楼
回 楼主(婺源寻芳) 的帖子
用了汇编后,汇编会让你爱不释手。。。高效才是王道
+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
汇编太恐怖 天书搬的
引用
评论
14年6个月前IP:未同步
408896
6楼
回 5楼(phpskycn) 的帖子
这个还是太蛋疼了。。。
引用
评论
14年6个月前IP:未同步
408902
7楼
回 4楼(demon97110) 的帖子
Windows NT 5.X内核用了C++和汇编。
引用
评论
14年6个月前IP:未同步
408937
8楼
工具而已~~~~~操得爽就好了,各有好处.
引用
评论
14年6个月前IP:未同步
408972
9楼
回 楼主(婺源寻芳) 的帖子
学的第一种语言是Pascal。。。。。用过的都懂。。。

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

可惜当年咱不听话,现在成不了程序员了。。呵呵O(∩_∩)O~
引用
评论
14年6个月前IP:未同步
408985
10楼
Re:回 4楼(demon97110) 的帖子
引用第7楼phpskycn于2012-06-18 22:21发表的 回 4楼(demon97110) 的帖子 :
Windows NT 5.X内核用了C++和汇编。


内核肯定会有汇编,不过也是很小的部分。
引用
评论
14年6个月前IP:未同步
408987
11楼
Re:回 楼主(婺源寻芳) 的帖子
引用第5楼phpskycn于2012-06-18 22:10发表的 回 楼主(婺源寻芳) 的帖子 :
用了汇编后,汇编会让你爱不释手。。。高效才是王道


学过计算机的人多少都懂汇编。汇编将来维护起来比较困难。我做单片机偶尔还用。
引用
评论
14年6个月前IP:未同步
408989
12楼
引用第4楼demon97110于2012-06-18 22:08发表的  :



os 底层都用c?

.......


c的特点是内存由程序员管理。而操作系统的基本要求就在内存管理。不能交给语言自动处理。
引用
评论
14年6个月前IP:未同步
408993
13楼
最近在写操作系统...堆栈操作各种蛋疼啊
+1
科创币
jrcsh
2012/06/19
你也找蛋疼的事了,
引用
评论
14年6个月前IP:未同步
408994
14楼
Re:回 楼主(婺源寻芳) 的帖子
引用第9楼土豆于2012-06-18 23:56发表的 回 楼主(婺源寻芳) 的帖子 :
学的第一种语言是Pascal。。。。。用过的都懂。。。

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

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


你觉得是否算逃过一劫?

确实只有某些人适合编程。我也用pascal交过一些作业。
引用
评论
14年6个月前IP:未同步
408995
15楼
引用第13楼10班陈大葱22号于2012-06-19 00:26发表的  :
最近在写操作系统...堆栈操作各种蛋疼啊


不简单,是单片机的?
引用
评论
14年6个月前IP:未同步
409001
16楼
引用第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) 这种概念简直美妙无比。读起来都顺口。
引用
评论
14年6个月前IP:未同步
409020
17楼
个人理解,,,,,,,所为的编程工具只是为了把 "代码"转成 机械码

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

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



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

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

不过py适用范围比ruby广泛很多,看自己的场合选择合适的工具吧。
引用
评论
14年6个月前IP:未同步
417910
23楼
回 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四核都快成主流了。
引用
评论
14年6个月前IP:未同步
417956
24楼
语言毕竟是工具,适合的才是最好的。
比如写系统级程序,就得亲自垒砖,这时只能用汇编和C
在C语言中,button等对象是且只是独立于语言本身,在各库中有各行其是的诸多虚拟概念,而C++/C#等语言直接将它在语言中实现了类和对象的语言概念。
引用
评论
14年6个月前IP:未同步
418921
25楼
ruby生于lisp,而lisp是和汇编同级的“神级”语言
所以它才如此牛b
引用
评论
14年6个月前IP:未同步
420701
26楼
LISP的一个方言罢了
引用
评论
14年5个月前IP:未同步
423992
27楼
还没学不知道哪个好先顶下吧
引用
评论
14年5个月前IP:未同步
426716
28楼
facebook有句话说得好,Languages' don't scale, architecture scale.
事实上工具永远是工具,重要的是谁在用,怎么用,用在哪。

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


固步自封就是给自己找麻烦
某一天python或ruby被当成CPU直接执行的语言了,你还会选择C吗?
引用
评论
14年5个月前IP:未同步
427301
31楼
回 30楼(acmilan) 的帖子
从这么多年的趋势来看,这种概率不会很大.
不过我很看好python啊.可能还是自己太躁了
引用
评论
14年5个月前IP:未同步
427413
32楼
[s:275] 只可惜当时(2009年)不知道在网上能买书,要不然我也学python了。
引用
评论
14年5个月前IP:未同步
427722
33楼
[s:274] [s:274]不知为何,大家总不是太看好ruby
是因为它是曰本人编的?还是真的不好?
引用
评论
14年5个月前IP:未同步
427724
34楼
回 2楼(k***ntasy) 的帖子
除了1.upto(10) do以外,
也可以用for i in 1..n的[s:275]
引用
评论
14年5个月前IP:未同步
428718
35楼
回 3楼(xp200798) 的帖子
c才是王道。
引用
评论
14年4个月前IP:未同步
450849
36楼
我用python多一点
引用
评论
14年3个月前IP:未同步
451480
37楼
学习lua的人事不关己的飘过
引用
评论
14年2个月前IP:未同步
463839
38楼
XXXXXX+VC是王道~
+1
科创币
yanli12321
2012/10/25
只会C51的伤不起啊......
引用
评论
14年2个月前IP:未同步
463859
39楼
只会C51的伤不起啊......
引用
评论
14年2个月前IP:未同步
463870
40楼
[s:241]学过3种没一种学好过
引用
评论
14年2个月前IP:未同步
463906
41楼
与其纠结各种蛋疼问题,不如去好好学一下软件工程专业的课程,了解各种编程模型,这样就不会为了实现一种复杂功能/逻辑而纠结半天。。。
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的