语言或多或少都有坑。
// 像 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 中的变量不需要声明(或者说,赋值的同时也声明了)避开了这个坑。
既然语言或多或少都有坑,那就有多寡的差别。各位同学接触过(或听过)的语言坑最少的是哪个?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.