`
raojl
  • 浏览: 203272 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

从java转向C\c++开发要学会些什么

阅读更多
1、继续保持java平台的可移植作风: 尽量使用标准库(顺便学学STL)、开源的东西、条件编译
2、学会忍受引用和指针的混合使用
3、继续保持面向对象的管理方式
4、学会内存管理,不要想象java的内存自管理
5、不要C++\C的网络应用库很丰富,就算有java那么丰富,你的头也会大。所以学会一门脚本语言,
   来实现一些对时效没有要求,但对功能有较高要求的网络应用。
6、该要算法的时候一定要思考,没必要的别自讨苦吃。
7、还有一点,多看别人的代码,思考与java的异同。
8、最重要的,不要告诉你在学校没学过C,没有C的基础,吃的苦头可不小。
9、想到再补充,大家一起补充。。。。
分享到:
评论
50 楼 450029462 2013-09-20  
java学好了 c++其实也不难,就是 宏多点 内存控制多点 思想是差不多的
49 楼 gembler 2009-12-28  
ray_linn 写道
wandou 写道
如果java学好了,其实c++也没什么要学的。



这是我过最扯淡的话了....

如果下次要搞什么je最囧的语录,wandou这句一定要入选,不入选,创造条件也要入选
48 楼 raojl 2009-12-28  
呵呵,c++是本身复杂,java是扩展复杂!
47 楼 ray_linn 2009-12-28  
wandou 写道
如果java学好了,其实c++也没什么要学的。



这是我听过最扯淡的话了....
46 楼 wandou 2009-12-28  
如果java学好了,其实c++也没什么要学的。
45 楼 murusu 2009-11-23  
mathgl 写道
ankyhe 写道
我觉得本质的区别在于,真正需要用C/C++的项目都是比较关注性能的,否则真的建议使用Java。既然项目关注性能,那么我们在做架构,设计和编码的时候,贯穿始终的东西都是这个:性能。那么有的时候可能我们的设计会有妥协,然后具体设计和编码的时候,对算法的要求比较高。

    其次,我觉得C/C++太关注细节,和底层操作系统结合比较紧。一般来说,一个Team里面要有几个大牛,专门做这块东西的封装。指针的使用仍然是C/C++系统里面一个常见的问题根源。按照C++的建议,对指针的使用应尽量使用智能指针(这个不一定是auto_ptr或者shared_ptr,有可能是自己封装的)。不过,实际中,很少有项目会这样做。指针的问题还是比较浪费时间的。

    再则,就是线程安全。这个最重要的是第三方库的安全和系统调用是否安全,这个在Unix/Linux上非常非常重要。

    还有就是C++多年来的一些问题。没有一个权威的日志库,没有一个权威的单元测试库,没有一个跨平台的GUI库。
我觉得新项目选择使用C++要谨慎,实在觉得有性能需要,也可能只是系统的20%。其他80%可以考虑使用Java。



GUI我还真没见过 完全跨平台的的 什么库。

不改改能直接用的估计也只是个demo罢了....

C++并非写应用的首选,特别是所谓的 操作db, crud之类。光是string编码就够喝一壶的了。


Qt和wxWidget不就是两个不错的跨平台gui库吗?
不过还是没有java方便就是了
44 楼 raojl 2009-11-06  
firecloudhawk 写道
面向对象有什么好,在C语言用面向对象?给个理由
那我在java里用函数编程好不好?


好不好虽然没有好的定义标准,但是怎么让我们写的东西别人也能很快看懂,自己也好维护! 结构 + 资料对象 的设计我觉得很不错,C虽然是函数过程性质的语言,但是并不是就不能实现某些面向对象的东西!没有好与不好,有的是自己喜欢,别人不厌的检验!让自己让他人都有个愉悦的工作环境。
43 楼 firecloudhawk 2009-11-06  
面向对象有什么好,在C语言用面向对象?给个理由

那我在java里用函数编程好不好?
42 楼 william_ai 2009-10-29  
c里用struct,java里用class
c里用指针,java里用引用
c里用自己malloc还得自己free,java里有gc
c里自己写底层更多些,java里好多都已经封装好了
c里面字符集转换,socket编程,xml处理,webservice,corba,甚至服务器中间件等编程也都有现成框架。
41 楼 samwalt 2009-10-13  
raojl 写道
samwalt 写道
raojl 写道
samwalt 写道
raojl 写道
1、继续保持java平台的可移植作风: 尽量使用标准库(顺便学学STL)、开源的东西、条件编译
2、学会忍受引用和指针的混合使用
3、继续保持面向对象的管理方式
4、学会内存管理,不要想象java的内存自管理
5、不要C++\C的网络应用库很丰富,就算有java那么丰富,你的头也会大。所以学会一门脚本语言,
   来实现一些对时效没有要求,但对功能有较高要求的网络应用。
6、该要算法的时候一定要思考,没必要的别自讨苦吃。
7、还有一点,多看别人的代码,思考与java的异同。
8、最重要的,不要告诉你在学校没学过C,没有C的基础,吃的苦头可不小。
9、想到再补充,大家一起补充。。。。

为什么要转到c/c++?


被“河蟹”了

啥意思?

就是没得选择!

公司要求吧?
40 楼 raojl 2009-10-13  
samwalt 写道
raojl 写道
samwalt 写道
raojl 写道
1、继续保持java平台的可移植作风: 尽量使用标准库(顺便学学STL)、开源的东西、条件编译
2、学会忍受引用和指针的混合使用
3、继续保持面向对象的管理方式
4、学会内存管理,不要想象java的内存自管理
5、不要C++\C的网络应用库很丰富,就算有java那么丰富,你的头也会大。所以学会一门脚本语言,
   来实现一些对时效没有要求,但对功能有较高要求的网络应用。
6、该要算法的时候一定要思考,没必要的别自讨苦吃。
7、还有一点,多看别人的代码,思考与java的异同。
8、最重要的,不要告诉你在学校没学过C,没有C的基础,吃的苦头可不小。
9、想到再补充,大家一起补充。。。。

为什么要转到c/c++?


被“河蟹”了

啥意思?

就是没得选择!
39 楼 samwalt 2009-10-13  
raojl 写道
samwalt 写道
raojl 写道
1、继续保持java平台的可移植作风: 尽量使用标准库(顺便学学STL)、开源的东西、条件编译
2、学会忍受引用和指针的混合使用
3、继续保持面向对象的管理方式
4、学会内存管理,不要想象java的内存自管理
5、不要C++\C的网络应用库很丰富,就算有java那么丰富,你的头也会大。所以学会一门脚本语言,
   来实现一些对时效没有要求,但对功能有较高要求的网络应用。
6、该要算法的时候一定要思考,没必要的别自讨苦吃。
7、还有一点,多看别人的代码,思考与java的异同。
8、最重要的,不要告诉你在学校没学过C,没有C的基础,吃的苦头可不小。
9、想到再补充,大家一起补充。。。。

为什么要转到c/c++?


被“河蟹”了

啥意思?
38 楼 raojl 2009-10-11  
samwalt 写道
raojl 写道
1、继续保持java平台的可移植作风: 尽量使用标准库(顺便学学STL)、开源的东西、条件编译
2、学会忍受引用和指针的混合使用
3、继续保持面向对象的管理方式
4、学会内存管理,不要想象java的内存自管理
5、不要C++\C的网络应用库很丰富,就算有java那么丰富,你的头也会大。所以学会一门脚本语言,
   来实现一些对时效没有要求,但对功能有较高要求的网络应用。
6、该要算法的时候一定要思考,没必要的别自讨苦吃。
7、还有一点,多看别人的代码,思考与java的异同。
8、最重要的,不要告诉你在学校没学过C,没有C的基础,吃的苦头可不小。
9、想到再补充,大家一起补充。。。。

为什么要转到c/c++?


被“河蟹”了
37 楼 hepeng421 2009-10-08  
楼主估计需要较多的时间把基础补上来,估计1年时间还是要的。
36 楼 samwalt 2009-10-07  
raojl 写道
1、继续保持java平台的可移植作风: 尽量使用标准库(顺便学学STL)、开源的东西、条件编译
2、学会忍受引用和指针的混合使用
3、继续保持面向对象的管理方式
4、学会内存管理,不要想象java的内存自管理
5、不要C++\C的网络应用库很丰富,就算有java那么丰富,你的头也会大。所以学会一门脚本语言,
   来实现一些对时效没有要求,但对功能有较高要求的网络应用。
6、该要算法的时候一定要思考,没必要的别自讨苦吃。
7、还有一点,多看别人的代码,思考与java的异同。
8、最重要的,不要告诉你在学校没学过C,没有C的基础,吃的苦头可不小。
9、想到再补充,大家一起补充。。。。

为什么要转到c/c++?
35 楼 lichuan 2009-10-05  
用什么语言,什么库来开发,考虑什么?

- 人才市场资质
- 功能/性能需求
- 开发/维护/移植 成本
- 兼容性

...
34 楼 flashj 2009-10-02  
visualcatsharp 写道
从java转向c,c++,最需要的不是熟悉c++的指针,引用,甚至模板,友元之类的东东。
作为一个c/c++程序员,面向的是各种操作系统,并非浏览器,因此最需要补充的是操作系统的知识,包括内核对象,多线程等各种跟操作系统密切相关的东东。

深有同感,有时候我觉得那些平台相关api比语言本身复杂多了.
33 楼 EQualizer 2009-10-01  
计算机(字数?)
32 楼 magic8421 2009-10-01  
主要就是学指针吧  最好把汇编语言也了解一下
不然写出来的代码一运行就崩溃  segfault =..=
31 楼 clonepig 2009-10-01  
useless!!!!!!!

相关推荐

Global site tag (gtag.js) - Google Analytics