p*l 发帖数: 270 | 1 本人背景:一直在学校科研,MATLAB用的很多,略懂一点R,C/C++,过去曾用VC写过一
个数值计算小程序,不过现在MFC什么都已经忘了。
最近写MATLAB程序发现还是需要更深入的编程知识和技术,写的程序也最好加个GUI和
进一步提高计算速度等需求。
考虑以后职业发展,比如离开学校找偏数据分析的工作,不知现在是否应该捡起C++,
学用VC(或是其它的?)?
请大家给我指教一下,非常感谢! |
c*********e 发帖数: 16335 | 2 2008年已经过去5年了。。。
【在 p*l 的大作中提到】 : 本人背景:一直在学校科研,MATLAB用的很多,略懂一点R,C/C++,过去曾用VC写过一 : 个数值计算小程序,不过现在MFC什么都已经忘了。 : 最近写MATLAB程序发现还是需要更深入的编程知识和技术,写的程序也最好加个GUI和 : 进一步提高计算速度等需求。 : 考虑以后职业发展,比如离开学校找偏数据分析的工作,不知现在是否应该捡起C++, : 学用VC(或是其它的?)? : 请大家给我指教一下,非常感谢!
|
w****6 发帖数: 796 | 3 (visual) C++ is dying
go for Java or .Net |
g*****y 发帖数: 7271 | 4 数值运算用Java和.Net的不多啊
【在 w****6 的大作中提到】 : (visual) C++ is dying : go for Java or .Net
|
b***i 发帖数: 3043 | 5 MFC is simple. As long as you can find what you don't know, you are ok.
Use Qt now for GUI.
【在 p*l 的大作中提到】 : 本人背景:一直在学校科研,MATLAB用的很多,略懂一点R,C/C++,过去曾用VC写过一 : 个数值计算小程序,不过现在MFC什么都已经忘了。 : 最近写MATLAB程序发现还是需要更深入的编程知识和技术,写的程序也最好加个GUI和 : 进一步提高计算速度等需求。 : 考虑以后职业发展,比如离开学校找偏数据分析的工作,不知现在是否应该捡起C++, : 学用VC(或是其它的?)? : 请大家给我指教一下,非常感谢!
|
x****u 发帖数: 44466 | 6 VC现在很少有民工的工作了。。。
从你问题态度本身来看,还是少碰吧。
【在 p*l 的大作中提到】 : 本人背景:一直在学校科研,MATLAB用的很多,略懂一点R,C/C++,过去曾用VC写过一 : 个数值计算小程序,不过现在MFC什么都已经忘了。 : 最近写MATLAB程序发现还是需要更深入的编程知识和技术,写的程序也最好加个GUI和 : 进一步提高计算速度等需求。 : 考虑以后职业发展,比如离开学校找偏数据分析的工作,不知现在是否应该捡起C++, : 学用VC(或是其它的?)? : 请大家给我指教一下,非常感谢!
|
p*l 发帖数: 270 | |
f****p 发帖数: 18483 | 8 现在界面和里面基本分开了。不过MFC还在,你安装了VC还有Windows SDK以后,所有要
用的库都在这两个里面。 |
t*****n 发帖数: 4908 | 9 如果你是cs/ee专业的,找工作啥都要会点。如果你不是,我觉得找对口编程的工作很
不容易。要看面试时候的要求。
至于vc,我觉得没什么实际用处。如果你觉得放到简历上能加点分,就写上吧。
【在 p*l 的大作中提到】 : 本人背景:一直在学校科研,MATLAB用的很多,略懂一点R,C/C++,过去曾用VC写过一 : 个数值计算小程序,不过现在MFC什么都已经忘了。 : 最近写MATLAB程序发现还是需要更深入的编程知识和技术,写的程序也最好加个GUI和 : 进一步提高计算速度等需求。 : 考虑以后职业发展,比如离开学校找偏数据分析的工作,不知现在是否应该捡起C++, : 学用VC(或是其它的?)? : 请大家给我指教一下,非常感谢!
|
x****u 发帖数: 44466 | 10 简历要专,除非找非技术工作。
【在 t*****n 的大作中提到】 : 如果你是cs/ee专业的,找工作啥都要会点。如果你不是,我觉得找对口编程的工作很 : 不容易。要看面试时候的要求。 : 至于vc,我觉得没什么实际用处。如果你觉得放到简历上能加点分,就写上吧。
|
|
|
r*********r 发帖数: 3195 | |
x****u 发帖数: 44466 | 12 这么说的人一般都不会C++。
【在 r*********r 的大作中提到】 : c++ 有用。 visual c++ 没用。
|
f*******a 发帖数: 663 | 13 其实对于科学计算的编程,Matlab是一个非常好的选择。开发速度超快,有什么想法一
两天就能看结果,对科研精度非常有帮助。但缺点也是有的,就我个人经验而言,有:
1)大工程的管理乏力。某个东西越做越大越复杂的时候,Matlab的管理就跟不上了,
一堆的小文件。有些开发的功能后来被彻底遗忘或找不到的可能性是有的。借助一些工
具,还有特定的编程风格可以改善这个问题。
2)数据结构功能匮乏。很难实现灵活一些的数据结构,这点经常影响到运行效率。但
由于内存全封闭,没有自己动手改造的可能。
3)内存管理。真要自己想做点啥却又无能为力,看着明明有内存却out of memory,写
大程序的时候这点有时候很困扰。
4)效率问题。这个我倒觉得要有先见之明,有些运算适合Matlab,比如矩阵相关,比
如Kalman Filter;有些运算不适合Matlab,比如多重循环。不好优化的核心代码其实
可以考虑Matlab/C++混合编程,其实也很简单。
C++对数据结构方面非常有帮助,当年侯老师有本书讲这个来着,浅显易懂,有内容有
深度,推荐之。VC的话,个人感觉对科学计算方面处理界面外其实帮助不大。你可以找
本VC的书翻翻目录,看看你是不是真的想学习里面的内容。
【在 p*l 的大作中提到】 : 本人背景:一直在学校科研,MATLAB用的很多,略懂一点R,C/C++,过去曾用VC写过一 : 个数值计算小程序,不过现在MFC什么都已经忘了。 : 最近写MATLAB程序发现还是需要更深入的编程知识和技术,写的程序也最好加个GUI和 : 进一步提高计算速度等需求。 : 考虑以后职业发展,比如离开学校找偏数据分析的工作,不知现在是否应该捡起C++, : 学用VC(或是其它的?)? : 请大家给我指教一下,非常感谢!
|
p*l 发帖数: 270 | 14 非常感谢,我觉得您说的太好了!对于(1)我现在深有同感,程序写到比较复杂的程
度,就越来越觉得自己的业余,对运行效率乃至代码的正确性的怀疑越来越多,的确也
还有一些开发的功能遗忘丢失的情况。
不知您说的可借助工具和好的编程风格,我在哪里可以找到学习学习?
MATLAB/C++混合编程看来对我目前是最适合的方向,多谢指点!关于图形界面,也许就
先用matlab里提供的gui凑合一下?
还有您说的侯捷的书,是《STL源码剖析》吗。还从没读过。记得很久以前偶然借阅过
一本北大裘宗燕的C++数据结构的书,当时也觉得受益很大。
【在 f*******a 的大作中提到】 : 其实对于科学计算的编程,Matlab是一个非常好的选择。开发速度超快,有什么想法一 : 两天就能看结果,对科研精度非常有帮助。但缺点也是有的,就我个人经验而言,有: : 1)大工程的管理乏力。某个东西越做越大越复杂的时候,Matlab的管理就跟不上了, : 一堆的小文件。有些开发的功能后来被彻底遗忘或找不到的可能性是有的。借助一些工 : 具,还有特定的编程风格可以改善这个问题。 : 2)数据结构功能匮乏。很难实现灵活一些的数据结构,这点经常影响到运行效率。但 : 由于内存全封闭,没有自己动手改造的可能。 : 3)内存管理。真要自己想做点啥却又无能为力,看着明明有内存却out of memory,写 : 大程序的时候这点有时候很困扰。 : 4)效率问题。这个我倒觉得要有先见之明,有些运算适合Matlab,比如矩阵相关,比
|
r*********r 发帖数: 3195 | 15 no kidding
【在 x****u 的大作中提到】 : 这么说的人一般都不会C++。
|
f*******a 发帖数: 663 | 16 一点心得,仅供参考。
1. MATLAB代码管理。SourceInsight和UltraEdit在自定义后可以解析m文件,管理起来
要顺手一些,查找什么的也方便一点。
2. 编程风格。主程序入口和一般函数的文件命名要有明显的区分,比如Main_xxx,
Demo_xxx,FUNC_xxx
3. 混合编程可以提高运行效率,但是增大了维护和调试的难度。只有在非常必须的情
况下,才考虑这种方式,而且只对瓶颈优化。做多了对运算量、瓶颈和可能的优化心里
有数的话,也就更明白该如何选择开发平台。
4. GUI。Matlab的GUI其实能做大部分的事情,愿意的话嵌入OpenGL窗口之类的也都能
做到。虽然简陋麻烦点,但对于大部分科学计算我觉得都是足够的。当然,有很多交互
的GUI不在此列,还有网络类型的应用我也不了解。
5. STL源码剖析。看了看目录,好像是这本。在国内很久以前买的书,没带过来。侯捷
的书的好处是有深度而且容易懂,这在教材里面不多见。其实如果只是想“使用”数据
结构,那其实很容易。要追求高效代码并“理解”内在机制,有时间的话建议读这本书。
【在 p*l 的大作中提到】 : 非常感谢,我觉得您说的太好了!对于(1)我现在深有同感,程序写到比较复杂的程 : 度,就越来越觉得自己的业余,对运行效率乃至代码的正确性的怀疑越来越多,的确也 : 还有一些开发的功能遗忘丢失的情况。 : 不知您说的可借助工具和好的编程风格,我在哪里可以找到学习学习? : MATLAB/C++混合编程看来对我目前是最适合的方向,多谢指点!关于图形界面,也许就 : 先用matlab里提供的gui凑合一下? : 还有您说的侯捷的书,是《STL源码剖析》吗。还从没读过。记得很久以前偶然借阅过 : 一本北大裘宗燕的C++数据结构的书,当时也觉得受益很大。
|
r*********r 发帖数: 3195 | 17 Hou Jie's book is nice, very helpful to understand STL. |
p*l 发帖数: 270 | 18 赞!非常非常感谢!
【在 f*******a 的大作中提到】 : 一点心得,仅供参考。 : 1. MATLAB代码管理。SourceInsight和UltraEdit在自定义后可以解析m文件,管理起来 : 要顺手一些,查找什么的也方便一点。 : 2. 编程风格。主程序入口和一般函数的文件命名要有明显的区分,比如Main_xxx, : Demo_xxx,FUNC_xxx : 3. 混合编程可以提高运行效率,但是增大了维护和调试的难度。只有在非常必须的情 : 况下,才考虑这种方式,而且只对瓶颈优化。做多了对运算量、瓶颈和可能的优化心里 : 有数的话,也就更明白该如何选择开发平台。 : 4. GUI。Matlab的GUI其实能做大部分的事情,愿意的话嵌入OpenGL窗口之类的也都能 : 做到。虽然简陋麻烦点,但对于大部分科学计算我觉得都是足够的。当然,有很多交互
|
x****u 发帖数: 44466 | 19 MS是C++狂热粉丝,有大量写的很好的例子。只有小屁孩才会把国外搞行为艺术的人的
话当真。
【在 r*********r 的大作中提到】 : no kidding
|
t*****n 发帖数: 4908 | 20 matlab找工作比较难吧?没怎么见过招matlab编程的人。你再学点python/java之类的。
【在 p*l 的大作中提到】 : 非常感谢,我觉得您说的太好了!对于(1)我现在深有同感,程序写到比较复杂的程 : 度,就越来越觉得自己的业余,对运行效率乃至代码的正确性的怀疑越来越多,的确也 : 还有一些开发的功能遗忘丢失的情况。 : 不知您说的可借助工具和好的编程风格,我在哪里可以找到学习学习? : MATLAB/C++混合编程看来对我目前是最适合的方向,多谢指点!关于图形界面,也许就 : 先用matlab里提供的gui凑合一下? : 还有您说的侯捷的书,是《STL源码剖析》吗。还从没读过。记得很久以前偶然借阅过 : 一本北大裘宗燕的C++数据结构的书,当时也觉得受益很大。
|
|
|
p*l 发帖数: 270 | 21 谢谢指点!
的。
【在 t*****n 的大作中提到】 : matlab找工作比较难吧?没怎么见过招matlab编程的人。你再学点python/java之类的。
|
q**********9 发帖数: 711 | 22 跟楼主编程经历很像,主要用matlab, 会点sas, C/C++, 过去曾用VC写过一些小程序.
进来看大牛们的回复的.
侯捷的书 这里可以下载:
http://ishare.iask.sina.com.cn/f/11836613.html
【在 p*l 的大作中提到】 : 本人背景:一直在学校科研,MATLAB用的很多,略懂一点R,C/C++,过去曾用VC写过一 : 个数值计算小程序,不过现在MFC什么都已经忘了。 : 最近写MATLAB程序发现还是需要更深入的编程知识和技术,写的程序也最好加个GUI和 : 进一步提高计算速度等需求。 : 考虑以后职业发展,比如离开学校找偏数据分析的工作,不知现在是否应该捡起C++, : 学用VC(或是其它的?)? : 请大家给我指教一下,非常感谢!
|
p*a 发帖数: 592 | 23 最好别碰MFC了,太老了,用WPF马马虎虎,但也是江河日下。现在流行html5和
javascript。虽然我也是C++的粉丝,但是目前似乎只有花街高频交易的人还招C++选手。
【在 f****p 的大作中提到】 : 现在界面和里面基本分开了。不过MFC还在,你安装了VC还有Windows SDK以后,所有要 : 用的库都在这两个里面。
|
x****u 发帖数: 44466 | 24 莫非Win8都是用HTML5写的?
手。
【在 p*a 的大作中提到】 : 最好别碰MFC了,太老了,用WPF马马虎虎,但也是江河日下。现在流行html5和 : javascript。虽然我也是C++的粉丝,但是目前似乎只有花街高频交易的人还招C++选手。
|
p*a 发帖数: 592 | 25 win8不是又怎样呢?微软每年才招几个人。
【在 x****u 的大作中提到】 : 莫非Win8都是用HTML5写的? : : 手。
|
x****u 发帖数: 44466 | 26 工作机会最多的是送外卖的。
【在 p*a 的大作中提到】 : win8不是又怎样呢?微软每年才招几个人。
|
b***i 发帖数: 3043 | 27 我们公司用Visual C++ 6.0。当然了,我跟别人都提议改成java。但是MFC也是挺有意
思的。
手。
【在 p*a 的大作中提到】 : 最好别碰MFC了,太老了,用WPF马马虎虎,但也是江河日下。现在流行html5和 : javascript。虽然我也是C++的粉丝,但是目前似乎只有花街高频交易的人还招C++选手。
|
p*a 发帖数: 592 | 28 那你们用什么版本的visual studio?2012是我用过最好的IDE。你们可以把界面移植到
.net,其它的用managed c++调用一下就行了。换java没那么容易,我们这有人换组写
java,抱怨很多。
【在 b***i 的大作中提到】 : 我们公司用Visual C++ 6.0。当然了,我跟别人都提议改成java。但是MFC也是挺有意 : 思的。 : : 手。
|
l*****v 发帖数: 498 | 29 个人觉得,如果是cs专业的话,看你对自己的职业规划有多长远。如果目光长远一点的
话,学好c++对一个程序员的好处太大了。但学好c++要花的时间比.net, java 或者其
他脚本语言要久。首先c++里面很多东西.net 和java都没有,内存,构造函数..这些在
.net/java里面都不用担心。c++做得好的人知道what happen underneath.
而且好的产品很多都是C/C++写得:android,chrome,codec,game...
而且最不济学好了c++,转头学.net 和java都很容易,反过难度大很多。 |
L*****c 发帖数: 62 | |
|
|
z****e 发帖数: 54598 | 31 哈哈,你觉得你自己的java学得怎样?
【在 l*****v 的大作中提到】 : 个人觉得,如果是cs专业的话,看你对自己的职业规划有多长远。如果目光长远一点的 : 话,学好c++对一个程序员的好处太大了。但学好c++要花的时间比.net, java 或者其 : 他脚本语言要久。首先c++里面很多东西.net 和java都没有,内存,构造函数..这些在 : .net/java里面都不用担心。c++做得好的人知道what happen underneath. : 而且好的产品很多都是C/C++写得:android,chrome,codec,game... : 而且最不济学好了c++,转头学.net 和java都很容易,反过难度大很多。
|
z****e 发帖数: 54598 | 32 看来又是一个写ui的
不过用java来写ui这本身也有点问题
但是也不是全然无好处
如果早些年的ui是用java写的
你现在连移植都不用,有jvm直接跑就行了
无论是awt还是swing,照用不误
【在 p*a 的大作中提到】 : 那你们用什么版本的visual studio?2012是我用过最好的IDE。你们可以把界面移植到 : .net,其它的用managed c++调用一下就行了。换java没那么容易,我们这有人换组写 : java,抱怨很多。
|
L*****c 发帖数: 62 | 33 关键HTML5大小通吃啊,Win8 Metro也支持,IOS和Android也支持,不行拿来做网页也
成,除了Desktop,前端基本都能覆盖了
除非太追求性能的,才用native的SDK,要不然HTML5的移植性最好
【在 p*a 的大作中提到】 : win8不是又怎样呢?微软每年才招几个人。
|
b***i 发帖数: 3043 | 34 我用visual studio 6.0, 2010,有人已经开始用2012了。
【在 p*a 的大作中提到】 : 那你们用什么版本的visual studio?2012是我用过最好的IDE。你们可以把界面移植到 : .net,其它的用managed c++调用一下就行了。换java没那么容易,我们这有人换组写 : java,抱怨很多。
|
t*****n 发帖数: 4908 | 35 真知灼见。一看就是干过活的。
【在 l*****v 的大作中提到】 : 个人觉得,如果是cs专业的话,看你对自己的职业规划有多长远。如果目光长远一点的 : 话,学好c++对一个程序员的好处太大了。但学好c++要花的时间比.net, java 或者其 : 他脚本语言要久。首先c++里面很多东西.net 和java都没有,内存,构造函数..这些在 : .net/java里面都不用担心。c++做得好的人知道what happen underneath. : 而且好的产品很多都是C/C++写得:android,chrome,codec,game... : 而且最不济学好了c++,转头学.net 和java都很容易,反过难度大很多。
|
p*a 发帖数: 592 | 36 我最近这一年才写了点ui,以前90%的时间是做多线程backend的。主要是和交易所劵商
用FIX protocol买卖股票什么的。
【在 z****e 的大作中提到】 : 看来又是一个写ui的 : 不过用java来写ui这本身也有点问题 : 但是也不是全然无好处 : 如果早些年的ui是用java写的 : 你现在连移植都不用,有jvm直接跑就行了 : 无论是awt还是swing,照用不误
|
N******n 发帖数: 3003 | 37
怎么这个是繁体的?
【在 q**********9 的大作中提到】 : 跟楼主编程经历很像,主要用matlab, 会点sas, C/C++, 过去曾用VC写过一些小程序. : 进来看大牛们的回复的. : 侯捷的书 这里可以下载: : http://ishare.iask.sina.com.cn/f/11836613.html
|
m*******l 发帖数: 12782 | 38 候杰 是台湾人,那本书很不好读啊
而且现在有些过时了,很多词语也不一样
【在 N******n 的大作中提到】 : : 怎么这个是繁体的?
|
z****e 发帖数: 54598 | 39 哈哈,那一段里面有一个让人笑破肚皮的错误,你居然没看出来
【在 t*****n 的大作中提到】 : 真知灼见。一看就是干过活的。
|
z****e 发帖数: 54598 | 40 就是矿工吧?
【在 p*a 的大作中提到】 : 我最近这一年才写了点ui,以前90%的时间是做多线程backend的。主要是和交易所劵商 : 用FIX protocol买卖股票什么的。
|
|
|
b***i 发帖数: 3043 | 41 构造函数?
【在 z****e 的大作中提到】 : 哈哈,那一段里面有一个让人笑破肚皮的错误,你居然没看出来
|
l*****v 发帖数: 498 | 42 要不您给说说,让大家都破肚皮一次
【在 z****e 的大作中提到】 : 哈哈,那一段里面有一个让人笑破肚皮的错误,你居然没看出来
|
t******h 发帖数: 120 | 43 首先c++里面很多东西.net 和java都没有,内存,构造函数..这些在.net/java里面都
不用担心。 |
x****u 发帖数: 44466 | 44 android居然算给C++了。
【在 z****e 的大作中提到】 : 哈哈,那一段里面有一个让人笑破肚皮的错误,你居然没看出来
|
l*****v 发帖数: 498 | 45 难不成java?
【在 x****u 的大作中提到】 : android居然算给C++了。
|
b******d 发帖数: 2495 | 46 很多人出校门也就懂matlab。我当年刚出来就懂matlab。人公司也不指望你懂太多。当
然,除非是去FLG这样的公司。
的。
【在 t*****n 的大作中提到】 : matlab找工作比较难吧?没怎么见过招matlab编程的人。你再学点python/java之类的。
|
x****u 发帖数: 44466 | 47 安卓当然是java。
代码里面的C++也是被裁剪的非常彻底为JNI调用,离C的距离不远了。
【在 l*****v 的大作中提到】 : 难不成java?
|
m*******l 发帖数: 12782 | 48 C
【在 l*****v 的大作中提到】 : 难不成java?
|
l*****v 发帖数: 498 | 49 Ok, that's a valid point. Maybe because most android source code I read r in
c++ and android parts.
【在 m*******l 的大作中提到】 : C
|
x****u 发帖数: 44466 | 50 要是安卓代码那点东西算C++,那C++也太容易学了。
in
【在 l*****v 的大作中提到】 : Ok, that's a valid point. Maybe because most android source code I read r in : c++ and android parts.
|
|
|
j***g 发帖数: 158 | |
l*****v 发帖数: 498 | 52 Java is only to library, system lib is written in c++
【在 x****u 的大作中提到】 : 安卓当然是java。 : 代码里面的C++也是被裁剪的非常彻底为JNI调用,离C的距离不远了。
|
l*****v 发帖数: 498 | 53 Java is only ui lib, system lib is c++.
Damn, I hate iPhone auto correct ion |
x****u 发帖数: 44466 | 54 你说反了。
安卓是把C++高度裁剪后嵌入Java的,整个framework,IPC都是基于Java的。
M$的那种跨语言framework的思路,在Java世界是异端。
【在 l*****v 的大作中提到】 : Java is only ui lib, system lib is c++. : Damn, I hate iPhone auto correct ion
|
m*******l 发帖数: 12782 | 55 Android consists of a kernel based on Linux kernel version 3.x (version 2.6
prior to Android 4.0 Ice Cream Sandwich), with middleware, libraries and API
s written in C, and application software running on an application framework
which includes Java-compatible libraries based on Apache Harmony.
【在 x****u 的大作中提到】 : 你说反了。 : 安卓是把C++高度裁剪后嵌入Java的,整个framework,IPC都是基于Java的。 : M$的那种跨语言framework的思路,在Java世界是异端。
|
g*****g 发帖数: 34805 | 56 What traditionally in C is unchanged, what traditionally in C++ is getting
thinner and replaced by Java. It's a trend I've been mentioned for 10 years
and Android is a prime example.
6
API
framework
【在 m*******l 的大作中提到】 : Android consists of a kernel based on Linux kernel version 3.x (version 2.6 : prior to Android 4.0 Ice Cream Sandwich), with middleware, libraries and API : s written in C, and application software running on an application framework : which includes Java-compatible libraries based on Apache Harmony.
|
x****u 发帖数: 44466 | 57 安卓里面的linux根本不重要,移植到OSX或者Windows上理论上都没难度。
6
API
framework
【在 m*******l 的大作中提到】 : Android consists of a kernel based on Linux kernel version 3.x (version 2.6 : prior to Android 4.0 Ice Cream Sandwich), with middleware, libraries and API : s written in C, and application software running on an application framework : which includes Java-compatible libraries based on Apache Harmony.
|
x****u 发帖数: 44466 | 58 C++在语法上没有跨组件的ABI,这是必然结果。
years
【在 g*****g 的大作中提到】 : What traditionally in C is unchanged, what traditionally in C++ is getting : thinner and replaced by Java. It's a trend I've been mentioned for 10 years : and Android is a prime example. : : 6 : API : framework
|