#13 楼 @PrideChung 道德绑架比地震更恐怖 +1
Notepad++ 也不错,至少比 Win 自带的 Notepad 好太多了,编辑小文件啥的也很方便。
#31 楼 @jinleileiking 是 吕 不是 刘;)
#56 楼 @jasl 可以说是坑,也可以说不是坑。如果认真按照对的规则来写 C++的话,C++ 依然是生产力较高的语言。
我想说的是:有些规则太趋于细节,很多新手不注意的话,就会载进去。在公司,想凑齐一队 C++ 水平不错且相当的人马,很难啊 Orz。
C++ 的入门曲线较陡,成长过程中,被碰出好几个脓包是很平常的 哈哈。但是如果跨过那个坎,后面就好很多了。只是跨坎的时间可能长点。平均来说,用 C++ 两年经验,只能算入门 ;(
我很同意游戏圈 云风 的一个观点:当项目是一个人做,用什么语言都可以,只要你能掌握好就可以。但是如果项目是多个人合作,那么找齐一批 C++水平相当的高手可不容易。
我们公司有个项目有 近百万行(70 万行以上是有的)的 C++ 代码,有的模块实现的质量很高,有的模块却惨不忍睹。这就跟人跟团队的水平有关了。无奈阿。(当然,其他语言,当项目大了,人多了,差不多也是这个状况)
4 月份,我一直在做公司的培训,又负责 Effective C++的培训。我是真心的想把 C++的各个需要注意的坑都讲给他们,但是效果一般啦,有些坑是需要自己跌过之后才记得住的,直接灌输,如果不经常练习,很快就会忘的。
我一直觉得 C++ 是一门很不错的语言,只是在一个公司内你很难找到和你一起来战斗的队友。在开源界就很好多了,C++ 高手很多的。可以互相学习和提高。
如果你爱一个人,就让他去学 C++,因为那里是天堂;如果你恨一个人,就让他学 C++,因为那里是地狱。泪奔啦。~~~
楼主 这个帖子也是在说明网络上一些所谓的 benchmark 是没什么具体意义的。 尤其是用不同的语言,却使用雷同的写法,这样就更不准确了(网上这类的 benchmark 太多了)。因为每个语言的特性都不一样,应该是按各自语言合理高效的写法,而不是用雷同的写法。
比如: Ruby 代码:
def orz(s)
.......
end
10000000.times{ orz(s) }
C++ 代码:
void orz(string s){
......
}
for(size_t i; i < 10000000; ++i){ orz(s) }
看似两个代码类似,实际上,这对 C++ 来说是并不高效的,因为 orz(string s)
是按值传递参数,这样每次调用orz
都会多生产一份儿 s 的拷贝副本,在循环次数多,字符串较长的时候,副作用会更明显。如果改为引用的形式 orz(string & s)
或 orz(const string & s)
, 这样 s 就是按引用传递,不会产生多余的副本,性能也能提高。
还有一个例子:
C++ 中的new
和 Java 中的new
是不一样的(虽然摸样一样 @_@)。以前看过一个 benchmark,他是将 java 代码基本原样翻成了 C++代码。完全违背了 C++的高效写法。所以,benchmark 的结果可想而知。
我想说的是:不同的语言,雷同的写法也会带来误导的结果
最近,在批改新员工作业时,有一个 C 语言 作业运行约 15 秒,我修改掉其中的 2 行代码,结果运行时间只花了 0.3 秒,差距巨大。如果对语言掌握的不扎实,很有可能会写出很慢很慢的程序。
to @luikore @bhuztez @wendal 我觉得这篇帖子的意义非常好:要扎实的掌握你所掌握语言,才能“扬长避短”,最大发挥语言的效能。如果再能掌握一些底层知识和 VM 的相关知识,就能更好的避开一些语言的陷阱了。也会更明白一些所谓的 benchmark 只是...... 呵呵。
扬长避短 才是这个帖子要说明的真谛:)
#49 楼 @1272729223 佛教可没说消极避世。话说回来,无论何种思想,或中或西,或唯物或唯心...... ,都是方法而已,关键还看你自己。一往无悔前行。加油!
@1272729223 看佛教的书挺不错,尤其是大乘流派,会从中学到很多,比如包容,慈悲,平等,尊重一切生命。这些都是正能量;)
这是.......? 遇到什么事情了吗?
记得以前看过一个性能评测,即使是 lua-jit 也没能干过 V8,呵呵,当然更别说 Python 和 Ruby 了。 这也是有原因的: 比如 Ruby 和 Python 都有历史包袱问题等,完全从头另起炉灶实现 VM 阻力较大。 另外大多数 VM 性能极好的语言,背后都有强大的支持(财力和人力),比如:V8 是 Google, .Net 是微软,Java 以前是 Sun,现在是 Oracle。而 社区推动的语言 如:Ruby 的核心团队就是那几个 Orz。
国内的地图数据生产商 主要有:四维,高德,瑞图... . 我们公司使用的地图 一般是向图商购买,或是与图商 有合作。
OpenStreetMap 的数据可以免费下载。楼主可以试试;)
估计就这样了。还是自己翻看 CRuby 的 source code 吧
这个帖子现在竟然还活着 Orz。直接关了吧。