红宝石非常句法是否是富有的? 您喜欢? 我不。
我设法以前探讨时期红宝石夫妇。 在我有什么的这种古怪的感觉时候是我做这里,当我很好已经是精通与一种更加简单的语言- Java时,给我一切我需要。 红宝石感觉非常句法富有,可以方式和有趣的把戏做材料等等。当这些也许喜欢剧本小家伙时,美味的语法糖从长远看不帮助也不帮助您创造健壮代码(除非您爱飞行鲸鱼和每隔一天失败)的服务。
我不害怕开发脏家伙接口亦不I发现它费时。 我可以从RoR得到什么价值? 在我探讨红宝石& RoR时候,我回来不满意的感觉。 什么在我缺掉的这里?
我使用与Java从‘96,并且,每当我得到机会编码,它是乐趣。 我编码了一简单出版订阅在XMPP (快而含糊不清的话导线协议)的经纪使用对象数据库(db4o)。 相信它或不是它采取84个代码行与评论的用数据坚持创造pubsub经纪。 我增加活调试功能、更多功能和可靠的传讯。 所有这些额外特点代码仍然站立在130条线以下,但是它更加重要地执行象冠军。
您能从一种编程语言更要求什么? 这是富有在功能上,简明和确切。 您能给代码所有新手,并且他可以了解它。 那与 小比较,但是可怕地使在 许多语言的代码复杂化,并且您将体会什么我意味。 在塞德里克的挑战(连接以上)检查红宝石(提示表现: 超过100次更慢)。
BTW : 我已经使用此出版订阅通讯系统传达颠覆更新。 我们很快将使用这infrastucture交付服务器状态和更多。
归档在 数据库之下, 企业软件, 标题新闻, Java软件, 开放源码软件, 编程, 红宝石 |
|
RSS 2.0 |
Trackback 这篇文章 |
给这篇文章发电子邮件
您可以也喜欢读 |





































2008年8月21日在10:16上午
您也许是称Java代码“简明的”第一个人。 抱歉,我不同意。 Java是显然我看了的最喧闹的语言。
2008年8月21日在11:05上午
我认为这篇文章是被总结的最好, “巨大的保险费对什么您已经知道”。
我为什么没有被打扰红宝石的当前实施不是快速的那? 红宝石大多时间有做不是它的速度问题它的袖子的两三个把戏。 它是这样巫术师在让我认为并且编码在大多时间,我可以使过分甜的n被摆正的算法脱离那里和去直接美味的算法的一非常高级。 而不是名单的回锅碎肉,一个贮藏所而不是查寻它每次等等。 并且我可以做这些事在非常低成本,无需dirtying代码或花费时间。 算法的善良重要比您的语言是否被解释或被编写。 第二个把戏是红宝石使人眩目地使容易叫C程序,并且是Linux程序员,我开放来源写得很好,有大量文件证明的C程序和非常快速地漂浮在海。 有几乎要做任何的总是一个图表、算术或者其他专家轰隆事我需要做,因此我支付对他们,当有将做时的重举。 没有需要重创算法轮子。
有人可能假设强调塞德里克的挑战是想法任何语言最好解决它是整体最佳的语言,但是那是不真实的。 它是那个挑战的最佳的语言。 并且甚而然后,有不同的方式测量最好。 是它最可读的代码或者迅速写。 或者最快执行? 或者在一套携带式装置使用最少力量执行的那? 如果挑战是,反而,介入操作使用正则表达式的串, Java和C在他们的面孔将完全失败; 红宝石、Perl和几种其他语言将反弹入主角。 它是确定优胜者的基准。 它不是,无论如何,一场客观比赛。
即要转动在它的边的这评论,大概是一种语言那里用某一客观方式,改善的什么我做着比红宝石。 但是,因为我那么很好知道红宝石,它有在那种其他语言的巨大的保险费。 保险费不是虚构的,它是真正的。 即使那种其他语言也许是客观更好的,我必须考虑事实我知道红宝石,并且我有做的工作。 那打翻标度极大地,我的。
2008年8月21日在11:28上午
Umm这是我的第一次参观对您的博客,它似乎辨认了我作为杰里米Weiskotten。 我不是他。
似乎象一个坏臭虫。
2008年8月21日在12:08 pm
我相信那些名字和电子邮件被认为被替换,当您张贴….时
2008年8月21日在3:40 pm
这您的一锻炼:
设法以字母顺序印系统特性在Java。
进口java.util。Iterator;进口java.util。地图;进口java.util.TreeMap;公开类扼要{
主要公开静止的空隙(串[] args) {
地图sortedProps =新的TreeMap (System.getProperties ());
为(Iterator itr = sortedProps.keySet () .iterator (); itr.hasNext ();) {
串起物产= (串) itr.next ();
System.out.println (物产+” =” + sortedProps.get (物产));
}
}
}
现在尝试在JRuby的同一件事:
ENV_JAVA.sort.each { |e| 投入e.inspect}2008年8月21日在4:39 pm
我将采取射击在这个火焰诱饵,忽略大家喜欢红宝石是剧本小家伙的可笑涵义。
做更多与较少代码不是一件坏事。 某些“语法糖”红宝石比我在多数其他语言我们我穿过很多BS并且完成某事快速地可能,并且我每天感激。 亲自,我很多牵涉到的新手能读我的代码(与知道的聪明的人民相对什么他们比我以能得到用单一方式做的材料可能做着)。
2008年8月21日在8:13 pm
我不认为做的人红宝石是剧本小家伙。 我的关心是关于与少量代码行的程序员的成见。 我喜欢我的代码是简明的,非常简明。 然而我为使它不会牺牲易读更加简明。
我在84个代码行最近写了一个出版订阅经纪(与订阅&消息坚持)在xmpp协议,充分地评论了和非常易读。 我说代码是非常简明的根据所有标准,您不会同意?
我然后增加了可靠的传讯到它,网上调试功能并且抽签更多评论,并且它全部来了到130条线总共它完成的,简明就任务而论。 我的点是我们应该努力为精练,但是不以可读性和可维护性为代价。
2008年8月21日在8:39 pm
@comctrl6 (System.getProperties () .stringPropertyNames ()))) System.out.println (支柱+” : ” + System.getProperty (支柱));
您的Java代码不运作。 您寻找如此物?
为(串支柱: (新的TreeSet
那是什么您在一条个别线路想要。 包括装置不是问题,因为那块天花板是微不足道的对无在真正的编程的项目。 然而,如果您坚持得这里它是(希望WordPress维护代码的头脑清楚) : (System.getProperties () .stringPropertyNames ()))) System.out.println (支柱+” : ” + System.getProperty (支柱));
进口java.util.*;
公开类SortedProps {
公开静止空隙扼要(串忽略[]) {
为(串支柱: (新的TreeSet
}
}
2008年8月21日在8:44 pm
> “Umm这是我的第一次参观对您的博客,它似乎辨认了我作为杰里米Weiskotten。 我不是他”。
我将调查它。 您说它没有给予您选择提供您的名字、电子邮件,博客URL等?
BTW : 您是谁?
2008年8月21日在8:47 pm
> 如果挑战是,反而,介入操作使用正则表达式的串, Java和C在他们的面孔将完全失败; 红宝石、Perl和几种其他语言将反弹入主角。
我恭敬地会不同意。 Java支持Perl, PHP支持的正则表达式等Java增加了在串类的正则表达式方法并且一个整个包裹(java.util.regex)正则表达式的。 现代语言都没有比字处理imho的任何领先。
2008年8月21日在8:49 pm
> 您也许是称Java代码“简明的”第一个人。 抱歉,我不同意。
仿造。 所有好程序员在Java能写简明的代码并且在多数其他语言。 它是事关而不是语言的程序员。
2008年8月21日在8:50 pm
> 我相信那些名字和电子邮件被认为被替换,当您张贴….时
是,他们应该。 正确地发生了什么事? 您能否请提供有些细节?
2008年8月21日在9:01 pm
> 第二个把戏是红宝石使人眩目地使容易叫C程序
Java也有Runtime.getRuntime () .exec (…) 电话您知道哪些不是非常我检查的复杂的为时。
>和甚而然后,有不同的方式测量最好。 是它最可读的代码或者迅速写。 或者最快执行? 或者在一套携带式装置使用最少力量执行的那?
Java大概再是好根据可读性,只要我的与读书红宝石代码的经验是,但是我不是关于红宝石的一位专家。 到目前为止Java在携带式装置相当很好执行并且是存在亿万机动性,因此没有模子那里也是。 我同意最好可以为任何数量的标准被定义的您的前提。 然而俏皮话不应该是定义的最好标准根据任何神志正常的标准,而可读性或可维护性或者速度可能很好是,您是否不同意?
>我认为这篇文章是被总结的最好, “巨大的保险费对什么您已经知道”。
一部分,是。 知识给您增加了力量。 然而一个功能上不同的范例可能在强制经验曲线以后增加力量许多次。 一个更好的范例通常那么从长远看战胜。 我不认为红宝石根本地是一个更好的范例。 然而JRuby实际上是一个更加有趣的提议给我。 它提供两个世界力量和美好。
2008年8月21日在9:57 pm
我不使用红宝石或Java,特别,虽然我做了一个测试或二在他们。 我主要使用了Python。
但是在这次讨论未出来的一件事是它不一定是关于句法-句法是一个情况的非绝对和优选的句法从未是每个情况的优选的句法。 (参见regex的、XML等等)键入系统,反射性,并且编程的样式是更加有趣和概念上更加深刻的点。
Java的缺点,由于亲切讨论,是它被设计了沿着线和C/C++一样-与一通常低级物力论。 它有要求注释,链接安全只静态键入。 那系统完全是原始与实施比较象那样ML家庭或者,一个最近和熟悉句法例子的, haXe。 Java不做metaprogramming,并且,当它可能支持功能编程时,它不是镶入。 因此它在对象取向停留非常集中-,并且Java是没有基于原型的OO,而是基于类的OO。
红宝石(或Python就此而言)不是完善的在所有那些点,而是另外的概念好支持。 因此在额外材料成为一种好解答的那些情况,他们通过有成为更好的语言一个更大的工具箱。
Java的力量现在来自它的成熟。 它长久以来被赶走自己低性能作为任何东西,但是出血边缘比赛、一个嵌入系统或者一种纯净的数字咬嚼应用的一个论据。 它有极大的图书馆,并且框架山所有典型的产业的需要。 文献盛产,多重量级的IDEs是可利用的,并且某人大概已经看了您跑入的所有特定问题。 这商谈很多帮助对要“完成材料”和不需要创造新的算法或建筑师一个异乎寻常的系统的人。
2008年8月21日在10:11 pm
我注意不想要只学会红宝石知道一种语言的多数人。
并且那多数rubyists实际上知道并且使用多种语言。
出于求知欲, Java是否是仅您的语言?
2008年8月22日在4:03上午
@rgc
>出于求知欲, Java是否是仅您的语言?
好问题。 那些日子我在Java、PHP & Java语言通常编程。 以前我曾经做编程中坚分子的C,以前我涉足装配语言的80×86的那(masm编译器,万一您感兴趣)。 我完成了在ASP, J#的一些工作。 我甚而涉足红宝石,在它变得普遍之前,并且是在日本外面。
我编程了用帕斯卡,实际上被爱语言非常(和适合一张唯一磁盘编译器!)。 我也编程了用FORTRAN 77,甚而DBase 4,基本和Visual Basic,咬舌,序幕, Perl,并且您大概未听到的少量其他。
希望回答您的问题。
2008年8月22日在4:07上午
@James
我同意您的分析。 当Rubyers似乎那些日子,忘记少量语法糖不做一种成熟语言。 Java在几年编程和巨型的政治共同体的拥护之前支持。
2008年8月22日在5:43上午
那只某种程度上是真实的。 有些语言使显着更加容易创造抽象; Java不是那些语言之一。
在大约1/2-3/4的同一种应用代码和代码更加准确地反射领域。
(评论形式在FF3不很好看也不运作。)
2008年8月22日在6:08上午
> 有些语言使显着更加容易创造抽象; Java不是那些语言之一。
您能否给出一些具体实例?
>在大约1/2-3/4的同一种应用代码和代码更加准确地反射领域。
它真正地取决于您的领域。 除非您为简单的脏家伙应用使用它,您不可以获得受益于框架imho。
2008年8月22日在7:14上午
我不喜欢红宝石,它似乎作为家常话的一个坏版本。
它是慢的甚而与Yarv。
我更喜欢Python。
2008年8月22日在8:12上午
红宝石得到通过路轨被钩的许多孩子,网发展框架。
50%所谓的红宝石程序员是网络开发商。 他们只认识2语言、红宝石和可能Visual Basic。 他们喜欢建立快速小的Web应用程序和设计与Photoshop的好的用户界面。
20%是前PHP开发商。
20%是前Java开发商。
其他10%,是Python怀恨在心者。
2008年8月22日在8:13上午
红宝石得到通过路轨被钩的许多孩子,网发展框架。
50%所谓的红宝石程序员是网络开发商。 他们只认识2语言、红宝石和可能Visual Basic。 他们喜欢建立快速小的Web应用程序和设计与Photoshop的好的用户界面。
20%是前PHP开发商。
20%是前Java开发商。
其他10%,是Python怀恨在心者。
2008年8月22日在11:24上午
> 50%所谓的红宝石程序员是网络开发商。 他们只认识2语言、红宝石和可能Visual Basic。 他们喜欢建立快速小的Web应用程序和设计与Photoshop的好的用户界面。
> 20%是前PHP开发商。
> 20%是前Java开发商。
>其他10%,是Python怀恨在心者。
那也许解释他们为什么是很狂热的关于语言
2008年8月22日在1:07 pm
真正地被争论的没什么这里。 您的Java的“精练的”要求是可笑的。 在记忆被处理的语言的简洁比实施是更多设计(但是设计的作用有很多做与它在象C和C++的语言,太)。 关于我同意与的唯一的事是您的主张程序员更比语言事关。 这是真实的。
由于创造蔓延令人惊讶的垃圾混乱,并且的Java节目创造是清晰和简洁模型的红宝石节目是完全可能的它是完全可能的。 您真正地说在这儿的所有是, “男孩,我喜欢Java!”
您的一个客栈次级经纪的例子不是相关的。 那是一个精确地scoped问题领域或设计样式-类事Java很好正确地。 那是真正地伟大的关于您的线计数,但是喜欢,修造充分地特色的照片分享应用与主持,分享,重量尺寸和播种,与社会分享的服务一起的有偿的订阅,查寻和标记,图象,我们然后比较,尽一切力量,线计数。 即然是脏家伙应用比较。 我完成了我的在RoR,因此让我知道您什么时候准备好。
终于,您说: “我不认为红宝石根本地是一个更好的范例”。
好,很好,呀。 因为它不是,从Java,一个功能上不同的范例,它不是一个根本地更好的范例。 它是一个非常相似的范例的不同的实施。 他们是两面向对象,基于类的langauges,用不同的目的。 比较他们是小的象蕃茄与草莓比较。 他们是两个莓果,但是他们适用于膳食的不同的路线。
因此,为您的蕃茄或草莓比较,我说, “荣誉!” 清楚地,您是一个蕃茄人。 但是他们是设法发现两个的一个地方,当避免“剧本小家伙的”时头衔的我们。
2008年8月24日在12:22上午
@Foe
>,由于创造蔓延令人惊讶的垃圾混乱的Java节目是完全可能的和它是完全可能创造是清晰和简洁模型的红宝石节目。
是并且反之亦然。 您能创造杂乱节目在红宝石和就此而言在所有语言。 因此不实际上反驳您的主张? 精练比去应该依靠程序员/开发商由单独您的声明的语言的。 我是否是缺掉的某事这里?
>是的一个精确地scoped问题领域或设计样式-正确地类事Java很好。
为什么是那?
>我完成了我的在RoR,因此让我知道您什么时候准备好。
我不会正确地进入分享的照片,因为我认为它是拥挤和有些饱和的空间(和我喜欢Flickr)。 然而我也建立网2.0应用。 在我做之后,我们比较笔记
>,但是他们是设法发现两个的一个地方,当避免“剧本小家伙的”时头衔的我们。
您是犯错误的第二个。 我不说红宝石开发商是剧本小家伙。 动画片说它和我未画动画片。 它从StuffThatHappens的s。 我认为人们将注意小归属在底部。 然而我认为解决在一线的那问题证明您的语言优势(在也许是)的任何语言是剧本小家伙思路。
在最后什么问题是发展、extendability和可维护性舒适。 怎么我们看在所有三的红宝石比分重点在extendability和可维护性在线下的少量岁月。 不管怎样它太早期的以至于不能通过定案。
您认为怎样?
BTW : 为什么是您我的仇敌? 我知道我不是你的
2008年8月25日在4:33上午
>> 有些语言使显着更加容易创造抽象; Java不是那些语言之一。
>您能给出一些具体实例?
真正地? 然后您没有做非常*much*咬舌。 红宝石是好在表达领域,虽然它比家常话丑恶。
嘿,某些人民真正地喜欢键入和不介意他们的应用空间由句法没什么错误围拢与那。 它不是*my*首选的范例。 您喜欢,那是duckie。
>>在大约1/2-3/4的同一种应用代码和代码更加准确地反射领域。
>它真正地取决于您的领域。 除非您为简单的脏家伙应用使用它,您不可以获得受益于框架imho。
谁谈论框架? 我谈论语言。 没有Java比某事将是简明或问题空间更好的反射象家常话的领域,咬舌,红宝石, Python,时髦, Scala等等。 那就是不是什么上Java是好在。
我每一天跑到Java的局限,并且它是恼人的。 它使非常难导致很好被提取的框架。
2008年8月26日在4:44上午
> 嘿,某些人民真正地喜欢键入和不介意他们的应用空间由句法没什么错误围拢与那。 它不是*my*首选的范例。 您喜欢,那是duckie。
它不是键入少量额外括号的问题,它是为长期可维护性和可再用性事关的可读性。 一个隐秘Python或红宝石或者Perl代码,尽管它的被察觉的精练在那个问题不帮助。 如果少量额外括号是所有打扰您,则在所有可能的敞篷您未开发许多企业产品。
不是“智力手淫”,因为我的朋友希望说,它不是谁的问题写最小的代码行(声音非常少年对我,如谁有最小的d*),编程imho的质量朴素取决于编程,可读性和因而长期可维护性&可再用性。
>没有Java比某事将是简明或问题空间更好的反射象家常话的领域,咬舌,红宝石, Python,时髦, Scala等等。 那就是不是什么上Java是好在。
我认为您弄错。 企业软件由Java比您提及由于自由企业类图书馆和框架是可利用的某些很好服务神秘的语言。 然而您的范畴也许掩藏了意思,您几乎没人那些日子使用的建议红宝石被注定命运咬舌,家常话或者Scala ?
>我每一天跑到Java的局限,并且它是恼人的。 它使非常难导致很好被提取的框架。
更告诉我。 我非常会愿意听说您是与Java的饰面的一些真实问题。 我度过在Java的几年和从未感觉绊倒由它的局限。 实际上我发现它非常甚而至今使能。