V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
nooper
V2EX  ›  程序员

你为什放弃了一个编程语言而去做另外一个编程语言?

  •  
  •   nooper · 2014-03-08 21:42:04 +08:00 · 10538 次点击
    这是一个创建于 3947 天前的主题,其中的信息可能已经有所发展或是发生改变。
    碰到过好些人,搞着java能拿很高的收入,取偏偏去做C++。
    要么就是做C#非要搞什么java。
    完全搞不懂这些人在想什么。
    要么就是乱搞!什么都会。结果弄得乱七八糟!
    别告诉我你是研究语言解释器的。
    有没有人一开始会很多奇葩的技能。然后收入还是那种程序普通屌丝的收入?
    与这种预期相比,你们觉得你更应该去学习什么?
    或者说如果突然有一天医生告诉你,你再做程序会对你的身体造成不可逆转的伤害的时候。
    第 1 条附言  ·  2014-03-09 09:31:10 +08:00
    不是黑那些喜欢学习的人,而是你要真的清楚你学过以后这个能干什么用!
    比如你去学习R语言,R是基于统计学的语言,但是你连统计学原理一点都不懂,学习完了这么语言又能干什么用呢!
    有些人永远走不出来自己的怪圈,因为公司需要,你们跟老板是朋友嘛?
    精力旺盛不如去学习学习音乐,没准看到了音乐上面的空白,开发出一个很好的app。
    或者去搞搞硬件,或者把你烂的不行的英语再好好的学习学习。
    或者在学习一下日语。
    或者去游泳健身。
    要知道你去学习一门语言,用一周的时候你要是能学会很深的东西和语言自身的思想,那几本上是不可能的事情。
    敲出来几行皮毛。
    语言只是工具,如果说你脱离了公司,觉得多门语言想要自己单挑,你能完胜吗?

    思想有很多种,不要语言的思想里面死磕。
    不如研究一下,文件的并行读写?这个我不懂,谁懂可以说一下,好像记得IBM专门有这样的技术。
    不如深入的研究搞一些专利,或者出一本书。

    收入不高不低,那么其他的随便一个职业就能完爆你的收入,何必20岁的人把自己搞成40岁的感觉。

    比如学好了日语,不如去日本干IT,在日本干几年是绝对可以买得起日本当地的房子的。

    在中国,别撸代码了,你想做管理层,你有EMBA,MBA吗?
    有些公司,领导跑了,员工在加班,呦,你可以学到很多东西。大公司也有失败的产品,而碰巧你刚好在努力,没有人能知道是这个产品是否会成功,但是你不努力,你永远都不可能成功。

    没有必要浪费在太多的经历在思想里面,除非你买点drugs 在里面死磕,做点正事,去旅行,去走走,去见见外面的世界。
    py2 和 py3 就搞得有些分裂。但是照旧,过几年项目还对转换,不如一次性撸好。

    总有那么一些人看了你的简历,然后再问你你会不会java,简历根本就没有写?!肯定不会,肯定不学,没有必要浪费自身的时间。


    记住编程语言本身就是工具,而我们把工具造就的天花乱坠,反而会臃肿不堪,比如C#,我从来就没有搞懂那一套乱七八糟的项目是干什么用的,好久不碰了。

    要懂得跨领域的去学习,这样你的死磕就结束了。
    87 条回复    2015-07-27 18:17:45 +08:00
    nicai000
        1
    nicai000  
       2014-03-08 21:49:14 +08:00
    项目需要, 否则我懒得学新语言.
    TF
        2
    TF  
       2014-03-08 21:55:12 +08:00
    興趣和需要。
    Sean
        3
    Sean  
       2014-03-08 21:55:42 +08:00
    工作需要
    Nin
        4
    Nin  
       2014-03-08 21:57:48 +08:00
    因为需要
    nooper
        5
    nooper  
    OP
       2014-03-08 21:58:45 +08:00
    @Sean no! 你可以选择你的工作!

    @nicai000 你可以换工作!
    @TF 没有无趣的东西,只有无趣的语言!
    exch4nge
        6
    exch4nge  
       2014-03-08 22:01:35 +08:00
    很多人是对计算机有兴趣才去学习的,楼主张口闭口说的“收入”,对于一些人来说没楼主认为的那么重要。并且转语言后“收入”并不一定会比之前低。

    编程语言终究是一个工具而已,学习不同的编程语言就当是掌握了多个工具,让你以后开发有更多选择。

    我就是一个乱搞,什么都会点的。
    Sean
        7
    Sean  
       2014-03-08 22:04:49 +08:00
    @nooper 碰巧我的兴趣和工作在一个点上,碰巧在工作上我对其他还有一点影响力。
    nicai000
        8
    nicai000  
       2014-03-08 22:08:35 +08:00
    @nooper 嗯, 换了, 只会C只用C
    ewangke
        9
    ewangke  
       2014-03-08 22:10:52 +08:00
    关于语言有两种:一种有感叹号;一种没有:)
    zakokun
        10
    zakokun  
       2014-03-08 22:12:58 +08:00
    以我这种贪心的性格,就指望一门搞精通点儿吃一辈子的饭了.
    jinnietsai
        11
    jinnietsai  
       2014-03-08 22:20:16 +08:00
    工作需要。
    alexapollo
        12
    alexapollo  
       2014-03-08 22:21:35 +08:00   ❤️ 1
    精通C,天天写Python
    用过C++和JAVA,以及Lisp,Scheme,VBS
    最近还要啃JavaScript的函数库
    ╰( ̄▽ ̄)╮ 我觉得我一定是精力过剩
    ipoly
        13
    ipoly  
       2014-03-08 22:24:35 +08:00   ❤️ 1
    @alexapollo 有多少妹子?
    tcsky
        14
    tcsky  
       2014-03-08 22:25:06 +08:00
    各种语言有各自的优势,哪个实现方便用哪个~
    terrytowne
        15
    terrytowne  
       2014-03-08 22:29:02 +08:00   ❤️ 1
    换一个视角,长期使用同一种语言会有盲点。c -> pointer, cpp -> template, Java -> OO, Erlang -> Actor, Haskell -> FP, Ruby -> BDD, Python -> 4 spaces indent ...
    RW667
        16
    RW667  
       2014-03-08 22:34:29 +08:00
    不同的语言适合不同的场景。
    如果只是拿编程做为工作或收入,说明楼主只是为了钱而写代码,不是为了兴趣
    artwalk
        17
    artwalk  
       2014-03-08 22:35:31 +08:00
    纯粹不喜欢 Java,JavaScript,Android。我也不知道为什么
    alexapollo
        18
    alexapollo  
       2014-03-08 22:38:35 +08:00
    @ipoly 有妹子就不会精力过剩了
    RIcter
        19
    RIcter  
       2014-03-08 22:39:08 +08:00
    等我长大才发现批处理太弱。。。。。
    SR1
        20
    SR1  
       2014-03-08 22:39:09 +08:00
    @terrytowne 最后一句笑抽。
    SR1
        21
    SR1  
       2014-03-08 22:44:16 +08:00
    入门是Java,学校教的是C和C++,学写网页又学了PHP,最近狂撸Python
    其实不是精力过剩,而是在选择学习中找到更适合的。

    语言是一门工具,隐藏在代码里的思想才更有价值。
    总不能不懂语言就限制了自己吧。

    而且,虽然语言很多,但大部分语言是相似的。
    学过编程泛型再学语言,其实难度也没有那么大。
    anjianshi
        22
    anjianshi  
       2014-03-08 22:44:47 +08:00
    那个学生上学为什么放弃了便装而是穿校服?
    那个出租车司机为什么放弃了捷达改开桑塔纳了?
    周星驰你到底是想当导演还是当演员?
    你为什么放弃了前任女友跟别人搞对象了?
    马云你不好好当你的英语老师你去搞阿里巴巴做什么?

    放弃一样东西总有它的理由,没必要这么忙目的去批评吗
    lch21
        23
    lch21  
       2014-03-08 23:30:59 +08:00
    因为赚的钱多。。。
    Golevka
        24
    Golevka  
       2014-03-08 23:43:19 +08:00
    其实我学很多奇葩的东西都是兴趣使然,我也不理解那些抱着功利的心态学习的人究竟在想什么,搞得什么都学不好自己还不开心。
    wuyadong
        25
    wuyadong  
       2014-03-08 23:43:34 +08:00
    @terrytowne 4 spaces indent .....
    sanddudu
        26
    sanddudu  
       2014-03-08 23:44:41 +08:00
    @exch4nge 于是我成为了爆栈程序员 XD
    GTim
        27
    GTim  
       2014-03-08 23:46:00 +08:00
    因为没妹子
    hick
        28
    hick  
       2014-03-08 23:51:43 +08:00
    汗 **是因为java拿不到高收入**才去做 c++ 比较合理...
    ericls
        29
    ericls  
       2014-03-08 23:59:54 +08:00
    很简单啊 就是为了玩儿
    exch4nge
        30
    exch4nge  
       2014-03-09 00:06:27 +08:00
    @sanddudu 于是发现找工作更难了……
    tonitech
        31
    tonitech  
       2014-03-09 00:17:23 +08:00
    php太钓丝
    jesse_luo
        32
    jesse_luo  
       2014-03-09 00:22:14 +08:00
    为了玩啊
    taotao95
        33
    taotao95  
       2014-03-09 00:23:34 +08:00
    don't judge
    nine
        34
    nine  
       2014-03-09 00:56:44 +08:00
    php开发效率太低,虽然到处招人,而且价格不低,但还是毅然转ruby了。
    coetzee
        35
    coetzee  
       2014-03-09 01:04:51 +08:00
    有的人,一下子就找到了真爱;
    还有的人,交了好几个女朋友之后,才找到真爱;
    还有的人,一辈子都在找,却永远没有找到真爱,因为他们只是享受找的过程;
    最后,还有一种,他们叫做: 屌丝
    mengzhuo
        36
    mengzhuo  
       2014-03-09 01:19:41 +08:00
    放弃php的原因……
    实在是不知道怎么继续写那混合着html、非OOP的代码

    人生苦短,我用Python
    wklken
        37
    wklken  
       2014-03-09 01:22:45 +08:00
    兴趣,用三年多java,直接转python,just for fun,然后该有的都会有。这跟学什么用什么没什么关系吧?没有乱搞这一说吧?碰到感兴趣的研究一下,不喜欢的也看看
    Mutoo
        38
    Mutoo  
       2014-03-09 01:25:24 +08:00
    看看《七周七语言》再看看王垠的文章,思想的火花会告诉你为什么。
    Honwhy
        39
    Honwhy  
       2014-03-09 01:25:38 +08:00
    公司需要!(前辈告诉我这个好,这个坑不深。。。
    monkeylyf
        40
    monkeylyf  
       2014-03-09 02:42:16 +08:00
    何谈放弃?
    alexrezit
        41
    alexrezit  
       2014-03-09 06:37:15 +08:00 via iPhone
    @terrytowne
    Python 被你黑出翔了.
    loading
        42
    loading  
       2014-03-09 06:56:32 +08:00 via iPhone
    想减少一种,准备放弃python,投入我大JaveScript
    marklrh
        43
    marklrh  
       2014-03-09 07:12:07 +08:00 via iPhone
    @terrytowne 这黑的。。
    jyhmijack
        44
    jyhmijack  
       2014-03-09 08:34:08 +08:00 via iPad
    人生苦短,多玩点东西总是好的

    因为好玩
    kuber
        45
    kuber  
       2014-03-09 08:46:04 +08:00   ❤️ 1
    作为一个写了快二十年程序的码农来说,我终于发现我的兴趣不是在为写代码而写代码,我的乐趣在于用代码和程序的思维方式解决问题,无论是工作中还是自己生活中。
    在工作中我写了十几年C#,但是公司的java 项目需要人手的时候我也会顶上去。无它,公司付我工资是让我来解决问题,不是仅仅让我来写C#,甚至不仅仅是让我来写代码。
    在生活中,当我需要写一个web site我会用python,因为python 写web比java 和C#更轻。
    当我需要的chrome extension 没有时,我只能捡起javascript 自己写一个了。
    以上。
    atie
        46
    atie  
       2014-03-09 08:52:35 +08:00
    @kuber 二十年的码农?1994年就开始写了...
    坚持20年写代码,没有转管理,牛人!!
    credochen
        47
    credochen  
       2014-03-09 09:02:05 +08:00 via Android
    因为一颗不安分的心
    sunocean
        48
    sunocean  
       2014-03-09 09:22:26 +08:00
    有多少人是奔着头像来的?
    akira
        49
    akira  
       2014-03-09 09:24:19 +08:00
    学一门新的编程语言不能说就放弃了原来的吧。
    simapple
        50
    simapple  
       2014-03-09 09:37:29 +08:00
    学习的新的是为了接触新鲜事物,没有放弃过原来的
    Epsil0n9
        51
    Epsil0n9  
       2014-03-09 09:45:39 +08:00
    java-->C++:前者码字多

    C#-->java:前者相对收入少,热爱开源的也会相对喜欢后者

    [霍拉旭,天地之间有许多事情,是人类的哲学里所没有梦想到的呢。(There are more things in heaven and earth, Horatio, than are dreamt of in your philosophy.)] ——不破爱花《哈姆雷特(第一幕第五场)》
    Epsil0n9
        52
    Epsil0n9  
       2014-03-09 09:51:15 +08:00
    学习是种自由,不要总是带着功利心态.
    也并不是你觉得没用就真的没用.
    比如说统计学R语言学习的顺序因人而异.
    而且人的价值观不一样.比如说"我就是觉得'R语言'这个名字比较帅气,所以给他赋予很高的优先权"
    SR1
        53
    SR1  
       2014-03-09 10:15:06 +08:00
    因为兴趣去学一门语言,
    也是能够连带学会其他的。
    哪有人没事干就只学语言的语法?
    楼主你想表达的是什么?
    学点有用的未来好发展么?
    有些人没那么重的功利心,
    纯粹是为了爱好。
    nooper
        54
    nooper  
    OP
       2014-03-09 10:36:42 +08:00
    @SR1 这个就好比高考,翻来覆去的学了好几遍照样考个烂。学习是培养自身的创造力和热衷于某一项领域的研究或者说单纯为了爱好。交流过一些奇葩的人,懂生物和编程,懂金融和编程,或者神马的,他们的思维完全不一样的。
    MichaelYin
        55
    MichaelYin  
       2014-03-09 10:43:10 +08:00
    其实大多数程序员相对于其他行业的人来说能更快的接受新知识,因为你需要不停的学习来应对可能面对的新的挑战,但同时负面的影响在于很多程序员的业余时间都没有用来扩宽自己的知识面,比如说恰好有2天的休息时间,很多人下意识的反应就是学一门新的语言或者修改下某个私有项目的BUG又或者写博客

    其实我们现在所受的教育更多的是一种工匠式的教育,不够健全的知识框架和架构以及逻辑思维的欠缺我觉得比技能上的欠缺更能影响人的发展,因为它直接影响到你看问题的方式,如果我们每个人看问题的方式都如出一辙,又怎么可能做出和别人不一样的东西

    相对于学习语言,我更倾向于在现在去重新搭建我个人的知识体系和框架,我认为那是比学会一门语言对我来说帮助更大的事情,比如最近我在看王力雄的书,看书的过程中通过自省会改变对很多事情的看法
    Just1n
        56
    Just1n  
       2014-03-09 11:43:42 +08:00
    @kuber C#应该还没到十年吧?
    panxianhai
        57
    panxianhai  
       2014-03-09 11:53:17 +08:00
    对于楼主来说,懂生物和编程,懂金融和编程的人都是奇葩的人,是不是楼主总结出来了,和自己的价值观和人生观不一样的都是奇葩。

    不仅仅是学习语言,比说的音乐,硬件,游泳,一周时间也是一个皮毛,和敲几行代码自己意淫一下没本质上区别。
    Just1n
        58
    Just1n  
       2014-03-09 11:57:03 +08:00
    @kuber 搞错了,十来年时间肯定有了,我思维还停留在昨晚看几年前的 virushuo 和其他人讨论的微软技术变革的帖子中没回过神来。
    rankjie
        59
    rankjie  
       2014-03-09 12:03:29 +08:00 via iPhone
    因为用勺子吃面条不方便但是我就是喜欢用勺子所以我拒绝吃面条。
    nooper
        60
    nooper  
    OP
       2014-03-09 12:11:36 +08:00
    @panxianhai 那你去找一个懂forth的人。问一下他。
    se77en
        61
    se77en  
       2014-03-09 12:44:48 +08:00
    看好golang
    mikawudi
        62
    mikawudi  
       2014-03-09 13:10:20 +08:00
    目的很明确,csharp入门的时候学的,顺便从它开始学了Thread,Socket,OO思想等等,后来学java为了android,然后琢磨C,为了弄懂内存,指针,简单汇编,以及windows API.....后来一段时间在折腾编译原理.....然后学的scheme,为了弄明白FP,中间穿插着学了html,css,javascript,php等等七七八八的东西....感觉从JS里学到的东西比较多....语言不仅仅是工具,从很多语言里能学到新颖的思路....如果觉得语言就那几个结构的时候....我觉得可以找找编程范式相关的东西看一看了,有兴趣可以看看<七周七语言>,虽然说的不深,但是蛮有意思的说
    christianwong
        63
    christianwong  
       2014-03-09 14:26:16 +08:00
    语言只是工具,精通了一门,另外一门可以很快上手
    donge
        64
    donge  
       2014-03-09 15:13:56 +08:00
    就好像换个浏览器,输入法一样,我喜欢,语言这也玩意儿也没啥不能换着用的,都是工具。
    senghoo
        65
    senghoo  
       2014-03-09 15:36:46 +08:00
    语言是工具。
    但是学习另一门语言能让你反思不通语言的差异和适用点。
    从其他语言也能学到不少思想。仅此。所以我一直尝试不通语言。。
    Lisp学习ing...
    anaJson
        66
    anaJson  
       2014-03-09 16:56:56 +08:00
    关你屁事!
    tonitech
        67
    tonitech  
       2014-03-09 16:57:18 +08:00
    语言只是工具,大学的时候大一到大三都是学JAVA的,后来大四去做PHP了,工作了两年都是写PHP,现在公司要用JAVA开发了我就花了一天时间重新拾起JAVA干事了,其实语言真的仅仅是一个工具,要用的时候去看看还是来得及的。楼主后来说的对,我们确实需要跨领域去学习,程序就是要处理各个领域的问题的,你学习了各个领域的知识业务你就能够在某个领域作出最好的产品。
    nooper
        68
    nooper  
    OP
       2014-03-09 17:50:07 +08:00 via iPhone
    @anaJson 太屌丝了你
    levn
        69
    levn  
       2014-03-09 18:24:06 +08:00
    原来提问都是为了吐槽(知乎
    terrytowne
        70
    terrytowne  
       2014-03-09 18:29:54 +08:00
    楼主强调的是领域的重要性,但是语言本身有一种美。我还记得我第一次看Haskell的qsort代码,简直惊艳,这里可以分享一下:

    quicksort :: Ord a => [a] -> [a]
    quicksort [] = []
    quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater)
    where
    lesser = filter (< p) xs
    greater = filter (>= p) xs

    好的程序不仅简单、有逻辑、模块化,不同的语言也有不同的性格,学习它们会给你带来新的人生观。

    比如说Python的duck typing,你可以体会里面的动态性;譬如Erlang的Actor并发。

    每个语言都有它们的代码风格,尽管它们都是图灵等价的,但是完成同样的事情,使用的方法不尽相同。

    没有最好的语言,只有最适合自己的风格,学习不同的编程语言也是认识你自己的过程,找到最适合自己的风格,觉醒,然后走自己的路。

    这就是我的答案,换语言不只是适应市场上的需要,也是个人修行的路径。
    xujialiang
        71
    xujialiang  
       2014-03-09 19:13:56 +08:00
    项目需要。。。。。
    imwower
        72
    imwower  
       2014-03-09 20:32:20 +08:00
    其实我一直觉得,开发语言只是一种工具而已。重要的是架构,是设计模式,是开发思想。会7,8种语言不代表什么,如果不懂更深入的层次,充其量只能算是高级码农而已。
    另外来说,学一门新的语言,可以吸收新的精华,冲击自己以前的思维定势,能融会贯通,也不错~
    就拿我来说,C#比较熟悉,但是开始学一学node。发现这两者何其类似~~从事件驱动,异步编程这些。
    千万不要说,“公司需要”,那可能以后公司不需要这种开发语言了,或者他们会找工资更低的人来做,那你怎么办?
    shibo501c
        73
    shibo501c  
       2014-03-09 20:39:29 +08:00
    语言是工具,有时候选择一个语言,是因为语言针对的领域,而且如果是了解一下函数式语言,确实对编程有不同的理解,说到底都是用现有的特性和库,更方便的实现一些功能而已吧
    davepkxxx
        74
    davepkxxx  
       2014-03-09 23:48:16 +08:00
    当初放弃C#选择Java是因为Java的社区更开放、活跃、强大。
    kamushin
        75
    kamushin  
       2014-03-10 00:10:23 +08:00
    @terrytowne 快使用Vim高版本, 远离缩进痛苦不是梦~
    unionx
        76
    unionx  
       2014-03-10 01:08:04 +08:00
    because I am better at everything
    ryanking8215
        77
    ryanking8215  
       2014-03-10 08:50:19 +08:00
    嵌入式c/c++,做过点android,懂点java,项目需要要做web和server,果断投入javascript大家庭。本来server选golang的,nodejs和golang对我来说都是新的,都一样,但是为了少学一门,就用nodejs了.
    devz1984
        78
    devz1984  
       2014-03-10 10:03:44 +08:00
    为了玩儿, 没别的原因了。


    就跟喜欢旅游的人到处玩儿一样。

    我不喜欢旅游, 就喜欢乱学语言。
    windyboy
        79
    windyboy  
       2014-03-10 10:07:07 +08:00
    有时候新语言是玩玩而已
    ruby, python之类的脚本语言和java/c++完全不一样
    语言多了解一下没什么坏处,我甚至觉得多看看可以加深对语言的认识
    对精通一两门很有好处
    soundbbg
        80
    soundbbg  
       2014-03-10 10:25:54 +08:00
    因为知道多的语言,就了解多的解决方法,了解了解决方法,就能知道什么情况下用什么方法,倒不是为了别人为了公司,纯粹和多读书一样。
    l6751902
        81
    l6751902  
       2014-03-10 11:23:19 +08:00
    为什么要放弃,同时学同时用好了啊
    iwege
        82
    iwege  
       2014-03-10 13:03:31 +08:00
    看了标题、原帖再看女神的补充,我迷茫了,女神啊,你是想知道我们的回答?还是在教育以及启示我们?
    kuochung
        83
    kuochung  
       2014-03-10 13:43:40 +08:00
    我为什放弃了一个编程语言而去做另外一个编程语言?
    我确认这种事情在我身上有的!
    情况大概都一样:有时间,有钱挣,有兴趣。
    tox
        84
    tox  
       2014-03-10 21:55:41 +08:00
    从事Android开发,为了开发高并发高性能的服务端API,选择Golang
    xheruacles
        85
    xheruacles  
       2014-03-11 00:03:52 +08:00
    Alan Perlis : A language that doesn't affect the way you think about programming, is not worth knowing.
    所以时不时需要学点新语言来改变自己的思维,作为一个C/C++的传统程序员表示,学python, ruby, clojure, java, scala, erlang...真是一大快事。而且,基本语法几个小时就差不多,关键找那些语言的特性(其所擅长的)来学,再写写代码,发现不仅学会新语言,对原来已知的语言也理解更深刻了。总的来说,更多的程序语言让我成为一个更好的程序员。
    polaris14551
        86
    polaris14551  
       2014-04-05 09:31:21 +08:00
    标题是个问句,内容是个喷。小姑娘,要谦虚啊。
    twitterpig
        87
    twitterpig  
       2015-07-27 18:17:45 +08:00 via Android
    不错的问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2848 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 06:14 · PVG 14:14 · LAX 22:14 · JFK 01:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.