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

不会写代码...

  •  1
     
  •   killpanda ·
    killpanda · 2011-11-06 23:43:39 +08:00 · 6543 次点击
    这是一个创建于 4771 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大学学的是软件工程,今年刚毕业,可是觉得自己写不出代码。
    大学期间也参加过一个Ubuntu下软件开发的开源项目,但是发现研究的不够深入,在团队里做的很多事情都是特别基本的低级代码的编写,而且八成代码都是照着其他人的样子写出来的。之后项目不活跃了,发现自己在里面学到的东西还是特别少。
    毕业之后一直当系统管理员,在公司维护Linux服务器之类的东西。不过说石化自己还是想重新开始学习编程,当一个开发者。
    按理说学一个东西,在精通之前,并不存在有没有天赋的问题,不过我确实觉得自己学不明白编程。
    大神们,我该何从下手?
    39 条回复    1970-01-01 08:00:00 +08:00
    Kobe
        1
    Kobe  
       2011-11-07 00:05:42 +08:00 via iPad
    本来是可以从头开始的,但你经过四年毒害,没救了,转行吧。
    killpanda
        2
    killpanda  
    OP
       2011-11-07 00:08:25 +08:00
    @Kobe 此话怎讲?
    Kobe
        3
    Kobe  
       2011-11-07 00:10:34 +08:00 via iPad
    @killpanda 就是说很多错误观念根深蒂固了,很难改。就像弄脏的白纸。
    killpanda
        4
    killpanda  
    OP
       2011-11-07 00:12:05 +08:00
    @Kobe 吸毒还可以戒呢
    killpanda
        5
    killpanda  
    OP
       2011-11-07 00:12:34 +08:00
    @Kobe 不过确实说的有道理,我同意。
    Mattsive
        6
    Mattsive  
       2011-11-07 00:16:41 +08:00
    killpanda
        7
    killpanda  
    OP
       2011-11-07 00:25:32 +08:00
    @Mattsive 谢谢 :)
    killpanda
        8
    killpanda  
    OP
       2011-11-07 00:27:25 +08:00
    另外,我发现系统管理员和程序员的思维方式真是差别太大了。
    fanzeyi
        9
    fanzeyi  
       2011-11-07 00:42:20 +08:00
    我觉得一个SA应该很容易去写代码吧…… 多折腾折腾就明白了……
    fanzeyi
        10
    fanzeyi  
       2011-11-07 00:45:30 +08:00
    我觉得至少不像@Kobe 说的那么严重.. 总比一个没有接触过电脑的强的多 就好像一个专精于写楷体的书法家 突然转行去写草书 总比一个不会写字的人来得快
    ri0day
        11
    ri0day  
       2011-11-07 00:49:04 +08:00 via iPhone
    同意楼上所说,系统管理写代码确实思维方式与程序员差个十万八千里,写写小脚本还行,那种抽象的 面向对象的 写不出来
    我也是做系统这块的 在学python ,基本也只能看着例子 依葫芦画瓢,自己写不出什么东西的

    我也很困惑,写出来的代码很丑呀。
    killpanda
        12
    killpanda  
    OP
       2011-11-07 00:50:54 +08:00
    @ri0day 对 我目前就是这个感觉
    cmonday
        13
    cmonday  
       2011-11-07 00:57:26 +08:00
    今年刚毕业而已,年纪轻轻,哪有什么学不了的事?
    不知道你为什么觉得自己学不明白,你的“明白”是指什么?
    killpanda
        14
    killpanda  
    OP
       2011-11-07 01:06:37 +08:00
    @cmonday 谢谢指点。我也不相信有什么东西是学不了的。但是总觉得自己缺少入手点。
    LarryLv
        15
    LarryLv  
       2011-11-07 01:11:38 +08:00
    楼上有位给出的那个酷壳的文章就是正面的典型例子啊,相比内行来说,外行肯定更缺少入手点。
    可以多关注些开源项目,多看看别人的代码是怎么写的。
    慢慢就好了。
    keakon
        16
    keakon  
       2011-11-07 01:54:53 +08:00   ❤️ 1
    @killpanda 写了半天,突然想起以前写过……
    http://www.keakon.net/article/107200

    编程其实很容易学的,只要你有兴趣。
    这几周我基本上没有在凌晨5点以前睡觉,没有任何人逼我,只有兴趣能驱动我这样做。
    我也曾因工作需要而上过2周的倒班,结果没几天我就受不了,直接挂机睡觉去了。
    兴趣对完成一件事有巨大的推动力,可惜的是我看不出你对编程有任何的兴趣。

    其实培养兴趣的方法也很简单。
    首先你得抛弃它很难学的想法,那些难到看不懂的直接抛弃,先把简单的学会,够用就行。
    其次你别把它当成谋生的工具,它其实就是个玩具,你学它的目的就只是为了实现你的idea。任何与实现你的想法无关的知识都是狗屁,浏览一下知道是怎么回事就行了;只要那些能帮助你实现想法的知识,才值得你对其感兴趣。

    我想能小学毕业,智商上就已经足够学习编程了,所以第一点对你来说不是问题。
    因此你现在要做的就是寻找你的idea,任何你感兴趣的都行。例如你对旅游感兴趣,就去试试怎么快速查询和归类旅游的资讯;如果你对小说、漫画感兴趣,试试如何批量下载;如果你对泡妞感兴趣,那个啥违法的我就不说了…
    当你实现的想法足够多时,你就会上瘾了,直到戒掉它比戒掉睡眠还难。
    Muninn
        17
    Muninn  
       2011-11-07 02:31:10 +08:00
    兴趣确实是最重要的
    不过有时候人与人的思维真的相差很大
    项目来的毕业生们 就是有人连if else都怎么都想不明白
    还有人用goto语句...
    AntiGameZ
        18
    AntiGameZ  
       2011-11-07 07:50:42 +08:00
    sa(专心)转去做dba,或许比做个程序员有搞头
    frittle
        19
    frittle  
       2011-11-07 08:31:05 +08:00
    开始时可以尝试写些小软件(就算是只有数十行代码的也行),第一次不必管写得好不好,要达成的功能能实现就行了,然后尝试优化再优化。期间可以参考编程教学或别人的代码,重点是看完理解后自己写出来,而不是copy&paste。没一次完成应该都能给你带来小小的满足感,而那小小的满足感应该足以成为你继续专研该如何优化的动力。一边练手一边越来越觉得编程很有意思就会爱上编程了。爱上了还怕没动力让自己的编程能力变得更好吗?

    如果真的想往这方面发展的话,重点是,让自己爱上编程。这点和稻盛和夫写的《干法》的主题让自己爱上工作类似,有兴趣可以买来读。
    killpanda
        20
    killpanda  
    OP
       2011-11-07 10:11:47 +08:00
    @frittle @LarryLv @keakon 感谢大家的指点.
    killpanda
        21
    killpanda  
    OP
       2011-11-07 10:55:11 +08:00
    我要认真想一下了.好好研究研究编程。总觉得不会变成的计算机系学生就和哑炮一样。
    napoleonu
        22
    napoleonu  
       2011-11-07 11:04:21 +08:00
    我讨厌长时间思考后那种头昏脑胀的感觉,所以从开发转到DBA了,之前做PHP和Python开发的。
    napoleonu
        23
    napoleonu  
       2011-11-07 11:05:36 +08:00
    你想要得到什么决定着你要做什么。嗷
    krafttuc
        24
    krafttuc  
       2011-11-07 11:15:00 +08:00
    呵呵,我也是SE的,不过还没毕业。刚开始做项目的时候自己也没什么经验,基本上就是照着一些开源项目改改,拼拼凑凑。久而久之就知道该怎么写,什么代码是好的,什么代码是不好的。

    编程从根本上来说是为了解决问题。我觉得写代码需要你的专注,一旦朝着某个问题而努力,那种感觉就会非常棒。
    Digi
        25
    Digi  
       2011-11-07 14:31:04 +08:00
    [quote]按理说学一个东西,在精通之前,并不存在有没有天赋的问题[/quote]

    楼主这句话解开了我心中的疑问啊
    clowwindy
        26
    clowwindy  
       2011-11-07 14:49:28 +08:00
    重点不在于你能否写出代码,而在于你能否通过代码解决你想要解决的问题。
    不知楼主是否曾经有过想写一个博客,或者一个翻墙软件的想法呢?
    我觉得兴趣和不感兴趣并非天生的,而是建立在成就感和挫折感上。如果不断地通过代码解决问题,就能不断地成功激发更进一步的兴趣。
    大学的时候见到一些同学“被迫”写代码,产生了倦怠感和挫折感,从而丧失了主动学习的兴趣,没有往程序员的方向上发展。而另一些同学主动通过代码解决自己遇到的问题,后来都去了软件公司。
    Weakdancer
        27
    Weakdancer  
       2011-11-07 15:23:27 +08:00
    我认为正反馈很重要,你写的东西马上就是很好玩的,或者对自己很好用的就行,我最早(现在有时也会)就是在手机上基于python写小游戏什么的,就是自己玩,慢慢的编一点复杂的比如一堆小蛇随便跑,或者生成个迷宫放个小人自己跑,简单的就比如画个圆让它的大小和颜色慢慢的随机平滑变换就看着就感觉挺有意思的,因为这是您的创造,尼采好像说过人生的最高追求就是艺术,其实自己随便写程序的时候我感觉就是一种艺术,可能这就是编程的最大意义吧,就是创造,系统管理时可能总是感觉只是在解决问题却不是创造解决问题的方法。

    有了自己的很多经验后,我就发现我拥有了把这些经验映射到现实的能力了。

    最后还是兴趣,比如你喜欢魔方,那就试着写个统计时间的工具。
    不要因为已经有了就不写,因为你的目的并不是解决统计这么简单的。你是要创造。

    画家写生,不会因为这个地方别人已经画过就不画了。
    我记得 @livid 说过
    艺术和秩序的结合
    killpanda
        28
    killpanda  
    OP
       2011-11-08 13:54:37 +08:00
    感谢大家哈!!让我增加自信了!
    m4ker
        29
    m4ker  
       2011-11-09 15:50:13 +08:00
    哈喽,昨天到我blog上留言的是不是你?
    killpanda
        30
    killpanda  
    OP
       2011-11-09 17:31:36 +08:00
    @m4ker 好眼力!哈哈
    m4ker
        31
    m4ker  
       2011-11-09 19:37:05 +08:00
    @killpanda 我给径点投过简历,今天还打了电话,还是没有回音,估计是学历的问题。
    killpanda
        32
    killpanda  
    OP
       2011-11-28 22:50:49 +08:00
    感谢各位的鼓舞,这几天看了看Django,写了一个很简单的博客,并且放到了DotCloud上,我会继续努力的。
    WarWithinMe
        33
    WarWithinMe  
       2011-11-28 22:59:47 +08:00
    @ri0day 我觉得很多人回头看自己的代码都会觉得很丑,当然神人和装逼除外。。就跟是自己的容貌,永远也希望更漂亮一些。。
    kojp
        34
    kojp  
       2011-11-28 23:13:37 +08:00
    @keakon

    如何让兴趣持久化呢???
    kojp
        35
    kojp  
       2011-11-28 23:15:25 +08:00
    killpanda
    你好强。。。才三周就能用Django了。。我断断续续看了三个月了都。。。
    keakon
        36
    keakon  
       2011-11-28 23:43:22 +08:00
    @kojp 想想你对其他的事物为什么会有持久的兴趣吧。

    例如开始踢球时,我花了一番工夫去练习过人的动作,很快就在一群孩子中脱颖而出了。那以后就无法停下这种兴趣了,因为玩它的时候就有满足感。

    编程也是如此,你得从中找到满足感。极端点说,你就应该中二,觉得世界上你是最牛逼的,然后不管搞出什么都自我陶醉,习惯后你就真的牛逼了……
    killpanda
        37
    killpanda  
    OP
       2011-11-28 23:53:15 +08:00
    @kojp 我学的特别不踏实,基本上看一点弄一点,很多地方也弄的不太明白,不值得提倡,嘿嘿。
    yqjun
        38
    yqjun  
       2011-11-29 00:28:09 +08:00
    我还刚换了李洛克的头像!用于激励自己!我现在技术不强又怎样!你现在不会编程又怎样!

    如果编程无需天赋,我们一定能赶上那些牛人!如果编程需要天赋又怎样!勤能补拙!!我算法思维不够人家好,我语言没别人精,我设计没别人好看,我还是继续坚持!你也一样!

    既然不会写,那就现在开始学习写!找一个想学的语言,入门,练习,做作品,提高!加油!

    持久化很简单,自卑吧!去看牛人的博客,去看他们的作品!自卑让你内疚、惭愧、愤怒,给你动力,让你不懈!连那些牛人的边都比不上,谈什么休息,谈什么游戏,谈什么松懈!

    其实不用介意……这是将给我自己听的……我现在的状态就是这样……
    kojp
        39
    kojp  
       2011-11-29 10:00:29 +08:00
    @keakon

    好吧~~~~ 谢谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2514 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:03 · PVG 00:03 · LAX 08:03 · JFK 11:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.