爱因斯坦带来的悖论

今天文科物理课上的一个问题:

一列静止长度为10米的火车,A站在车的后部,B站在车的前部。当列车以0.6C(C为光速)的速度通过一个站台的时候,站台上的人看到A先向B开枪,过了12.5纳秒,B也向A开枪。问在火车上的乘客看到谁先开枪。

物理问题就不在这里讨论了,写个程序算一下:

var t = (function() {
    var c = 3e8;      //光速
    var v = 0.6 * c;  //火车速度
    var l = 10;       //火车长度
    var t = 12.5e-9;  //地面坐标系上的时间间隔
    var y = Math.sqrt(1 - Math.pow(v/c,2)); //伽马因子的倒数
    //洛伦兹变换,返回火车坐标系中的时间间隔
    return (y * t - (v / Math.pow(c,2) * l)) * 1e9;
})();
WScript.Echo(t);

得到的结果是-10纳秒,也就是说,在火车上的乘客看来,是B先向A开枪。

爱因斯坦告诉我们,一切都是相对的,同一个事件,在不同的人看来可能是不一样的。你觉得我是错的,我觉得你是错的,其实我们都没有错,只是我们的标准不一样。

编程语言又何尝不是如此,我觉得C好,你觉得C++好,他觉得Java好,只不过是我们的标准不同,又何必去争论到底哪个最好?

引用《Perl高级编程》中的一句话结尾:

早在COBOL流行的时候,人类就已经登上了月球,可见如果不是把精力花在争论语言的孰优孰劣的话,就可以做很多事情。

随机文章:

  1. VB使用WebBrowser读取网页中iframe的内容
  2. MySQL中CHAR和VARCHAR的区别
  3. 火狐(FireFox)中的onkeydown事件
  4. VBS中&H前缀十六进制数的陷阱
  5. VB6拾遗:调用函数指针

一条评论 发表在“爱因斯坦带来的悖论”上

  1. 怒云说道:

    基本赞同。。。

留下回复