我精通Java,C / C ++,JavaScript / jQuery,并且擅长Objective-C。我对这些语言及其相应的框架也相当有生产力,并且在保持代码“干净”和可维护的同时,确实很轻松地生产了企业级系统(以及小规模的系统)(是的,我可以在六点之后阅读自己的代码months :)

除非平台(iPhone,iPad等)或客户/实施组织要求,否则“为什么”我应该学习一种新的编程语言?纯娱乐”?如果我不做任何值得的事情,那么该乐趣又会如何呢?

许多同龄人准备投入学习“下一个新事物/语言”,通常Python,Ruby或PHP(仅列举一些流行的名称)。现在,仅了解语言本身就是徒劳的恕我直言。您还需要了解框架,了解其用法/ API以及“良好的实施规范”等。

因此从“经济”的角度来看,学习一种新的编程语言是否有任何好处? ?如果以一种快速而肮脏的方式学习该语言,那么它也可能会被用于快速且肮脏的原型制作/实现-但我认为这不是对时间/精力的合理投资。

那么,为什么我(或者其他人)应该学习一种新的编程语言,而不是“有趣,所以让我们尝试一下”-如果从长远来看,时间的投入可能不值得?

评论

developers.stackexchange.com/questions/118338/…也许您会对我给gere的回答感兴趣。

如果您能看到具有新概念的新语言并且不希望理解它们,那么很多地方都不会雇用您(实际上,很多面试问题都是专门用来确定此类事情的)

我会问为什么我不应该学习一种新语言?

@ZacharyK,即使该工作是为Java开发人员准备的,并且候选人是Java的超级双学位。听起来您可能正在用脚射击自己。

那里有很多超级Java专家。我对您在6个月后将要了解的知识和现在所知道的一样感兴趣。 (当然,我似乎所有时间都花在Erlang,CoffeeScript和PHP上)

#1 楼

实用程序员的技巧8:“定期投资您的知识组合”:


每年至少学习一种新语言。不同的语言
以不同的方式解决相同的问题。通过学习几种不同的方法,您可以帮助拓宽思路,避免陷入困境。此外,由于
Internet上免费提供的大量软件


,现在学习多种语言已经非常容易了。 。这是关于在正常思维方式之外进行其他思考的方式。

有一句俗语,“当你是锤子时,一切看起来都像钉子”。也许有使用其他一些技术解决问题的更好方法。如果您不进行探索,则可能不知道它是否可用。

评论


优点。这种想法促使我在一个项目上尝试使用RavenDB,而在多年被困在SQL Server车辙中之后,我学到了很多东西。

–鲍勃·霍恩(Bob Horn)
2012-2-22在4:25

我以为只有锤子才看起来像拇指

– Zachary K
2012-2-22在7:46

我完全同意。我还要补充一点,学习另一种语言可以帮助您更好地理解以前认为自己知道的语言。它还有助于区分什么是“真正的”编程基本概念/模式/限制,以及什么仅仅是特定工具集的工件。例如,如果您知道的所有语言都是弱类型,那么您可能永远不会知道强类型存在,也就不知道为什么!因此,即使您的产品在上市时间上表现出色,也可能会损害其性能或安全性;-)。

– JJC
2012-02-22 12:24



实用程序员是我读过的最好的编程书之一。真的很好!

–SonerGönül
2012年3月2日13:14

我真的同意“这是关于以正常思维方式之外的不同方式进行思考”。当我学习Python时,我有了新的思维方式。

–松尾洋
13年3月7日,0:15

#2 楼

人们为什么要爬山。珠穆朗玛峰?还是在24小时内跑100英里?我们为什么要承担任何挑战?因为它在那里。我认为“ Ars gratia artis”没有错。出于学习的目的,学习成为了自己的奖励。但是,如果您想要更强大的理由来学习一种新语言,请参考以下内容:

解决问题的新方法
学习一种新语言,确实花时间潜入水中,这为您提供了机会重新编程为新手。这种新的观点可以教会您可以延续到旧语言的技术。考虑一下Ruby on Rails对ASP.NET MVC的影响,或者Java Hibernate如何移植到C#(以及其他影响.NET开发的其他框架)。接触不同的语言可以教会您解决问题的新方法。

完成正确工作的正确工具
您提到的所有语言都是面向对象/过程混合的(在这种情况下,纯粹是过程混合的) C)。尝试使用一种或两种功能语言。尝试使用递归在Erlang中实现阶乘,并在20000时看着下巴落地!在5秒内返回(站点中没有堆栈溢出)。然后,研究与通过RMI或SOAP获得两个JVM实例所需的时间相比,用更少的代码和更少的时间扩展应用程序以处理数字和解析协议的能力。学习旨在解决特定问题的其他语言/框架将为您提供更多工具。

结识新朋友/扩展您的网络
学习一种新语言会使您接触到一个新社区。结识新朋友对您的职业和个人都是一件好事。

新的机会
知道一种新的语言只会增加您在那家炙手可热的创业公司获得工作的机会。 “如果我了解Ruby,这项工作将是完美的。”此外,您可能会喜欢上足以决定切换路径的语言。

保持新鲜感
日复一日地处理同一件事变得乏味。使用其他语言可以让您摆脱日常工作,并让您第二天恢复精力。

因为在那里,您可以学习一种新语言。

评论


+1 Javascript可以起作用,但是看起来OP可能缺少其工具箱中的一些范例。功能语言的更多经验将使他们对现有语言的了解更深入,例如使用C ++模板

– jk。
2012-2-22在12:32

为“保持新鲜” +1,在不同的工作上确实感觉不错

–莫娜
2012年2月22日15:17

我想指出的是,尾调用优化与某种语言是否(纯)功能无关,例如,编译为在.NET 64位运行时下运行的命令性语言可免费获得尾调用优化。 。

–盲目的
2012-2-22在20:51

大声笑,是的,这不是使Erlang成为纯函数式语言的原因,但是这完全改变了观点。在命令式语言中,我们鼓励在大多数情况下都避免递归,而功能语言的递归是一种生活方式。与if / else或switch / case相比,模式匹配也很酷。

–迈克尔·布朗(Michael Brown)
2012年2月22日21:00

尝试使用递归在Erlang中实现阶乘,并在20000时看着下巴落地!在5秒内返回(站点中没有堆栈溢出)。这是我见过的学习功能语言的最有力的论据之一。从来没有想过它会如此高效。

– Alec Mev
2012年11月23日在11:47

#3 楼

我们用言语思考。我们使用的语言会影响我们的操作方式。关于Pirahã语言,有一个有趣的例子-人们说这种语言不能像数字那样“简单”或“直观”地处理,因为被带入的语言没有“特定数量”的单词(甚至没有“一个” ”和“很多”)。

与编程语言相同。一种新的编程语言可以使您对编程的某些方面“开放”。

鉴于您当前的编程背景,我建议您学习一些功能语言,例如Erlang或Scala。最后,Clojure也是一种非常扎实的语言。

评论


+1。 “不影响您对编程的思考方式的语言是不值得了解的。” -艾伦·佩利斯(Alan Perlis)

–ruakh
2012年2月21日19:08

我拒绝“我们用语言思考”的前提,因为它否认了没有语言的任何人(或任何事物)都可以思考的可能性。但是单词对于标记概念非常有用(因此有助于区分它们)。我们主要是通过单词(需要更多的投入)来进行更高级的思考,因为它是有效的。这是一个比较模棱两可的陈述,但我认为更接近事实。有趣的是,我不能不使用单词而拒绝使用单词…

–研究员
2012年2月21日23:06

@DonalFellows:我认为我们有一些无法用文字表达的“心理过程”。但是我不称其为“思想”,而是“感觉”,“反应”,“见解”等。我认为适当的思想必须可以用某种语言表达。所以对我来说,没有语言的东西可以生活,过程,做出反应,感觉……却无法思考。但这是基于直觉的信念,而不是任何真实的证据。而且也有点题外话,真的:)

– egarcia
2012年2月21日23:33

绝对同意,仅仅因为语言是一种很酷的编程语言而学习语言是没有意义的。您应该坚持截然不同的方法,并尽量不要覆盖太多。擅长某事会花费相当长的时间(大约10年以上),演奏乐器,烹饪或编程都没关系。

–史密斯先生
2012年2月22日上午10:01

@evilcandybag:碰巧,我实际上可以演示一个来源:sciencemag.org/content/306/5695/496、sciencemag.org/content/suppl/2004/10/15/1094492.DC1/…(PDF)。

–ruakh
2012-2-22在16:12



#4 楼

您不仅要学习新的语言,而且要学习与已经知道的语言不同的语言。如果您知道Java学习C#不会真正挑战您,那么它们相当相似。理想情况下,您应该选择一种与所知道的语言完全不同的语言。如果您了解Java,JavaScript和Objective-C,那么您想要一些与众不同的东西

,例如:

Ruby一种有趣的弱类型OO语言

Prolog逻辑编程语言截然不同

Erlang并发性和容错性做得很好

方案去阅读SICP并获得启发

Haskell之一如果功能强大的类型系统可以编译,它可能会工作,也将使您避免产生各种奇怪的错误,甚至更多。标题说明了什么。

评论


+1!我现在正在做的一个练习是用不同的语言实现相同的算法(合并排序):这确实使我感觉到有多少种方法可以表示相同的计算。我已经在运行C,C ++,Pascal,Java,Scala和Haskell版本。 Python,Ruby,Modula2,Scheme即将推出。我发现通过学习不同的编程语言,您可以学到很多东西!通过用一种语言做一件事情,我可以获得许多关于如何以另一种语言更好地实现它的想法。

–乔治
2012年2月21日在22:39

除了您描述Haskell的方式外,我喜欢这种方式。您仍然可以编写错误的编译代码。 (类型正确性不是整体正确性的唯一要求。)学习Haskell的原因是,从概念上讲,它与数学非常接近,并且具有懒惰的评估模型。这应该撼动大多数程序员关于编程的全部概念。

–研究员
2012年2月21日在22:55

我认为应该尝试Prolog。当我第一次学习它时,我感到惊讶。您怎么做只能写几个字符的事情。

–用户
2012年2月22日,下午1:47

根据我的经验,@ DonalFellows如果您在Haskell中正确设置了类型,则程序的其余部分倾向于自行编写。

–tobyodavies
2012年2月22日,下午1:53

“ Ruby是一种有趣的弱类型OO语言”:Ruby是真的弱类型还是动态类型?

–乔治
13年2月26日在13:11

#5 楼

您的问题是如此重要,以至于让我提出以下问题:

如果您是专业的程序员,那么为什么您不想在世界上学到一些新知识来增加您的专业知识经验吗?

您的问题对我来说很像我曾经有过的一个学生的态度。根据我当时所在大学的职业服务总监的要求,我在Y2K培训的前一两年(作为选修课)进行了教学。他有太多公司为Cobol程序员提供工作机会,以至于他认为我们不会给学生提供学习技能和增加技能的机会,这对学生是一种伤害。

我有一个学生把这门课作为他最后的选修课毕业。当时他还担任C程序员。他参加了Cobol课程,因为他别无选择,而且他想要学位。所以他上课时肩膀上有芯片。


我已经知道C了,而且我正在专业地使用它,所以我不知道为什么世界上任何人都会想要甚至需要学习Cobol。


所以我向他挑战,编写一个程序来从文件中读取数据,该文件对于每种输入记录都有特定的格式(例如,如何每个字段排成一行,每个字段排在第一,第二,第三等等。)

他用C语言编写了自己的程序,然后他展示了程序我。同时,我向他展示了该程序的Cobol版本。

然后我给他扔了一个曲线球:


假定最终用户越来越来自其他地方的数据。每个记录中的字段相同,但是每个字段的顺序和字符数不同。告诉我您要在程序中进行哪些更改才能使其与新的数据格式一起使用。


他花了一天的时间来制作与新数据格式兼容的程序的新版本。它涉及到至少更改20或30行代码,并修改几个函数和模块。

然后,我向他展示了对Cobol程序进行所需的更改。我修改了picture子句以反映新的数据格式。

我不确定他是否完全理解该练习的教训,但他至少在整个学期的剩余时间内都不再抱怨。 :
您应该学习新的语言,因为您想学习。而且,如果您不想学习-给您更多的力量...(我不确定我是否会以这种态度聘用您)

评论


尽管您的意图很好,但是如果我是那个学生,我只会认为您的应用程序容易更改的唯一原因是因为您知道最终的需求更改。如果程序是用相同的知识用C编写的,那么在那里也需要进行最小的更改。

–hspain
2012年2月21日在22:47

我有一个态度相似的同事:“ C和PHP为我赚钱。为什么我要浪费时间学习另一种语言?”他不再在那里工作了。

– Greyfade
2012-2-22在0:44

所有要求迟早都会改变!这就是重点。

– Zachary K
2012-2-22在7:48

@hspain-实际上,由于整个练习的目的在于,Cobol将I / O规范视为程序的第一部分,而不是根据您编写和订购代码的方式以放任自流的方式进行处理C语言中的I / O语句。为了回应Zachary K的评论,事实是需求有所变化。 -是的,您可以使用C来构造程序,这样在I / O需求发生变化时它就不会那么脆弱,但这涉及到的程序与编写C程序时所用的方式完全不同。

–泽克·汉塞尔(Zeke Hansell)
2012-2-28 20:47



我实际上不了解cobol。有一天我可能得去看看

– Zachary K
13年2月25日在11:10

#6 楼

学习一种新语言值得在时间上进行投资的原因有几个:


增加工具箱的大小-学习一种新语言可以提供解决技术问题的其他途径。与以前已知的工具/语言相比,使用新工具的可能性可以为解决某些问题提供更好的语言/平台选择。一个简单的例子可能是只懂C的程序员。学习脚本语言为他/她打开了其他可能性-在部署,环境设置等方面。
获得对新平台的访问权限-最好的例子可能是目标C-如果要开发iOS版本,几乎必须学习这种语言。
学习新的范例-某些语言可能可以更好地使用较新的范例。以C为例,可能很难用标准ANSI C开发Web服务。但是,学习用.NET,Java,PHP或其他新语言进行开发可能会加快Web服务的开发。


#7 楼

一言以蔽之:适销性。

当您显示出自己有能力适应和学习新事物时,便打开了就业前景。当然,您可以继续使用自己已经精通的一种语言来编写应用程序,但是当您发现自己喜欢的语言与您所从事的行业无关时会发生什么。我确实记得有一段时间为了用C或C ++从头开始编写我们自己的Web服务,如今,我们使用的工具可以为我们做所有底层的“ Webbiness”(Think Rails等)。

重点是,您最终会像那些从事电视连续剧的演员一样,然后就不能轻易地搬到其他任何东西上,因为他们永远被视为他们的原始角色。 “地球上谁希望柯克上尉成为印第安纳·琼斯?!”。对于只使用过一种产品的程序员也是如此。当然,您会像其他人一样了解它,但是当您被视为无法继续使用C#的Fortran时,这对您无济于事。

如果您希望能够轻松地转移工作并保持选择的余地,则需要扩大经验。用多种不同的语言从事许多不同的项目,最好在至少两个或更多平台上工作,并保持自己的可销售性,而不仅仅是今天的样子。

当然,还有很多其他学习新语言的原因,有时甚至仅仅是为了学习它。它使您有其他可能的想法,因此,当老板走近您并说“我们可以做些事情”时,可以选择可用的工具来回答“是”。

#8 楼

在您职业生涯的这一点上,如果您认为新语言可以使您成为一名更好的程序员,则应该学习新语言。

您列出的大多数语言(Java / C / C ++ / Javascript / Objective-C)都是传统的OO /命令式。学习另一种面向对象/命令式语言可能不会教给您更多有关这种编程的知识。除非您有特别的兴趣,否则就没必要学习有关规格的月度风味。但是,可能不妨检查一下偶尔使用的著名的高生产率语言,看看您是否喜欢它。

学习一种新语言的最佳理由是学习具有普遍适用性的技能。为此,我建议一方面深入研究功能语言(Haskell或Lisps之一),另一方面深入汇编代码和系统体系结构(x86或ARM)。

Functional编程将打动您的大脑并改善您的思维,而学习机器体系结构将提高您的调试和优化能力,即使您从不编写另一行汇编代码也是如此。

#9 楼

我们每个人都决定要从事的工作,以便...


您学习它是因为您想要
您学习它是因为您需要它来完成工作您想要的是

如果您不想学习PHP,那么没有人可以让您学习,并且有很多领域甚至可以在不知道如何拼写PHP的情况下进行编程。

很多人关注就业市场,以了解热点地区,然后跳上这些技术。许多人学习一种语言并坚持使用,20年后,他们成为了传统的维护工程师。然后,您会有很多人处于这两个极端之间。

最后,这完全取决于您想要成为的人。

评论


在您的描述中,听起来有点太黑白了。 “技术漏斗”和传统维护工程师是恕我直言的两个极端,我们大多数人介于两者之间。另外,一些“技术跳跃者”对最新的闪亮内容太疯狂了,以至于不能正确地学习任何技术(这比他们愿意投资于任何一项技术要花费更多的时间),因此他们可能永远也不会提供可靠的长期解决方案问题。

–彼得·托克(PéterTörök)
2012-2-21在17:46

@PéterTörök:编辑了我的答案。我指的是天平,但是懒得拼写全。没错,这是一个连续的光谱。

– DXM
2012年2月21日在18:28

#10 楼

我所知道的最好的论据是,它扩大了您对可以解决问题或表达某些逻辑的不同方式的看法。熟悉Java和C ++可以很好地了解本机和VM领域,但是还需要探索更多的“自由度”。

我在C ++方面拥有大约15年的经验,5在Java中。我学到了很多语言,并且留下了很多语言(PHP,Pascal,用于一堆不同处理器的汇编语言等等),并且可以肯定地说,即使我不再使用的那些语言也对我如何思考问题留下了重要的印记。 。另外:即使您想坚持使用Java,对于一个给定的项目,您也必须知道替代方案,以提出对其支持者的良好反驳。

我仍然学会了Python年,并为能完成某些事情而感到高兴。如此之多,我决定将我编写的少数REST servlet从Java转换为Python。代码可维护性的优点非常明显。当然,它也给我的工作方式留下了印记,这不仅是因为我现在将为某些任务选择Python,而且还因为在用C ++和Java进行编码时,我可能会采用类似的设计原则。

那就是说,我不认为仅仅为了这个目的,您不应该一直学习很多不同的语言。这需要花费大量时间,并且您要想使它们与您已经知道的其他人共存的“住宿”也需要时间和精力。我只决定在一种语言具有足够的成熟度,拥有良好的开发人员基础并且与我所知道或计划学习的其他语言产生明显不同的结果时才学习该语言。例如,当我决定学习Python时,我还考虑了Ruby和Perl,后来又放弃了它们-至少在不久的将来。

#11 楼

人们学习新语言以...



扩展他们的知识。如果您了解的更多,您就会感觉更好,并且更有信心。信心=出色的代码!


拥有更大的工具箱。假设您必须制作一个应用。如果您只懂Java,那么您将使用Java编写程序。但是,如果您了解Java,Python,Scheme和Lisp,您很可能会选择最适合该工作的工具。

找一份工作。面对它。如果您知道更多的语言,那么您就有更多的工作机会。这是不言自明的。

成为一个更好的全方位程序员。如果您知道Perl的语法,就会知道它会变得有些疯狂。在Perl中编写长程序时,基本上会被迫遵循最佳实践,否则您将不是一个快乐的露营者。既然您了解Perl的最佳实践,这可能会帮助您(以一种或另一种方式)编写更好的PHP代码。

因此您可以看到学习新语言的原因很多。我对您的建议(以及我认为唯一的原始报价):


经常编写代码;写好代码;用Scheme,PHP,Java,Python,Lisp,Perl,C,C ++,C#,Visual Basic,Ruby ...编写代码。


评论


@Nupul:或者至少我认为报价是这样的...

–动态
2012年2月21日在20:45

#12 楼

我同意已经发布的大多数答案。除此之外,请查看2011年Stack Overflow用户调查得出的统计信息。已知语言的数量与所赚钱之间的相关性非常高。它们可能不会直接相互绑定,但这是需要考虑的事情。

倾向于学习更多语言的人们倾向于赚更多的钱。

http://blog.stackoverflow.com/2012/02/survey-results/

#13 楼

阿尔弗雷德·诺斯·怀特黑德(Alfred North Whitehead)写了一篇伟大的文章,叫做《好记号的重要性》。


有趣的是,一个谦虚的象征可能对科学的发展至关重要。 。它可能代表着一个想法的强调表达,通常是一个非常微妙的想法,通过它的存在,很容易展示出这个想法与所有复杂的想法之间的关系。


编程语言是一种表示形式。我可以用C语言编写OO;实际上,这就是Stroustrup从C ++开始的方式-作为一系列C预编译器宏。但是,用Java,C ++或C#编写OO代码要容易得多,而且快捷得多,因为它们具有语言原语,可以更轻松地支持OO。

到目前为止,学习新语言的所有理由都是正确的,但我认为学习新语言的最佳理由是,新符号可以使您以新的方式思考,从而可以帮助您解决新问题。

#14 楼

上面的大多数或全部答案都与该行业有关。编程。
我想提醒一下,在我们成为程序员之前-我们是人类。

在您的情况下,不学习新的编程语言的一个很好的理由是让自己休息或在编程之外做其他事情。

根据我的经验,在农业和木材领域工作,使我对编程有了很多了解-然后学习一种新语言。
ie要成为一个好的程序员,您首先应该是一个好的人。如果您没有太多的生活经验,除了编程之外,即使您是专家,您对编程的想法也可能完全错误。

编程中的许多概念直接来自日常生活:简单,可维护,实用,有用,快速-有时缓慢,模块化等;都是木匠使用的所有概念。

信不信由你:我个人通过花很多时间去采摘橘子,对编程概念了解很多。我从中学到的主要概念是-简单。
从作为建筑工人的工作中,我学到了另一个概念:如果您想让墙壁直立,则尽可能地建造底座。

最后,您的问题的答案可能是:休假,参加跆拳道课或照顾花园-这样,您的问题就不会再困扰您了。

评论


虽然我可以同意您的观点,但我想补充一点,在完成所有其他有关编程的好主意之后,我希望学习一种实现这些主意的编程语言。因此,IMO这两个方面(从编程和学习新的编程语言中分离出来)不会(不应)彼此排斥。

–乔治
13年2月25日在10:11

的确,在编程和学习新的编程语言方面有所休息并不会(不应)彼此排斥。但是,在我们所处的世界如此快速的世界中,重要的是要记住,休息-比运动更有效。这可能是喝咖啡休息时间-甚至是1年休息时间。

–什安
13年2月25日在13:23



#15 楼

学习一种新的编程语言的价值大致是您已经知道的编程语言的数量的倒数。

这是因为存在有限数量的范例,学习新的语言通常会引入您至少要有一两个人,这使您更有经验,有能力成为一名程序员。有些人可能使您的编程世界颠倒了。但是,当您学习一种新的语言,该语言具有您已经知道的范例时,您就已经知道它们并且已经习惯了它们。

#16 楼

正如他们中大多数人已经写的那样,我对C有很好的工作知识。最近,我正在研究一个需要交叉检查结果的问题。这是数学的。因此,最快的答案答案是什么,使我可以检查要学习的更快的编程语言。

我发现bc是一种任意精度的计算器语言,几乎可以在该工具上使用。每个Unix平台。

我没有想到Python,Perl或其他任何东西,但是我发现这很快解决了我的问题。我在一个朋友建议的阶乘(20000)上进行了检查,结果很快就崩溃了。

重要的一点是,您需要了解一个

可以肯定的是,如果我在履历表中写这个,我猜没人会在意,但是从我的角度来看,它可以解决我的问题,然后再以我喜欢的语言攻击它,'C'。

并且如果需要学习一种新语言,您将有机会遇到不同的问题和无数的解决方案。

#17 楼

任何人都可以创建一种新的语言;但是似乎没有人知道“更好”与“更好,以至于采用成本实际上是合理的”很少一样。最终结果是数百种不同的语言,在这里,任何人都不可能理解所有源代码,并且由于语言/框架/库的差异,程序员需要浪费大约四分之一的时间。 >在理想的世界中,将存在一种低级编程语言(例如C),一种高级“安全”编程语言(例如Java)和一种脚本语言。还有一大把大铁锤,用于摧毁那些不了解标准化的优点以及人们对信息技术的“流失”和不断再培训的成本而创建的“巴别岛程序语言塔”的人。

从“宏观经济”的意义上讲,学习一种新的编程语言作为一种爱好并没有什么错,但是将这种新的编程语言用于任何事物,都会使您成为问题的一部分。

评论


听起来像是一个不切实际的理想。谁来决定这些标准语言,您如何确定一种新的语言值得改变?只因没人愿意尝试任何新事物而陷入stuck脚语言的风险又如何呢?试想一下,如果我们十年前已经做到这一点-每个人都可以使用C ++和Java(或VB)!

–布伦丹·朗(Brendan Long)
2012年2月21日在18:48

您的“理想世界”概念听起来像是“十九四十四”。在您的Newspeak中,甚至无法想到诸如“函数式编程”,“类型推断”,“一流的多态性”和“多方法”之类的革命性想法,因为无法表达它们。诚然,奥威尔似乎没有想到您的大锤想法,但如果他有,我相信它一定会成功。

–ruakh
2012年2月21日19:05



除了以上几点以外,您的“答案”几乎与实际问题无关。下注。

–user16764
2012年2月21日在21:01



在理想的世界中,努帕尔的问题只有一个答案。不了解标准化优点的人在第一个答案之后得到所有这些其他答案只会引起混乱。自己不同意答案并没有错,但是发布其他答案将使您成为问题的一部分。

– benzado
2012年2月21日在21:02

限制使用这些语言不会阻止您提到的任何问题。由于更改框架而不是更改语言,我不得不重写应用程序多次。

–Fabio Ceconello
2012年2月21日在22:23