坑最少的语言是哪个?

2015-01-19 12:40:37 +08:00
 shyangs

语言或多或少都有坑。

// 像 javascript 不小心把字符串和数值加在一起
alert("1"+2);  // "12"
# python 里,把字符串和数值加在一起会报 TypeError,避开了这个坑

# 但是...
def fn(x, L=[]):
  L.append(x)
  return L

print(fn(1))   # [1]
print(fn(7))   # [1, 7]
print(fn(13))  # [1, 7, 13]
// 而 javascript (ES6) 没有上面那个坑
function fn(x, L=[]){
  L.push(x);
  return L.toString();
}

console.log(fn(1))   // "1"
console.log(fn(7))   // "7"
console.log(fn(13))  // "13"

想了想 javascript, python 都是脚本,那考虑 C语言,又发现 C语言变量声明时未赋初值 就拿来使用会跑出随机的垃圾值,反而 python 中的变量不需要声明(或者说,赋值的同时也声明了)避开了这个坑。

既然语言或多或少都有坑,那就有多寡的差别。各位同学接触过(或听过)的语言坑最少的是哪个?

9900 次点击
所在节点    编程
94 条回复
skl
2015-01-19 12:48:13 +08:00
Lua, C#
yakczh
2015-01-19 12:49:03 +08:00
php
nicodelee
2015-01-19 12:49:27 +08:00
语言的坑我不太了解。
自己不坑自己才是
tabris17
2015-01-19 12:49:47 +08:00
JAVA、C#
clino
2015-01-19 12:50:14 +08:00
估计lua会比较少

第一个不是坑吧,强类型和弱类型
zkd8907
2015-01-19 12:52:29 +08:00
西吓破
besto
2015-01-19 12:55:06 +08:00
想了想 javascript, python 都是脚本,那考虑 C语言,又发现 C语言变量声明时未赋初值 就拿来使用会跑出随机的垃圾值,反而 python 中的变量不需要声明(或者说,赋值的同时也声明了)避开了这个坑。
=================================================================
没赋初始值的变量,在编译的时候没有告警?
raincious
2015-01-19 12:56:03 +08:00
Go会要求显式类型转换,可以“避开”这样的“问题”吧?

就楼主的问题……

汇编语言坑最少。(是的,就几个命令,有坑也是人造成的……)

楼主下一个帖子预测:《坑最少的CPU是哪个?》
tini9
2015-01-19 12:56:28 +08:00
python的坑算少的了,一般来说,特色功能越少坑越少。
hahastudio
2015-01-19 12:57:26 +08:00
哪个语言表现力弱,坑就少呗
你看谁说过汇编坑= =
spacewander
2015-01-19 12:58:01 +08:00
功能最少的语言也即坑最少的语言,比如Brainfuck
arnofeng
2015-01-19 12:58:02 +08:00
php是世界上最好的语言
DingSoung
2015-01-19 12:58:57 +08:00
额,我就是汇编的,是不是快绝种了
club
2015-01-19 13:23:32 +08:00
@arnofeng 呵呵
supergrubby
2015-01-19 13:27:38 +08:00
强类型、静态类型检查 :Java/C#
hjc4869
2015-01-19 13:28:30 +08:00
照楼主的意思,C#的坑貌似少。。
supergrubby
2015-01-19 13:29:45 +08:00
强类型保证没有untrapped behavior和部分的trapped behavior
静态类型检查保证编译时没有ill behavior
linuxer
2015-01-19 13:32:11 +08:00
It's not a 坑; it's an undocumented feature!
xxstop
2015-01-19 13:33:48 +08:00
php+2
FrankFang128
2015-01-19 13:35:15 +08:00
你自己不加引号,怪语言?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/163431

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX