坑最少的语言是哪个?

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 中的变量不需要声明(或者说,赋值的同时也声明了)避开了这个坑。

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

9630 次点击
所在节点    编程
94 条回复
alsotang
2015-01-19 13:39:44 +08:00
eclipse 是世界上最好的 ide
yingluck
2015-01-19 13:55:59 +08:00
@dingsoung 汇编飘过
jyootai
2015-01-19 14:08:28 +08:00
HTML 是最富表达力、坑最少的语言
infinte
2015-01-19 14:12:28 +08:00
坑最少?Standard ML,全部有形式化定义,绝对没坑。
icedx
2015-01-19 14:13:46 +08:00
第而个不是坑吧, 类型不同
tioover
2015-01-19 14:16:04 +08:00
欢迎来到 Rust。
有坑欢迎提交修改。
dddd1919
2015-01-19 14:22:20 +08:00
多坑程序猿
otakustay
2015-01-19 14:39:03 +08:00
C#因为有扩展方法,乱玩也容易有些坑,我看JAVA的坑才少
otakustay
2015-01-19 14:40:06 +08:00
@jyootai HTML真不行,一个标签闭合就能玩死
messense
2015-01-19 14:45:08 +08:00
楼主说的 Python 那个能算坑么,是不懂 Python 对函数参数初始化的处理造成的吧.....语言特性不能说成是坑吧,被“坑”到说明对这个语言理解不够啊
aciscoa
2015-01-19 15:02:08 +08:00
java~
binjoo
2015-01-19 15:07:15 +08:00
易语言
vilic
2015-01-19 15:09:45 +08:00
楼主说的 JavaScript 的特性也不是坑, 而是非常有用的特性. 并且也不是 @linuxer 说得 undocumented feature, 因为这些特性都是非常严谨地写入了 ECMAScript 标准中的.

JavaScript 中的 toString() 和 valueOf() 是两个非常有意思的方法, 之前大家经常提到的 [] + [], {} + {}, [] + {}, {} + [] 也是非常好的切入点, 但如果止步于笑笑, 亏的就是自己咯.
bugeye
2015-01-19 15:11:43 +08:00
C语言那是feature啊,声名就给初值要浪费CPU的啊。
loading
2015-01-19 15:15:27 +08:00
汇编,几乎没有你不知道的东西,实在不行,机器码
imwower
2015-01-19 15:28:57 +08:00
C#是语法最优美的语言;
语法、语法糖、lambda等,
现在.net 4.5 和5.0就算很完美了,以后再演化,也只是小内容更新
hooluupog
2015-01-19 15:36:23 +08:00
Lisp。
thinkif
2015-01-19 15:41:43 +08:00
从这个角度说,Swift 比 C# 坑更少
jyootai
2015-01-19 16:06:41 +08:00
@otakustay 照这样说,Java 少一个分号也玩死
otakustay
2015-01-19 16:15:08 +08:00
@jyootai 区别在于java少个分号连compile都过不了更别说运行,HTML则直接跑起来了各种错乱还要找好久错误在哪……所以我倾向于非强类型的语言坑都会相对多

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

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

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

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

© 2021 V2EX