1
sgissb1 2013-08-26 18:19:40 +08:00
人家都是c++转容易上手的语言,您可好倒过来。
这门语言是欲速则不达。和java有很大的差别。 |
2
tonyzzp OP @sgissb1 以前在学校java se和javaee都做过课程设计,所以基本只学会了java,。 c++完全没学。。
|
3
chchwy 2013-08-26 18:46:02 +08:00
重點不是語言,是應用。否則學了也只是學個語法。您想用C++來做什麼?
|
4
fangzhzh 2013-08-26 19:20:52 +08:00 via Android
说到c++ 语法也很重要 非常重要。
|
5
felix021 2013-08-26 19:25:45 +08:00
建议是先从C语言开始学起。
Java程序员缺少的是对底层的理解,可惜的是好多java程序员就满足于此不思进取……在此恭喜LZ跳出桎梏。 |
6
sgissb1 2013-08-26 20:27:45 +08:00
|
7
wity_lv 2013-08-27 07:35:41 +08:00
学之前先推荐一本书 《Unix编程艺术》,之后再学学C.
|
8
jianghu52 2013-08-27 08:30:46 +08:00
呵呵。难得有人愿意学c++。其实java本身已经很博大精深了。2年时间除非你接触的都是底层项目,不然真的java都还没办法吃透吧。
|
9
holmesabc 2013-08-27 09:32:54 +08:00
我也在看C++。当然主要为了NDK,以及cocos2dx。
快速学习语法倒是可以,但标准库这个还是必须要花时间的。 c++ primer 里面的习题如果一时想不通,最好还是动手练练。当然习题这东西是用来解惑,不能指望应用上手。 感觉cocos2dx已经封的比较傻瓜了,基本可以直接写了,用这个来入门练手,个人感觉可以。 ps: 看了点C++后,真感觉那个coolshell上说的,java想来填一些C++的坑还是很有道理的。 |
10
tonyzzp OP @holmesabc 是啊。我也是为了ndk和 2dx,虽然不太喜欢cocos2d,但没办法。。好像做游戏的都在用。。。
|
12
tonyzzp OP @felix021 搞java的都不思进取吗。。被java和eclipse惯坏了,确实看其他的都不顺眼。。近几个月项目用lua,骂惨了。。。
|
13
felix021 2013-08-27 11:01:59 +08:00 1
@tonyzzp 我觉得跟OOP的过度宣传关系挺大的,很多Java程序员自以为会了Java,会了OOP,还有什么不能解决的呢。
记得很早以前看过一个帖子讨论Java和C/C++效率的问题,原帖已经找不到了,但是其中一段基本上跟这里说的类似:http://tech.ccidnet.com/art/3741/20050507/542505_1.html 对于不理解底层的Java程序员来说,根本没有可能认识到这种说法的逻辑错误——也就是Java在效率上的根本缺陷。 p.s. 还找到这篇 http://hi.baidu.com/sppeivan/item/7f4ab2f6af481ad043c36a3d 作者把 "C++写的JVM没有Java写的JVM快" 这样某个具体项目的结果与 "Java和C++的效率比较" 这两个东西混淆起来了。这让我想起前一段时间流传的某个C++代码(插入一个没用的1亿次循环那个)。 |
15
felix021 2013-08-27 11:27:55 +08:00
|
16
timonwong 2013-08-27 11:39:58 +08:00 1
@tonyzzp Java写JVM只能玩票,虽然现在有了JIT以及使用primitive types(OO,呵呵)能达到接近(或超过,看实际代码、编译器、硬件环境等)C/C++的性能,但是,一个软件是一个系统,一套生态环境各种性能损伤是会累加起来的(以下基本对JVM, .net CLR, blahblahblah都有效):
- 数据类型的内存overhead对cache line的伤害 - GC时的挂起以及Overhead(这个就是为什么基本没有靠谱的游戏引擎用Java来做的主要原因,同理还有图像、音视频处理等等等等等,在移动终端上情况尤其严重,服务器上到没啥) |
17
sdysj 2013-08-27 12:18:51 +08:00
晕,摆脱不了问这种低级问题的最好不要再换什么语言了。
|
18
xiaoye5200 2013-08-27 12:49:17 +08:00
搞定多继承和指针就行啦。
|
19
smallghost 2013-08-27 14:43:38 +08:00
java不是很有前途吗?干嘛换C++呢?
|
20
tonyzzp OP @smallghost android游戏现在全都在用cocos2d-x啊。没办法,再不学要被淘汰了。
|
21
shawnelee88 2013-08-27 15:34:26 +08:00 1
C嘛 核心就是指针
C++嘛 主要应该是比C多了面向对象的思想,封装,继承,多态 记得貌似那本书里面看过,貌似就是说可以完全把c++当一门新的语言来学 c++ primer是本好书哈 快速入门有一本书:《accelerated c++》 |
22
xiiing 2013-08-27 15:51:36 +08:00 1
C++是最难的语言。这个世界上最难的编程语言可能非C++莫属了。你千万不要以为几天就可以学好C++,C++的学习曲线是相当BT的,你可以看看这篇文章。C++是一门很自由的语言,自由到了有点BT和恐怖的地步。我甚至认为C++并不是一门成熟的编程语言,因为太容易犯错了。所以,你一定要在一开始就要有很小心谨慎的态度,并把C++当成一种难以训服的猛兽来看待。
多问“为什么要这样”的问题。学习C++一定要多问几个“为什么是这样”,“凭什么要这样”的问题。比如:很多人知道C++有拷贝构造函数和初始化列表,但你真的知道为什么要有拷贝构造函数?为什么要有初始化列表吗?为什么要有template,为什么要有RTTI,为什么不是别的呢?难道就是为了让一门语言变得Cool一些吗?完全不是这样的,C++中的任何一个feature都有些实实在在的原因,你一定要去了解为什么要把C++设计成这样的原因,你才能学好C++。有空看看《C++演化和设计》一书。 看书,大量的C++书。你可以按如下先后顺序阅读(下面这些书,我花了大约4-5年的时间,今天我还在随时温习) 《C++ Primer》,这本初级读本可能让会你啃得很痛苦,所有的语言的特性和为什么都在里面了,好好读读。当然由C++之父写的《C++程序设计语言》也不错。两本看一本就好了(我看的是前者)。 了解C++的语法仅仅是万里长征的第一步,你还需要看看《Effective C++》和《More Effective C++》这两本书并不厚,但我从02年就一直看到现在,每次读我都有新的体会,这两本书太经典了。如果你对C语言不熟,这两本书会让你回去补C语言的课。 Think in C++同样是另一本经典之极的书,学c++必读,但是中文版的翻译的很不好,所以还是去读英文版的吧。 《C++沉思录》同样非常值得一读,这里教的不是编程,而是思考的方法,这是相当珍贵的。 《Exceptional C++》和《More Exceptional C++》让你看看各种问题的解决方法和一些常见的经典错误。 《Advanced C++》和《Modern C++》可以让你知道C++各种神奇的用法。 《泛型编程与STL》是把C++实践到了极致的东西。很强大。STL——神一样的模板库(容器,算法和函数对象),不得不服。 《深入探索C++对象模型》让你了解编译器下的C++是什么样的,让你了解C++的性能并不差。这个对于C++的程序员太关键了。我以前写过的《C++虚函数表解析》还有《C++对象内存布局》属于这个范畴。 ---------------------------- 转自酷壳http://coolshell.cn/articles/4119.html |
23
kid177 2013-08-27 19:16:35 +08:00
囧,lz怎么先学java后学c++。又是外面培训班搞的鬼吗=。=
|
24
leavic 2013-08-27 20:30:20 +08:00
C++是一门看语法都能把人看傻的语言
|
25
lfzyx 2013-08-27 23:54:24 +08:00
java那么多框架,搞项目多快啊
|
26
maxiaojun 2013-08-28 02:14:05 +08:00 1
首先我强迫症一下,Java、C++,大小写也是正确拼写的一部分。
学C++,自然不能用来历不明的书,毕竟VC6的遗毒可能还没有完全消失。《C++ Primer》说是经典,其实我倒觉得读起来比较枯燥乏味,因为基本是罗列语言特性。只不过其他书,不是在语言上太浅或不全,就是太偏,不适合初学,所以只要一本书的话依然选择《C++ Primer》。 在实践中,不是太多C++库完全按照现代标准C++的思想设计,或者说得夸张一些,一个库一个设计(谁让C++太灵活)。所以如果楼主有了具体的开发目标,不如直接通过例子学习那个开发目标的方言,然后结合资料理解原理。 最后推荐两个网站: http://www.cplusplus.com/ http://en.cppreference.com/w/ |
30
ovjaywang 2013-08-28 20:07:33 +08:00
其实吧,我觉得,把研不研究和衡量java程序猿思不思进取套在一起完全没必要。
学程序写程序的要义还是应用,有一个良好的驱动和动力才是进步的关键,职业发展和个人职业需要和潜能开发协同就好。 |
31
luoqeng 2013-08-28 21:54:46 +08:00
印像中,你想知道一門語言有哪些糟點,只要看 Effective 的書籍就行了。
|
32
LokiSharp 2013-08-28 21:59:19 +08:00
别学 C++,学 C 就足够了。
|
33
hourui 2013-08-29 00:07:06 +08:00
PHP -> C/C++ 的飘过~~~
不要对STL产生依赖, 那就是一个深不见底的大坑~~~ |
34
nil 2013-08-30 07:04:39 +08:00
直接上iOS开发好了,你会发现语言根本就不是事啊,也不应该是个事啊~
|