已经27岁了, 想开始学C++, 求指点迷津

  • I
    I'Mbug
    26岁前的人生都是虚度的。去年(2012年)才开始着急要想做些什么事, 于是从0开始学了编程。
    悟性还算可以吧,四个月左右的时间掌握了Java、Android和数据库的开发, 并随后自己就在上海找了份Android开发的工作, 工资有6、7K吧, 做了3个月后转正到了8K左右。期间做了一些J2ME项目和两个Android项目。
    现在感觉做Android开发门槛有些太低了, 身边同做Android开发的都是一些毛头小伙子, 每天的工作就是整天网上扒代码扒和调用别人写好的类库Jar包, ,不算难但是很繁琐很无趣。感觉到这Android应用层的开发也是个青春饭,恐做不长久做不踏实, 心中有些后怕, 准备上班的同时业余时间学点东西, 暂定打算去学C++,往C++的方向发展。我知道这肯定是一条艰辛的路, 自己这方面也没多少基础, 所以上来想请各位指点一下迷津, 该怎么走好这条路。
  • 战神blog
    有java基础不难。看看原版书和网络教程,写点小游戏。
  • 囧rz--
    c++不难喷了
  • C
    Crusher
    楼主你选择了一条无比艰辛的码农路线 :D
    如果自己看书的话,primer c++一生推,不过先要有点入门的教材垫底,国内随便找一本吧
    另外注意这本书typo有点多,国内翻译版本没仔细看不知道会不会好一些。
  • C
    Crusher
    android开发其实也不是这么不堪,只是java码农多而已,转型要做android倒是比较快,做的好与不好天差地别

    另外码农入门最大忌就是看不起一种很流行的语言而选择一种自己以为能体现层次的另一门语言

    我要说我单位主要使用基于JavaScript的nodejs和最趋向函数编程的erlang做主要开发语言楼主不知道会不会笑我:D
  • 莫斯利安
    js要做好很难的
  • j
    jzbora
    问题是现在有那么多c++的岗位吗?不如学精一门流行语言,比如java,python什么的靠谱。其实我也比较看好JavaScript
  • 总是注册不成功
    马克,威廉姆斯
  • y
    yang_yii
    c++确实不难。
    c的基础加面向对象概念足够了。
    请不要拿c++大师的标准来学c++。c++的细节太多,根本没必要掌握完全,主要概念记熟偏门的部分遇到了再翻书就好。
    象我不用模版写c++代码多年了不一样量产程序。
  • w
    winger
    模板还是有必要了解的。

    至少stl和boost库里面大量优秀的模板还是要知道怎么用的。

    入门的话,推荐LZ看《C++入门经典》这书。这就是我的入门书,里面对C++基础知识的叙述很详细,可以当工具书使用。

    LZ在学习过程中有什么问题也可以PM我,我尽可能帮助LZ。
  • m
    mieumieu
    哈哈这个真的看情况

    我们一进公司,td就跟我们说 不要用stl。。。当然,只是不要用而已,实现思路是要了解的
  • I
    I'Mbug
    恩。 旁边做Android的实在太多了, 而且一个比一个嫩。。。
  • a
    aszx21
    写代码
    没钱途
    转行经济管理什么的
  • I
    I'Mbug
    恩, 有什么好的职业方向, 大家都可以说来听听。PS一句:我没什么背景, 有背景也不去学什么编程了
  • r
    route
    什么语言往深了学都难
    能做精的话,都靠谱
    C++并不比别的语言高贵
  • I
    I'Mbug
    恩, 我的主要出发点是, 既然干这行了, 就要干长久干踏实。而不是干了几年后就能随随便便给人替代了的那种
  • r
    route
    修行在个人了
    随波逐流肯定不行
    ——7年C++码畜的痛的感悟
  • j
    jeffcai
    四个月就能掌握java, android,数据库开发?别的不说,ndk懂了吗
  • a
    aszx21
    写代码的担心年龄大了贬值
    其他多数行业随着年龄升值
    这是显而易见的
    我只是提供我的观点
    选择是你自己的事情
  • I
    I'Mbug
    NDK不懂, 工作中没用到过。 掌握这个词用词不当, 基本满足公司对开发人员的技能要求把。
  • j
    jeffcai
    那推荐你学学ndk吧,把c++学习应用到android开发中
  • T
    TG春上春
    码农真心辛苦. 编程语言跟现实的语言一样, 不能当专业用. 不管啥编程语言, 都是门槛很低的东西, 无数刚毕业的小朋友都能在你干不动的时候替代你.

    LZ你现在在做手机方面的开发? 那就往底层看, 学点驱动和编译器方面的知识. 这么多厂商这么多芯片, 高级的需求肯定有不少. 过个两年, 往产业链的上游跳, 到系统和芯片厂商去.

    [本帖最后由 TG春上春 于 2013-6-16 09:58 编辑]
  • C
    Crusher
    其实吧,这个都看个人造化,就近两年而言,js功底到家的比c++的好找工作

    年纪大了不适合干程序员,这个规律就天朝有,因为我们很多单位真的都在培养码农,完全就是机械工作的码农,但是码农和程序员的区别还是很大的

    很多人就浑浑噩噩的上了5,6年班,然后发现被毕业半年的小伙子轻易的替代了,再找工作的时候各种哀怨,哎,少壮不努力啊
    我面试过很多号称java功底深厚的码农,基本上都是瞎扯,纯粹的coder而已
  • 中村左脚
    学这些没有!当官才是王道!
  • I
    I'Mbug
    求指教, 什么样的码农称得上Java功底深厚。
  • b
    behire
    写了12年C/C++低级菜鸟飘过
  • a
    aszx21
    就算是你口中的所谓国外程序员
    要么转管理要么自己做老板(通过股票等与公司成为利益共同体)
    不然还是死路一条
  • l
    lvcha
    帮顶,楼主因为看着某语言很牛逼很高端很神秘而去学他是小孩子才干的事情。
    除非某些特定领域不得不用c或者c衍生。否则复古到这种以机器思维来设计的语言是不明智的。
    计算机编程龟速发展了几十年才有了现在的成果。
    用什么语言都是根据要做的事情手到擒来才是正解。
  • C
    Crusher
    举个面试例子吧
    我的问题是简单的描述GC机制运作原理,HotSpot VM比起JIT VM在GC方面有哪些优化,无论client和server部分的都可以? 并给我举个巧用GC特性提高代码并发效率的例子.

    因为我做的是非企业应用,招人的待遇也远高于这类岗位,所以要求稍微高一点,基本来面试的企业应用出身的基本没有人能答上来,大部分人都在说自己哪些framework用的好,做过哪些项目,哎,文不对题啊
  • C
    Crusher
    staff转型为partner的比比皆是啊,但是大部分还是在技术的路线上越走越远,观念啊兄弟

    咱国内一帮人就喊着转型管理,要做自己擅长的事情,执意的做自己不擅长的事情,非正道

    本帖最后由 Crusher 于 2013-6-16 10:20 通过手机版编辑
  • j
    joachim
    0基础4个月就能掌握java,膜拜楼主。。。。。。。。。
  • 风来人
    我也想转职,能到你这水平就行了,lz可以把你当时看的书还有经验分享下吗,感谢!!
  • 莫斯利安
    gc原理知道,jit不是很熟,但是能大致说出hotspot的原理,sun和ibm的gc区别也知道,gc知道不同的策略的优点缺点,但是直接代码里面我还真没直接写过gc。这样你看是如何?主要外面招的多的是企业应用啊。。

    顺带,js会比较有前途…

    本帖最后由 莫斯利安 于 2013-6-16 10:46 通过手机版编辑
  • C
    Crusher
    我描述有点歧义,不是直接调用gc方法,是利用gc特性提高效率

    可以关注一些好的创业团队,做公众应用的为佳,国内做企业应用很多真的是毁人不倦啊

    js这块,达到标准的人才太缺了,可以说是可遇不可求。
  • 莫斯利安
    请问有js的好书推荐么?
    最近有在了解bootstrap框架。

    我觉得java国内是很重视框架应用,尤其ssh,但是很多人连反射都不是很了解,基本的sql也不是很行,但是牛逼在框架用的多,工作比看java语言本身,jvm本身,看算法的好找啊。。。
  • 莫斯利安
    final只是不给修改继承扩展,内部类不用final编译没问题吧。

    那你这个问题就回到某设计模式上了吧。。
  • C
    Crusher
    举个例子而已

    再就是这些东西,jdk的文档说的很清楚了,如果连这个都不关心,那不是我想招的人

    我做的高并发的应用,需要对如何使用java有个明确的概念,绝对不赞成用一些低效的编码习惯,即使这些东西写的优雅的一塌糊涂,
    职位描述也有介绍,所以面试的时候GC,并发等都是主要内容

    语言特性这块,基于不同的vm处理上有非常大的不同。

    设计模式非一日之功,楼主还是需要在实际项目中不停的练习才能略有小成,

    现在很大的问题是模式泛滥,优雅的代码有时候并不是适合你自己项目的代码,因人而异,这个尺度要把握得好,挺难的

    不扯远了,论坛上讨论技术是个不好的习惯,到此为止
  • 莫斯利安
    顺带,我并不认为java往框架发展有什么不对,只少工作好找,工资不低,国内的公司根本不关注性能调优,直接暴力硬件解决,演示给老大看的也不会是性能,是功能。
  • 中村左脚
    世上无难事,只怕勉强人!
  • C
    Crusher
    看过一本原版Eloquent JavaScript,感觉还不错,国内翻译的不知道质量如何
    JS部分不是我擅长的领域,不敢胡乱推荐
  • 2
    20060602
    等你找到用 C++ 的工作会发现
    “每天的工作就是整天网上扒代码扒和调用别人写好的类库——不用包,都在项目设置里设置好的。不算难但是很繁琐很无趣。感觉到这 c++ 的开发也是个青春饭,恐做不长久做不踏实, 心中有些后怕。”

    不知道你看懂没有...
  • 分不清雨水泪水
    是我题写的有问题,
    应该是为什么内部类访问的外部类的变量必须是final的
  • C
    Crusher
    后半部分,说一点自己的浅见
    我感觉如果你有想法,那说明要求这些技能的公司可能不适合你,平时多磨刀,总会有一个适合你的公司招一个适合你的岗位让你大展身手的。

    磨刀的方法最好莫过于read the fxxking code :D
  • m
    mushroom
  • y
    yesword
    为什么要转型?LZ你在Android开发领域已经是专家了么?
  • s
    superfight
    干了3年的山寨android驱动开发~ 现在想转图像处理 天天看数学和图像处理方面的内容
    感觉有兴趣就去做呗 前景的话我觉得不在于你掌握什么语言,而是你了不了解业务
    做语言毕业生上来翻翻书就可以了,业务需要你干几年才知道用户需要的是什么
  • 莫斯利安
    那这个问题其实就是问的内部类的编译问题这个问题我觉得也是关注基础的知道吧,关注框架的很多都未必用过内部类吧。而且好像要匿名吧。

    算啦,同不讨论技术了,哈哈

    本帖最后由 莫斯利安 于 2013-6-16 11:39 通过手机版编辑