指导未来“钱”途规划。Linux C/C++

挣钱取老婆 发布于 2012/05/24 21:06
阅读 1K+
收藏 0

小弟现在大四。找的一份电信运营商的工作。但是不是很满意。为以后跳槽做准备。

而且我对linux C/C++比较感兴趣。正打算学习这方面的知识。求指导学习的方向。和未来的职业规划。

我现在在看"Unix环境高级编程",第一遍看得不是很懂。看第二遍

                "Linux 与Unix shell编程"

                “大话数据结构”,打算看 “算法导论”

                "stl与泛型编程"

疑问:

一:怎么才能刚快的上手入门。别人说是作项目。但是C/C++的项目学习的项目很少/不像Java.C#等。随便就是**系统之类,做学校做了两年这样的小项目。

二:方向,Linux 有嵌入式,要了解内核,裁剪。驱动等。Server编程,数据库/各种网络协议等等。游戏,Qt等。还有我不了解的方向。我应该注重那个方向才好.希望结合我的实际。

三:在工作的同时,是否有时间兼顾这方面,脱离真正的项目实练,自己练一年,有没有机会达到大公司社招的要求 。

加载中
0
Lunar_Lin
Lunar_Lin

       linux主要是用来当服务器的多,因为win的服务器贵. linux开发客户端软件非常小众. 所以linux下开发, 你应该以服务端的技术为重. 多线程,网络epoll,进程/线程间消息通信, 分布式开发,数据库访问. linux系统内核没必要研究了.
       精通熟悉技术,读别人的代码也可以,开源代码不是很多么. 好好找一些读读,未必要自己开发项目. linux下也没**系统可供开发.
      技术成熟后,未来的发展, 1. 互联网/商业 服务器开发   2.游戏服务器开发. 待遇都还是较高的. 加油, 小兄弟~

Lunar_Lin
Lunar_Lin
回复 @挣钱取老婆 : 有些项目太大了,不适合你去读, 2个月都是些无意义的业务逻辑, 效率就太低了. 先把基础搞扎实了,读些工具型的项目(1个星期能读完的1,2万行以下的项目,PS自己写个工具统计代码行数). 具体项目我就不推荐了, 人生苦短, 不清楚你的爱好和当前水平,不想害你,你自己挑一挑选一选.
Lunar_Lin
Lunar_Lin
回复 @挣钱取老婆 : 服务器开发相关的知识, 有大量的技术文章需要阅读. 然后再开始找开源代码阅读吧. 你现在写项目,既不能拿来赚钱,也不是增加知识经验的最快之路,就不要去做. 比如说高手们尝试过大量指针很让人崩溃,你就不必再浪费4个月的时间写垃圾代码,最后暴躁的说,没智能指针简直太可怕了,C++真烂. : )
Lunar_Lin
Lunar_Lin
回复 @挣钱取老婆 : 若是不熟悉C++,建议先熟悉C++. C++差不多5,6本精品要认真过一遍, 再5,6本经典简单过一遍. 然后boost库,光其说明文档,接口的设计原因就能学到不少知识.
挣钱取老婆
那有什么比较合适我这种新手看的呢,能否介绍一个两个。
0
中山野鬼
中山野鬼

第一个问题,C++可能还有大项目,C的项目特别是练手的项目,可以很小。不超过500行的代码,足够练了。

第二个问题,方向,一个看缘分,一个看爱好。别人说的都狗屁。

第三个问题,时间就和女人的。。。一样。。。

最后的建议,要么就学C,要么就学C++(准确说你应该去学JAVA),不要同时学。我只见过一般的牛,最后都是选其一发展。还没有见过两者都折腾的牛。当然是基于两者都折腾的很牛的基础上。因为完全不是一类开发思维,面对的完全不是一类开发目标。跨项目开发可以,跨领域开发无聊。。。

0
挣钱取老婆

引用来自“中山野鬼”的答案

第一个问题,C++可能还有大项目,C的项目特别是练手的项目,可以很小。不超过500行的代码,足够练了。

第二个问题,方向,一个看缘分,一个看爱好。别人说的都狗屁。

第三个问题,时间就和女人的。。。一样。。。

最后的建议,要么就学C,要么就学C++(准确说你应该去学JAVA),不要同时学。我只见过一般的牛,最后都是选其一发展。还没有见过两者都折腾的牛。当然是基于两者都折腾的很牛的基础上。因为完全不是一类开发思维,面对的完全不是一类开发目标。跨项目开发可以,跨领域开发无聊。。。

我看别人都是Linux C 和C++ 是连在一起说的。我真不知道里面区别有多大。准确来说我应该是想学习C++。可否介绍一点简单的开源项目学习,或者其他供学习的例子。

其实在学校用C#一年半左右,一不小心就很容易沉浸于界面的效果,新技术,控件编程等。连事件驱动编程是什么都没去了解过,容易成为低级码农。所有想转向C++,入门起点高,待遇也高点。

 

0
中山野鬼
中山野鬼

引用来自“挣钱取老婆”的答案

引用来自“中山野鬼”的答案

第一个问题,C++可能还有大项目,C的项目特别是练手的项目,可以很小。不超过500行的代码,足够练了。

第二个问题,方向,一个看缘分,一个看爱好。别人说的都狗屁。

第三个问题,时间就和女人的。。。一样。。。

最后的建议,要么就学C,要么就学C++(准确说你应该去学JAVA),不要同时学。我只见过一般的牛,最后都是选其一发展。还没有见过两者都折腾的牛。当然是基于两者都折腾的很牛的基础上。因为完全不是一类开发思维,面对的完全不是一类开发目标。跨项目开发可以,跨领域开发无聊。。。

我看别人都是Linux C 和C++ 是连在一起说的。我真不知道里面区别有多大。准确来说我应该是想学习C++。可否介绍一点简单的开源项目学习,或者其他供学习的例子。

其实在学校用C#一年半左右,一不小心就很容易沉浸于界面的效果,新技术,控件编程等。连事件驱动编程是什么都没去了解过,容易成为低级码农。所有想转向C++,入门起点高,待遇也高点。

 

如果你折腾面向对象,能逃过界面或者和界面有关联的东西,我一时想不出来。碰硬件设备的,例如我前面喷的ACE之类的,你要不怕折腾就玩面向对象吧。

程序无非往两个极端发展。一个是往数学上靠。动不动就要碰理论。一个是往应用上靠,动不动就如你说的需要主观体验度。

诸如OS,其实中间落到很多模块,都是数学的东西在撑着。比如这个策略,那个算法。无非你没做到工程级的东西,暂时碰不到,不需要思考而已。

卡在这两个极端中间的是功能模块。比如硬件设备的驱动,或者LOG,GIT之类的工具开发。这类开发目标性很强,受外部约束很大,有价值的往往脱离了编程本身。而是对业务面的熟练了解。所以这类不在我讨论的程序开发的发展方向上。也即做的好不好,和你程序设计本身关联度不大,和其他方面关联度很大。


中山野鬼
中山野鬼
回复 @挣钱取老婆 : 你要能彻底理解就好咯。。。基于两个原则,要么你做应用,要么你做模块。前者是要往体验度上靠,后者要往数学上靠。。。。
asdfsx
asdfsx
回复 @挣钱取老婆 : 老鬼的意思是取决于你希望研究那个层面的东西。如果想往底层靠,会遇到很多理论层面的东西,算法啥的;如果是往应用层靠,你遇到的更多的是业务相关,用户体验相关的。具体到java、c,c是偏向底层的,java偏向应用。你自己决定了。老鬼楼上说的好,这个问题有时候靠机缘的
挣钱取老婆
说的太多,没理解过来你的意思。 你的意思是 学linux编程,尽量往C 靠拢?或者是往Java靠拢?
返回顶部
顶部