Programming languages 你用过的最糟糕的编程语言是什么?
如果你有一个有趣的故事要讲 分享,请发布答案,但是 不要滥用这个问题进行抨击 一种语言Programming languages 你用过的最糟糕的编程语言是什么?,programming-languages,Programming Languages,如果你有一个有趣的故事要讲 分享,请发布答案,但是 不要滥用这个问题进行抨击 一种语言 我们是程序员,我们的主要工具是我们使用的编程语言 虽然有很多关于最好的一个的讨论,我想听听你的故事 您使用过的最糟糕的编程语言,我想知道到底是什么让您恼火 我想收集这些故事,一部分是为了避免在设计语言(特别是DSL)时常见的陷阱,另一部分是为了避免将来出现古怪的语言 这个问题不是主观的。如果一种语言只支持单字符标识符(请参阅),这是不可争辩的错误 编辑 一些人担心这个问题会吸引巨魔。 仔细阅读你所有的答
我们是程序员,我们的主要工具是我们使用的编程语言 虽然有很多关于最好的一个的讨论,我想听听你的故事 您使用过的最糟糕的编程语言,我想知道到底是什么让您恼火 我想收集这些故事,一部分是为了避免在设计语言(特别是DSL)时常见的陷阱,另一部分是为了避免将来出现古怪的语言
这个问题不是主观的。如果一种语言只支持单字符标识符(请参阅),这是不可争辩的错误
编辑 一些人担心这个问题会吸引巨魔。 仔细阅读你所有的答案,有一件事是清楚的。 绝大多数答案都是恰当的、有用的、写得很好的 更新2009-07-01 19:15 GMT 语言概述现已完成,涵盖102个答案中的103种不同语言。 我决定对什么算是一种编程语言以及包括什么都不严格 任何合理的。谢谢你对此的评论 以下是迄今为止涵盖的所有编程语言 (字母顺序,与答案链接,新条目以粗体显示): ,, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
涵盖80386汇编程序、VB6和VBScript的答案已删除 Visual Foxpro以下是对我自己问题的贡献: 源LabTalk 在这方面,我一直最喜欢的是。 在LabTalk中,字符串变量标识符的最大长度为一个字符。 也就是说,总共只有26个字符串变量。更糟糕的是,其中一些是由Origin本身使用的,但不清楚是哪一种 从手册中: LabTalk使用%符号来定义 字符串变量。合法的字符串 变量名必须是%字符 后跟一个字母 字符(从a到Z的字母)。 字符串变量名为 不区分大小写。在所有的26个字符串中 存在的变量,原点本身 使用14 Doors DXL 对我来说,我认为第二糟糕的是。 编程语言可分为两组: 具有手动内存管理(例如删除、释放)和具有垃圾收集器的。 有些语言同时提供这两种语言,但DXL可能是世界上唯一一种这样做的语言 两者都不支持。好的,老实说,这只适用于字符串,但嘿,字符串不完全是 需求工程软件中最很少使用的数据类型 其结果是,字符串使用的内存永远无法回收和使用 门DXL像筛子一样泄漏 DXL中还有无数其他的怪癖,仅举几个例子:
结果,您在一行中压缩了太多语句(用冒号分隔),或者在其他地方执行了goto或gosub,以完成无法填充的工作。MS Access Visual Basic for Applications(VBA)也非常糟糕。访问完全是不好的,因为它迫使你放弃了一个薄弱的范例,而且开始起来似乎很简单,但完成起来却是一场噩梦。关于Cobol还没有答案吗?:OPHP(无特定顺序)
- 函数名和参数顺序不一致
- 因为有无数函数,每个函数似乎使用不同的命名约定和参数顺序。“让我们看看……是foo_bar还是foobar或foobar……是还是?”PHP字符串函数就是一个很好的例子。其中一半使用,另一半使用
- 非标准日期格式字符
- 以
为例j
- 在中(顺便说一句,这是其他人用作日期字符串格式指南的内容)
返回一年中以前导零开头的日期%j
- 在PHP函数中,
返回不带前导零的月份日期李>j
- 在中(顺便说一句,这是其他人用作日期字符串格式指南的内容)
- 以
- 仍然不支持Apache 2.0 MPM
- 为什么不支持这一点?“当您没有完全独立的执行线程、完全独立的内存段和一个强大的沙箱来处理每个请求,从而使底层框架变得更加复杂时,PHP系统中就引入了泥脚。”。。。它不受支持,因为它让事情变得更难因为只有简单的事情才值得去做,对吗?(公平地说,正如所指出的,这通常归因于糟糕的第三方LIB不是线程安全的,而PHP的核心是线程安全的。)
- 不支持本机Unicode
- 我很高兴我们过去没有生活在一个需要用其他语言与人交流的全球环境中,噢。哦,等等。(平心而论,在当今这个时代,所有东西都不使用Unicode这一事实让我非常恼火。我的观点是,我不应该为了实现Unicode而做任何额外的工作。这不仅仅是PHP的问题。)
Set foo = Nothing
On Error Resume Next
' Do something
If Err.Number <> 0
' Handle error
Err.Clear
End If
' And so on
Call Foo (a, b)
str = "Hello, " & _
"world!"
for i from 1 to 4
Select... time time
bandwidth'i'$ = Get bandwidth... i
forhertz'i'$ = Get formant... i
endfor
HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE
BEERv1.1,
100^b,T("")^#,DO{b'<1 NN(b,"bottle"_IF{b=1 " ";"s "}_"of beer on the wall")^#,
N(b,"bottle"_IF{b=1 " ";"s "}_"of beer!")^#,
N("You take one down, pass it around,")^#,b-1^b,
N(b,"bottle"_IF{b=1 " ";"s "}_"of beer on the wall!")^#},
END;
INCREMENT DAY COUNT BY 7 (or DAY COUNT = DAY COUNT + 7)
DECREMENT TOTAL LOSS BY GROUND_LOSS
ADD 100.3 TO TOTAL LOSS(LINK_POINTER)
SET AIRCRAFT STATE TO ON_THE_GROUND
PERCENT BUSY = (TOTAL BUSY CALLS * 100)/TOTAL CALLS
LINKS_IN_USE INTEGER
INPUT_MESSAGE
1 ORIGIN INTEGER
1 DESTINATION INTEGER
1 MESSAGE
2 MESSAGE_HEADER CHAR 10
2 MESSAGE_BODY CHAR 24
2 MESSAGE_TRAILER CHAR 10
1 ARRIVAL_TIME INTEGER
1 DURATION INTEGER
1 TYPE CHAR 5
OUTPUT_MESSAGE CHARACTER 50
PROCESS_MUSIC
EXECUTE INITIALIZE_THE_SCENE
EXECUTE PROCESS_PANEL_WIDGET
INITIALIZE_THE_SCENE
SET TEST_BUTTON PANEL_BUTTON_STATUS TO ON
MOVE ' ' TO TEST_INPUT PANEL_INPUT_TEXT
DISPLAY PANEL PANEL_MUSIC
PROCESS_PANEL_WIDGET
ACCEPT PANEL PANEL_MUSIC
*** CHECK FOR BUTTON CLICK
IF RTG_PANEL_WIDGET_NAME IS EQUAL TO 'TEST_BUTTON'
MOVE 'I LIKE THE BEATLES!' TO TEST_INPUT PANEL_INPUT_TEXT.
DISPLAY PANEL PANEL_MUSIC
EXECUTE NEXT_CALL
EXECUTE NEXT_CALL 5 TIMES
EXECUTE NEXT_CALL TOTAL CALL TIMES
EXECUTE NEXT_CALL UNTIL NO LINES ARE AVAILABLE
EXECUTE NEXT_CALL UNTIL CALLS_ANSWERED ARE EQUAL TO CALLS_WAITING
EXECUTE READ_MESSAGE UNTIL LEAD_CHARACTER IS A DELIMITER