V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bjlbeyond
V2EX  ›  程序员

每天纠结的深思

  •  
  •   bjlbeyond · 2012-05-01 02:24:43 +08:00 · 4749 次点击
    这是一个创建于 4380 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我是一个大二的在校生,学校很差劲,专业是计算机,所以自己就开始自学,自从大二上半年就开始自学java了,这都快一年了,还TMd一点东西都做不出来,主要是自己中间断断续续,没有坚持下来,发现这一年下来,没有玩好,也没有自学好,太颓废了,每天打开java的API和Eclipse和一些关于java方面的资料,没过多长时间就中途放弃了,看到几十行的代码,自己就有点心虚,而且想到这还不算什么,将来工作后代码都是成千上万行的,每当这个时候我就很失望,对自己的未来迷茫,我的性格挺内向的,觉得计算机技术方面的工作可能比较适合我,但是我又屡屡对技术产生这种情绪,我真的不知道该怎么办了,大家有什么好的建议啊,我会感激不尽的!
    35 条回复    1970-01-01 08:00:00 +08:00
    HowardMei
        1
    HowardMei  
       2012-05-01 02:40:43 +08:00   ❤️ 2
    找个妞一起写代码,动力就有了,我是认真的。还可以很诚恳地告诉你,就算你像我一样从所谓985/211学校出来,最后进入社会发展还是要看自己努力,学历什么的只是一个敲门砖,多一点死工资在目前通货膨胀下也没什么太大价值。

    说到计算机编程,我劝你最好早早下功夫,不用多犹豫,只要你在搞工程技术行当,就没有比搞软件更广泛适用的工种了,虽说很多人吐槽说码农什么的(太多人堵在通用软件红海中了),但我要告诉你,编程是门槛最低、适用最广的,无论就业创业都能够自助互助。你想想那些起始投资需要几百万才八字见一撇的高精尖行业,尽管工程师工资可能普遍比一般软件师高,但一旦入行,出路很少或几乎华山一条路,而技术进步甚至还比软件业快,那种危机感绝对不是搞软件的人能体会的。

    而且,各行各业,目前都在往智能的方向转,我坚信会编程,更进一步,会编软件——无论是增加社会效益,还是促进生产效率——将来都不愁没饭吃。
    bjlbeyond
        2
    bjlbeyond  
    OP
       2012-05-01 02:50:05 +08:00
    @HowardMei 谢谢你这么晚了,还能帮我解答心中的疑惑!我一定会努力坚持下去的
    pepsin
        3
    pepsin  
       2012-05-01 02:55:25 +08:00   ❤️ 1
    java是比较让人丧气来着,太罗嗦了,建议楼主可以从写点android app开始练习着做点东西,代码看再多,自己不动手拍拍键盘,看那些都是天书。

    一旦开始做,就别去想太多太高深的,比如什么代码臭味啊,重复啊,先用自己能记住的那些方法写,然后让东西跑起来,能跑起来了,再回头看看,看哪些功能api里已经提供了,拿过来用,然后再改改,然后再看看哪里罗嗦了,或者某些功能别人可能已经写好放github开源了,搜搜,再拿来用,再改。

    神人我感觉也无非是前述事务loop次数比你多比你早单位时间内领悟速度比你快而已,就那样。
    ksword
        4
    ksword  
       2012-05-01 02:57:20 +08:00
    可以找同学一起做个简单的android app,有了成就感会更有动力学习。
    kid7st
        5
    kid7st  
       2012-05-01 03:04:16 +08:00   ❤️ 1
    实在不懂写什么程序的时候,去刷ACM题吧,好好把基础算法和数据结构掌握好,以后不会后悔的.
    多看看别人的东西,然后从模仿开始写起吧.
    动手,别停下
    bjlbeyond
        6
    bjlbeyond  
    OP
       2012-05-01 11:30:37 +08:00
    我主要是想知道,一般学习java se 这块得需要多长时间啊,什么方法能够使自己坚持下来
    messense
        7
    messense  
       2012-05-01 11:49:58 +08:00
    lz为什么非要搞Java SE呢,我觉得学python之类的入门会比较容易点吧。学编程这东西,不仅仅是靠兴趣,还要有成就感来维持兴趣,不然一直学着却又什么都做不出来很打击人。
    mew
        8
    mew  
       2012-05-01 12:00:38 +08:00
    玩玩topcoder吧。
    likuku
        9
    likuku  
       2012-05-01 12:03:26 +08:00
    大学啊,快找老婆吧,过了这村就没这店了...这可能就是最后机会了。
    lch21
        10
    lch21  
       2012-05-01 12:08:16 +08:00
    不下苦功夫,学不了真功夫
    liaofeng
        11
    liaofeng  
       2012-05-01 12:13:05 +08:00
    同样不建议学java。
    大学里应该多学操作系统和算法相关的知识,或者学c/linux也不错。
    学java se没有实际项目练手收获的确不乐观。
    另外即便javase入门了,能学到多少?也就是熟悉java的语法和api而已,一些华而不实的东西,或者你还学会了一些设计模式,仅此。

    玩玩ACM吧,毕业找工作简历上有ACM的头衔,面试官会眼睛一亮。
    kimi4ysr
        12
    kimi4ysr  
       2012-05-01 12:17:06 +08:00
    如果周围没有ACM的氛围,坚持下来还是很难的, 但是与其纠结还不错做一些算法和数据结构方面的训练,这些知识以后会体现出它的价值的
    附上《灵魂熔炉》的一句话:
    “一个法师的灵魂是由魔法的试炼锤锻而出,”安提摩德说。“你自愿进入火中。火焰很可能会毁灭你。但假如你存活,铁锤的每一下重击都将塑造你的本质。从你身上榨出来的每一滴汁液都是在锻练强化你的灵魂。你明白吗?”
    kendisk
        13
    kendisk  
       2012-05-01 12:17:34 +08:00
    PHP
    money
        14
    money  
       2012-05-01 13:08:06 +08:00
    我是学习javase,虽基础的学完,的确没成就感,也是编不出认何东西,同lz一样,没有一点兴趣了,现在又想学c,因为想把一些数据结构和算法基础打好再说
    clowwindy
        15
    clowwindy  
       2012-05-01 14:22:02 +08:00
    别把时间浪费在你不喜欢的事情上面。
    shiweifu
        16
    shiweifu  
       2012-05-01 15:09:40 +08:00
    j2se如果拿来入门,太难做出点什么吧?
    我最早也是学的j2se,弄了半年多,孙鑫和张孝祥的视频看了n遍,还是没弄明白这玩意到底是干嘛的,小地方,没谁可以问,直到有一天我看到了C#,和java语法类似,而且随便拉拉就能出个窗口程序,才意识到这才是我想要的玩意(我刚开始确实只是想做几个带图形界面的小程序),然后就高中了。因为学习不好,老师也不怎么管我,我把课本全仍学校了,带了一堆C#、C#程序例子的书,上课看,然后拿笔写在日记本上,两周一放假,回家敲进电脑里。

    后来就学c++了
    再后来就学c了
    再再后来就学linux/python

    如果lz也想做几个窗口的程序,给妹子、给同学显摆显摆,我建议从c#入手。而且你学过java的语法,c#没啥门槛了。
    HowardMei
        17
    HowardMei  
       2012-05-01 15:19:44 +08:00
    @clowwindy 这个我不同意,中国学生不比西方开放式教育成长起来的,都早早知道自己兴趣所在并以此立志——除非像livid这样早熟的,但毕竟这是少数,不适用大部分人。

    大多数人要进入社会磨炼几年后,才能知道自己“不喜欢什么“,到那时候如果没有一个适用性比较广泛的技能伴身,那就不得不因为经济原因强迫自己一辈子都干不喜欢的事情,还是在空余时间比较多的时候给自己找点通用技能比较好,以后就算换行当也能降低机会成本。要说特别喜欢的事,多半不是自然发生的,都是半强迫自己深入钻研后才能真正喜欢上。当然,如果发誓不搞工程技术,那就趁早去考金融类的各种证书吧,实在没出息就去考公务员吧。

    既然出生在中国,就要对自己狠一点,别弄成个四不像。

    论起语言,c语言我觉得必需学好,算法、数据结构也必须弄熟。此外,再学什么语言,就看兴趣吧,java/php/python/ruby都挺好的。在学校不要浪费大量时间学那些纯粹为就业而用的框架、微软/Java企业构件之类,一到工业界,这些大抵都是随学随用,跟着项目需求跑,就手拿来搭积木用用的,到找工作之前半年针对心仪的公司招人需求突击一下做个Demo就好了,东西再炫也就是个积木块。
    kojp
        18
    kojp  
       2012-05-01 17:57:21 +08:00
    @likuku
    非常同意 !此时不抓紧 ,更等何时 ?而且 ,如果 LZ是农村的话( 只是打个比方, 勿介意 ) ,这事至少相当你毕业后两至三年的年薪 !!!!

    关于学编程这个东西 ,勤快很重要执行力很重要 ,而且要想办法参与一些或大或小的或开源或非开源的 项目 , 边用边学会好些 .


    ----最后 ,如果对某个东西 ,兴趣不够使然 ,气场不够强的话 ,就放弃吧 .做一些让自己开心的东西,或者学一些让自己充实的东西 .----打 dota不算哈哈 .
    bjlbeyond
        19
    bjlbeyond  
    OP
       2012-05-01 18:17:10 +08:00
    @kojp 谢谢你的回复,我是一个农村人,我和你的观点一样,自己现在的努力决定的是自己的未来,你上面所说的做一些使自己开心的东西,我不太懂啊,能列举几个吗?
    clowwindy
        20
    clowwindy  
       2012-05-01 18:18:07 +08:00   ❤️ 1
    @HowardMei 我认识一个人,在职业学校,学各种语言,从 C 到 Java,再到 C#,PHP。可是两三年过去了,他连读文本文件都不会。

    我觉得这就是在浪费时间。固然他的学习方法不对,只学习不做东西,就像楼主一样。特别是楼主还一点点看 Java API,那个东西是没法当书看的。然而我觉得他最大的原因在于,他是为了找工作学习,他自己没有动手写代码的需求,也就不知道该学什么。他拿着书死记硬背,却不知道哪些是常用的,哪些是可以随时查文档的。

    楼主已经花了一年时间,看到代码就产生挫折感,没有积累成果,也没有学到学习的方法。兴趣是建立在成功的经验上的,挫折是兴趣的敌人。

    学习离不开实践,而最好的实践是制造自己需要的工具。一边学习一边做自己用的上的小程序,放到 github 上开源了,再发到社区里和大家交流,就是一种不错的学习方法。只有积累起成就感,才能激发进一步学习的动力。

    如果楼主始终摆脱不了现在这个心理状态的话,我劝楼主要么换个学习方法,或者要么换个学的语言,要么就干脆放弃,多出去走走,去图书馆和社团转转。大学是寻找和培养兴趣的最好的地方。特别是大一大二的时候,应该参加社团,接触不同的人,发现你的兴趣所在,找到一起学习的人,运气好的话就炮个妹子,然后改变你的内向性格。即便是计算机相关工作,外向的性格也是有好处的。
    wening
        21
    wening  
       2012-05-01 18:28:46 +08:00
    @clowwindy 说的好,完全赞同
    这里送楼主一句话,蔡学镛说过一句话,很多人做互联网,不是喜欢这件事情本身,而是看重他背后的利益
    关键是你要真正清楚的知道你是怎么认识这个问题的
    很多人说我喜欢编程,是为了兴趣,是假装的
    既然喜欢,为什么国外有程序员50、60岁,还在搞
    而这些人就是为了到leader,就不搞了呢
    hcl602
        22
    hcl602  
       2012-05-01 18:35:51 +08:00
    @clowwindy 说的不错。特别是顶这句:“即便是计算机相关工作,外向的性格也是有好处的。”
    kojp
        23
    kojp  
       2012-05-01 19:02:11 +08:00
    @bjlbeyond

    比如说喜欢汇编胜过爪哇 ;
    比如说喜欢design胜过 code
    比如说喜欢外语胜过计算机
    比如说喜欢喝酒胜过抽烟
    甚至说喜欢男人胜过女人哈哈
    ....
    总之就是内心所向的东西 ,而不是被各种工作生活人情故事学业压力而被喜欢的东西 .
    个人蠢见
    caomu
        24
    caomu  
       2012-05-01 20:07:18 +08:00
    没看到 @cngithub 阳志平老师的回复呢。。。

    lz可以参考一下这篇文章吧,像我这种在大学却东搞西搞的人也受到很大启发: http://www.yangzhiping.com/psy/open-classroom.html
    HowardMei
        25
    HowardMei  
       2012-05-01 20:25:18 +08:00
    @clowwindy 我真心不觉得职业学校是一个学习通用技术的好地方,第一流的职校培养的应该是适合专门产业某个门类必需的专精人才,与行业内最顶尖的专家或企业紧密合作,专门解决某几项高难度技术的人才瓶颈。换言之,去职校应该是学一招鲜,而不是去学大路货。

    那些培训编程语言等通用技能的职校,说句不客气的话,都是有意无意在骗钱。去这些学校学习的人,除了少数是抱着幻想去加快学习进度的,大都是意志力不强为自律失败找借口的人,学不好才是正常的。

    通用技能,要么在普通学校上学时打好基础,要么完全自学,职业学校根本无法给人更多。只有那些需要工业实践和行业经验积累的专门技术,才值得找靠谱职校——而这样的专精职校,国内很少,他们的毕业生绝对是抢手货。

    搞编程,不是我专业,但我同意你的看法。除了算法、数据结构这些基础东西需要咬牙硬啃外,其他任何时候都要抱着明确目的,否则学来干嘛?不能做出有用东西的编程技巧,都是屠龙之术,只要能做出有用东西,不管你用C/Java/Python还是PHP/Ruby,都不妨碍成为大牛。语言只是工具,掌握有效实现目的的手段才是关键。

    如果不是工作特别需要,精通一到两门语言就够了。然后,我想多数人都知道,80%的书不是用来看的,而是用来查的,看API书?这是迷失方向的表现。
    regmach
        26
    regmach  
       2012-05-09 02:02:47 +08:00
    当你学会摆脱纠结,就懂得如何为编程沉思了
    qonco
        27
    qonco  
       2012-05-09 06:06:54 +08:00
    典型的眼高手低
    spanningtree
        28
    spanningtree  
       2012-05-12 23:01:12 +08:00
    有正确的学习方法是非常重要的 如果学校不好 必定不能够以科学系统的方法教学 从楼主的问题就可以看出 楼主方向有误 实际上学习JAVA最核心的关键点需要掌握的就是 1. 什么他妈的是面向对象 2. 为什么java里所有的东西都是pointer 等你这两个概念能够非常非常深刻的领悟 你是不可能不会用java的 java的学习周期通常在8个月左右 但是需要通过循序渐进的编程 最重要的是有一个能说人话的老师教你 所以 给楼主的建议是 1. 别急 你现在这样很正常 2. 不要自己死命学 事倍功半 找个老师教 窗户纸一层 但是老师要靠谱
    sodapanda
        29
    sodapanda  
       2012-05-12 23:37:11 +08:00
    楼主纠结的问题:零零散散的学了点java ,但是深知这一点不够。眼看好几个月过去了,什么也没做出来,丝毫没有成就感的滋润。
    解决办法:不管学什么语言,想找到成就感做出东西来,光看基础语法不够的。看完了基础语法直接上框架 什么 struts, sping ,hibernate 然后弄个小论坛程序啊,小博客程序什么的。这不就算自己做了东西了吗,那就有点存在感和成就感了。光学会了用框架肯定觉得太码农了,那就去深入下框架,里边的设计模式啊,还有其他一些具体技术,应该是有提高的。当然我建议你自学用 python 更容易,然后学 Django 框架玩。
    对于理论知识,学计算机的比较难学会的是计算机体系结构和算法,体系结构组成原理这些可以通过玩 51单片机或者 Arduino 来入入,对总线啊,周期啊,指令啊,之类的概念建立个直观印象,有助于理解理论。算法我也不会,最纠结的就是这个。

    我也只是个大三的学计算机的。我说的这些仅供参考的。我自己也很迷茫,我就会做个 android 程序,做做网站程序之类的。仅供参考
    ichigo
        30
    ichigo  
       2012-05-12 23:52:35 +08:00
    我觉得这个时期你最好先看看数据结构研究下算法,不然以后很大概率上只是个码农。而且最好先把c学好,个人一点建议。
    另外楼主不要对学校很在意,即便我这样211出身的也有很多同学什么都不会。
    bjlbeyond
        31
    bjlbeyond  
    OP
       2012-05-12 23:55:42 +08:00
    @sodapanda 我这一阵也正在看关于android方面的视频,觉得这个还行和java联系挺大,稍微能派上点用场,你android方面学到什么进度了??
    sodapanda
        32
    sodapanda  
       2012-05-13 00:01:00 +08:00
    @bjlbeyond 可以做一些乱七八糟的app,当然是用到哪学到哪,不是很熟,各种功能实现的最佳实践也没全派上用场,总之是,能应付一下而已。这阵子想把自己的一个项目放市场上
    这是我的一个项目
    https://code.google.com/p/mapcall/
    bjlbeyond
        33
    bjlbeyond  
    OP
       2012-05-13 00:03:14 +08:00
    @sodapanda 我怎么打不开这个链接啊??
    sodapanda
        34
    sodapanda  
       2012-05-13 00:05:41 +08:00
    @bjlbeyond 因为 GoogleCode 已经被墙了,你得自备梯子,你如果用 SVN 的话可以 检出出来看代码。或者在页面找到 source -->browes
    notedit
        35
    notedit  
       2012-05-13 00:15:47 +08:00
    lz 自己找点项目做吧 学以致用 进步才快 你大二还不算太晚
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   963 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:54 · PVG 06:54 · LAX 15:54 · JFK 18:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.