首先钦佩编辑的睿智, 以及对用户心理的把握, 人气很旺嘛!
尺有所短寸有所长, 头脑清醒的人都应该懂得的道理.
其实本没有什么好争的. 程序语言, 库, 平台, 都无非是个用来实现特定目标的工具, 都有其适用的场景和不适用的场景.
如果一个工具, 没有一些独特的优点, 那么创造这个工具还有什么意义?
因firelong炮轰而起, 就说C#吧, 对比C++来说, 甚至对比Java来说, 确实丰富了程序员的工具箱, 拓展了新的能力, 这是事实.
有得必有失, 要获得一些好处就必定要做出交换. 值还是不值? 要看具体应用.
拿垃圾回收来说, 就是拿运行时间换开发时间. 用还是不用? 这要看你的应用, 看你的环境, 是要具体项目具体评估的.
目前PC的情况往往是硬件要比人力便宜的, 而且硬件还计入固定资产. 目前这种环境使得垃圾回收有他的一席之地.
元数据和反射也是一样, 他使得C#(.net语言的典型)不是另一个C++, 消除了dll hell, 拓展了运行时分析,生成,和修改代码的能力, 提供了跨平台的2进制兼容性. 同样也会付出一定的内存开销. 是否采用要看你的项目是否需要这些好处, 以及是否能够接受这些开销.
换句话说, 最合适的就是最好的, 好坏在不同环境有不同标准.
对工具也要招贤纳士, 知人善任.
花时间精力来批驳一个工具是多垃圾, 只会白白浪费了自己的生命. 不如把时间花在了解与学习上, 怀着1+1 > 3的心态, 来想想如何结合使用你手头的知识来创造出新的价值和能力.
有把好用的西瓜刀很好, 再多买把瑞士军刀, 指甲刀, 剃须刀...也不错. 注意不要用错了就好, 指甲刀不能切西瓜, 西瓜刀也不适合刮脸.
人类还在不断进步, 新语言还会继续涌现, 偏见和误解也不会休止, 希望读过这篇帖子的您再看到无意义的争论时, 能开怀一笑~
补充:之前的标题是我太不礼貌了, 现已修正. 我只是想阐述下我对语言之争的观点, 并无恶意.