你曾经使用过的最糟糕的编程语言是什么?

9 浏览
0 Comments

你曾经使用过的最糟糕的编程语言是什么?

如果您有一个有趣的故事要分享,请发表答案,但请不要滥用这个问题来诋毁某种编程语言。

我们是程序员,我们的主要工具就是我们使用的编程语言。虽然关于最好的编程语言有很多讨论,但我想听听你们使用过的最糟糕的编程语言的故事,并想知道你们被什么事情惹恼了。我想收集这些故事部分是为了在设计语言(特别是领域特定语言)时避免常见陷阱,部分是为了将来避免使用奇怪的语言。

这个问题是客观的。如果一种语言只支持单个字符的标识符,这是不可讨论的不好。

编辑:

有人提出这个问题吸引了一些喷子。阅读了所有的回答后,有一件事情变得很清楚。绝大多数答案都是合适的、有用的、写得很好的。

更新 2009-07-01 19:15 GMT:

语言概览现在已经完成,涵盖了来自102个回答的103种不同的语言。我决定对什么算作编程语言放宽一些,并包括一切合理的东西。谢谢 David 对此的评论。

以下是到目前为止所有涵盖的编程语言(按字母顺序排列,链接到答案,新条目以粗体显示):

ABAP、20世纪所有的语言、所有的拖放语言、所有的专有语言、APF、APL、AS400、Authorware、Autohotkey、BancaStar、BASIC、Bourne Shell、Brainfuck、C++、Centura Team Developer、Cobol、Cold Fusion、Coldfusion、CRM114、Crystal Syntax、CSS、Dataflex 2.3、DB/c DX、dbase II、DCL、Delphi IDE、Doors DXL、DOS batch、Excel Macro language、FileMaker、FOCUS、Forth、FORTRAN、FORTRAN 77、HTML、Illustra web blade、Informix 4th Generation Language、Informix Universal Server web blade、INTERCAL、Java、JavaScript、JCL、karol、LabTalk、Labview、Lingo、LISP、Logo、LOLCODE、LotusScript、m4、Magic II、Makefiles、MapBasic、MaxScript、Meditech Magic、MEL、mIRC Script、MS Access、MUMPS、Oberon、object extensions to C、Objective-C、OPS5、Oz、Perl、PHP、PL/SQL、PowerDynamo、PROGRESS 4GL、prova、PS-FOCUS、Python、Regular Expressions、RPG、RPG II、Scheme、ScriptMaker、sendmail.conf、Smalltalk、SNOBOL、SpeedScript、Sybase PowerBuilder、Symbian C++、System RPL、TCL、TECO、The Visual Software Environment、Tiny praat、TransCAD、troff、uBasic、VB6、VBScript、VDF4、Vimscript、Visual Basic、Visual C++、Visual Foxpro、VSE、Webspeed、XSLT。已删除了关于80386汇编语言、VB6和VBScript的答案。

0
0 Comments

我曾经遇到过的最糟糕的编程语言是PHP。出现这个问题的原因是PHP存在以下问题,但也有一些解决方法。

首先,PHP的函数名称和参数顺序不一致。由于有许多函数,每个函数似乎都使用不同的命名约定和参数顺序。例如,"是foo_bar还是foobar还是fooBar...是needle,haystack还是haystack,needle?" PHP的字符串函数就是一个很好的例子。其中一半使用str_foo,另一半使用strfoo。

其次,PHP的日期格式字符非标准化。例如,以j为例,在UNIX中,%j返回带有前导零的一年中的天数。而在PHP的date函数中,j返回没有前导零的月份中的天数。

此外,PHP仍不支持Apache 2.0 MPM。这是不推荐的,并且不支持的原因是它使事情变得更加复杂。PHP的系统中引入了不稳定的因素。虽然这通常归因于不支持线程安全的第三方库,但PHP的核心是线程安全的。

最后,PHP没有本地的Unicode支持。虽然PHP6计划支持本地Unicode,但这意味着在过去的18年中,我们一直不能在全球环境中使用其他语言与人交流。这在现代社会中非常令人不满。我不应该为实现Unicode而付出额外的工作。这不仅仅是PHP的问题。

我对这种语言还有其他不满。这只是其中一些。Jeff Atwood在他的一篇旧文章中谈到了为什么PHP糟糕,他也说这并不重要。我不同意这种说法,但这就是现实。

0
0 Comments

XSLT是最糟糕的编程语言之一,以下是出现这个问题的原因以及解决方法。

首先,XSLT的难以理解。它的隐喻与我所知道的任何其他语言完全不同。它由一个委员会设计,使用了大量的尖括号,使其看起来像是一个怪异的弗兰肯斯坦。

其次,XSLT需要使用奇怪的咒语来指定输出格式。还有内置的看不见的规则,以及像脚本这样的附加功能。还依赖于XPath。

再者,在早期,XSLT的工具支持非常有限,调试XSLT就像在完全黑暗中导航一样。尽管现在的工具改变了这一点,但XSLT仍然排在榜首。

XSLT足够强大,可以完成一些非常复杂的任务,但这完全不需要你知道它是如何工作的。此外,由于频繁的递归,它还需要相当大的处理器资源。

XSLT是一种函数式编程语言,我并不认为它很痛苦。但是,大多数人都选择忽略它。如果你必须使用它,你需要一个XSLT萨满来给你施展魔法咒语。

一些人对此提出了异议。他们开始使用oXygen 10,改变了一切。

有人认为XSLT的优点在于,它的隐喻与其他语言完全不同,这是一个优势。另外,XSLT是由一个深入使用尖括号的委员会设计的,这可能是一种心理问题。还有人认为XSLT的附加功能像脚本一样奇怪,但实际上在XSLT中并不存在这样的功能。另外,XSLT依赖于XPath,这是它最强大的功能之一。在早期,XSLT的工具支持非常有限,调试XSLT就像在完全黑暗中导航一样。但现在的工具已经改变了这一点,例如Oxygen、VS 2005+和10年前的XSelerator等。还有一些人提到了他们自己开发的XPathVisualizer。

XSLT是一种令人困惑的编程语言,大多数人选择忽略它。如果必须使用XSLT,就需要一个XSLT萨满来给你施展魔法咒语。虽然XSLT足够强大,可以完成一些复杂的任务,但它的工作原理对于使用者来说是不透明的,并且由于频繁的递归,它需要相当大的处理器资源。但是,现在已经有了一些工具来改善XSLT的开发和调试过程,例如Oxygen、VS 2005+和XSelerator。

0
0 Comments

我曾经用过的最糟糕的编程语言是DOS批处理文件。虽然不确定它是否真的算作编程语言。

问题并不是你不能解决你的问题,而是如果你习惯了bash……

这只是我的个人观点。

变量+if+goto=图灵完备

我来自一个Windows背景,但在使用Ubuntu一个月后……天哪。我一直试图使用“ls”,但它不起作用 🙁 无论如何,我认为bash也有点构思不周,即使它更强大。“esac”,“fi”?说真的吗?这到底是怎么回事?

Mark:伯恩壳的设计者可能认为ALGOL是一种不错的语言 🙂

是的,如果我必须选择一种最大化installedBaseSize * terribleness的语言,那就是DOS批处理文件。当然你要使用FOR命令来获取文件的完整路径!

+1 我完全同意。我花了7个小时试图从一个批处理脚本中删除一些功能,以便启动便携式msysgit。唯一比批处理脚本更糟糕的是将批处理脚本与bash脚本混合在一起。我知道伯恩脚本从哪里得到了“bash”这个名字,因为完成后我感觉像是要把头撞在墙上。为什么我们不能一劳永逸地杀死脚本语言呢,我们现在有Python了。

0