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

对于新手,想学门程序语言

  •  
  •   may2157 · 2015-11-02 08:56:13 +08:00 · 10477 次点击
    这是一个创建于 3343 天前的主题,其中的信息可能已经有所发展或是发生改变。

    对于新手,想学门程序语言,哪种语言比较有潜力
    我有足够的时间投入进去
    对,就是潜力!
    各路大侠指点 1,2 呗

    99 条回复    2015-11-09 12:09:50 +08:00
    terry0314
        1
    terry0314  
       2015-11-02 09:03:47 +08:00 via Android
    非 cs 专业推荐 python...
    sunjourney
        2
    sunjourney  
       2015-11-02 09:10:56 +08:00
    时间 != 潜力,先学 python ,对编程先来点理解,要找工作就再上 Javascript/Java/PHP 中的一种,
    或者直接 Java/PHP 中的一种
    yhxx
        3
    yhxx  
       2015-11-02 09:12:17 +08:00
    python 挺好上手的
    不过要想好好学下去我感觉还是 C 和 C++
    ytf4425
        4
    ytf4425  
       2015-11-02 09:15:27 +08:00
    PHP
    madiks
        5
    madiks  
       2015-11-02 09:18:48 +08:00
    学 swift
    pheyer
        6
    pheyer  
       2015-11-02 09:20:30 +08:00
    python, 可以先搞搞爬虫
    swift ,用于 iOS 开发,如火如荼
    XianZaiZhuCe
        7
    XianZaiZhuCe  
       2015-11-02 09:24:20 +08:00
    C
    lekai63
        8
    lekai63  
       2015-11-02 09:25:51 +08:00   ❤️ 3
    我也是新手。。。
    唯一的底子是:高一时学过一些 C (撑死勉强公共计算机二级的水平),大一稍微学了点 VB (也就是二级垃圾水平)
    比较来比较去以后,我选择 Python 3 。就着 liaoxuefeng 的在线教程学习 ing 。
    IDE 自己在 VPS 上搭建了 ipython (好吧现在改名叫 jxxxx 神马的)方便公司和家里电脑随时使用。
    个人学习编程的主要目的是:提高工作效率。虽然 Excel 里借助 VBA 可以提高一定的数据处理能力,但是那也仅限于 Office 系列。对于其他场景下的一系列连贯操作, Python 只是相对于 C 牺牲一些性能,却换来更直观的编码体验和一堆既有轮子以及直接支持 unicode ,对于不做高频交易的金融从业人士而言,我觉得 Python 性价比非常高。
    WildCat
        9
    WildCat  
       2015-11-02 09:28:05 +08:00 via iPhone
    来 p2ex 必然最多的答案是 Python
    codecrash
        10
    codecrash  
       2015-11-02 09:33:12 +08:00 via Android
    其实函数式的语言也可以看看挺好玩的, scheme?
    warlock
        11
    warlock  
       2015-11-02 09:34:19 +08:00
    Golang 有潜力
    M4ster
        12
    M4ster  
       2015-11-02 09:34:41 +08:00
    Node.JS ;-)
    roychan
        13
    roychan  
       2015-11-02 09:35:41 +08:00
    不是很建议用 Python 入门,如果可以的话从 C/C++ 开始吧。
    robertlyc
        14
    robertlyc  
       2015-11-02 09:36:28 +08:00
    ruby
    ckzx
        15
    ckzx  
       2015-11-02 09:39:24 +08:00
    。。。。我就在自觉 C#...是不是走错路了?纯新手。一点 VB 经验。
    m8syYID5eaas8hF7
        16
    m8syYID5eaas8hF7  
       2015-11-02 09:41:51 +08:00
    语言没啥有没有潜力之分。
    其实入门一门语言,将来还需要学更多语言的。
    我自己做 java 开发的,到头来还是要学学好多其他的东西,比如 python/ruby/C++/Scala
    语言并没有潜力,学习能力最重要
    yepinf
        17
    yepinf  
       2015-11-02 09:44:08 +08:00
    golang +1
    harry890829
        18
    harry890829  
       2015-11-02 09:47:52 +08:00
    我当时面对选择的时候,选择了 c/c++,当时我已经确定了准备去培训班培训,主要是选择哪个语言来学习,我最后选择 c/c++的主要原因就是,要学就学最难的(当时我印象中最复杂,最难学的就是 c/c++了),如果我把这个难学的都学会了,如果以后需要转别的语言也会简单么?
    现在我 c/c++敢了 1 年半开发了,独立负责项目,带着一个小弟,然而月薪仍然没有到 5 位数,往后长远的我就没有办法说了……毕竟我也只有 1 年半的开发经验
    不过现在看到那些 ios 啊,前端啊,培训出来就要 15k 的,确实非常羡慕, java/php 现在就业要比安卓和 ios 稍微差一点吧,现在就是前端和移动端最火,要是你能快一点的话,应该还能赶得上
    simon7
        19
    simon7  
       2015-11-02 09:48:06 +08:00 via iPhone
    Python3 啊
    oska874
        20
    oska874  
       2015-11-02 09:53:40 +08:00
    python 和 c
    tracyone
        21
    tracyone  
       2015-11-02 09:54:53 +08:00 via Android
    现在 android/ios/前端的需求最高,楼主不要学什么 c/c++小心找不到工作,当然有信心学好另外一件事。
    carmark
        22
    carmark  
       2015-11-02 09:56:47 +08:00
    没有计算机基础的话,建议学习 ios 吧,因为你能看到你写的东西对应的长什么样子,更加形象。我现在就在指导我老婆学习 ios 开发,她是英语专业的。
    Perry
        23
    Perry  
       2015-11-02 09:57:30 +08:00
    Ruby...
    visionsmile
        24
    visionsmile  
       2015-11-02 10:18:56 +08:00   ❤️ 2
    楼主不应该这么问....
    正确的格式是“ PHP 是世界上最好的语言!其他的都是辣鸡,不服来辩。”
    然后坐等楼下互喷,过两天再来看,你感觉谁骂赢了就去学他说的那个语言...
    onemoo
        25
    onemoo  
       2015-11-02 10:20:54 +08:00
    同推荐 python 。
    对于非 CS ( Computer Science )专业,又没有人指导的新人来说, C/C++太难。而 python 作为瑞士军刀式的语言,各个领域的人都能拿得起来,既实用又好用。

    至于 python 学习资源嘛,官网的文档就可以。
    youxiachai
        26
    youxiachai  
       2015-11-02 10:23:57 +08:00
    js
    ...通杀三端..pc,移动, web
    qinenqiang
        27
    qinenqiang  
       2015-11-02 10:25:20 +08:00
    推荐个网站
    www.jisuanke.com
    fullpowers
        28
    fullpowers  
       2015-11-02 10:26:27 +08:00 via Android
    @WildCat p2ex hhhhh~
    jackyliudm
        29
    jackyliudm  
       2015-11-02 10:53:25 +08:00
    没有目的学东西太慢.

    所以,你应该先找个想开发的东西. 然后来问问用什么语言开发这个最快最优.
    XianZaiZhuCe
        30
    XianZaiZhuCe  
       2015-11-02 10:56:46 +08:00 via Android
    @harry890829 培训班学 c 靠谱吗
    visionsmile
        31
    visionsmile  
       2015-11-02 11:02:49 +08:00
    @XianZaiZhuCe 既然去参加培训班了,想快点找工作就去参加 JAVA/IOS 开发培训吧....
    Ouyangan
        32
    Ouyangan  
       2015-11-02 11:18:26 +08:00
    老话: 带个目的去学习 . 我个人是通过自学 java 来入行的.
    Wangxf
        33
    Wangxf  
       2015-11-02 11:22:00 +08:00
    life is short ,you need python
    ChiangDi
        34
    ChiangDi  
       2015-11-02 11:31:49 +08:00 via Android
    如果你要我推荐一门语言的话,我必然是推荐世界上最好的语言。
    seekjobs
        35
    seekjobs  
       2015-11-02 11:45:52 +08:00
    OCaml
    Comdex
        36
    Comdex  
       2015-11-02 12:44:22 +08:00
    golang
    aksoft
        37
    aksoft  
       2015-11-02 12:48:07 +08:00 via iPhone
    PHP 是最好的语言
    ibireme
        38
    ibireme  
       2015-11-02 13:52:41 +08:00
    人生苦短,来学 Python ~
    duobei
        39
    duobei  
       2015-11-02 13:55:50 +08:00
    Haskell ,既然有足够的时间。
    salmon5
        40
    salmon5  
       2015-11-02 13:55:54 +08:00
    Python3
    SonicY
        41
    SonicY  
       2015-11-02 14:06:41 +08:00 via Android
    初学可以看看 HtDP.
    lxian2
        42
    lxian2  
       2015-11-02 14:24:11 +08:00
    窝来推荐下 ruby
    winair
        43
    winair  
       2015-11-02 15:02:01 +08:00
    python 好入门
    之前看 coursera 的北大的 C 入门看的头大
    sudoz
        44
    sudoz  
       2015-11-02 15:32:26 +08:00
    @lxian2 红宝石不适合初学
    233
        45
    233  
       2015-11-02 15:35:38 +08:00
    外专业 Python
    相关专业 C 是理论基础
    qwlhappy
        46
    qwlhappy  
       2015-11-02 15:46:27 +08:00
    看学语言的目的了
    “想要加深对计算机的理解”---C
    “想要更好的利用身边的计算资源”---python
    “想挣点外快”---js ,OC 啥的
    Chilly
        47
    Chilly  
       2015-11-02 15:53:31 +08:00
    个人觉得,每门语言都有自己的侧重,具体选哪门,要看你对哪个领域感兴趣吧。比如你想搞 IOS,swift 不错;如果想搞图像处理, c 不错;如果喜欢数据分析, R 语言不错。每个人自己的工作方向不一样,推荐的肯定也不一样,我们应该只是推荐自己的领域吧。
    所以,我觉得, LZ 你应该先说清楚自己对哪个方面感兴趣吧,然后那个领域的高手会更容易的给你答案。假设,你对 A 领域感兴趣,结果大家都推荐了 B 领域有潜力的语言,然后你一看那么多人推荐某语言,然后花时间学习,最后才发现这个是 B 领域的绩优股,但是对于 A 领域并不擅长,怎么办?
    以上,只是个人建议,我的那些推荐只是为了说明我的观点,并不一定对。个人对数据分析感兴趣,虽然是小白,但我觉得 R 语言在这方面不错。
    如果 lZ 并没有特别感兴趣的领域,那就当我没说
    alexinit
        48
    alexinit  
       2015-11-02 16:02:51 +08:00
    python, 绝对值得.
    Smirnoff
        49
    Smirnoff  
       2015-11-02 16:04:15 +08:00
    Python3
    C++
    LaughingMeMe
        50
    LaughingMeMe  
       2015-11-02 16:07:18 +08:00
    PHP
    kancloud
        51
    kancloud  
       2015-11-02 16:07:28 +08:00
    对于新手 PHP/JavaScript 先上手(最好先学习下编程思想 这个和语言无关)~ 其它语言根据需要再来研究
    islandev
        52
    islandev  
       2015-11-02 16:08:58 +08:00
    python 吧 可以一边学一遍写自己的小应用
    Gem
        53
    Gem  
       2015-11-02 16:09:00 +08:00
    时间足够,明显 C++。
    erfzsven
        54
    erfzsven  
       2015-11-02 18:15:24 +08:00 via Android
    不是专业程序员。
    就我的经验来说, python 入门似乎不是很合适,主要是搞不懂对象,官方文档看不懂(还是我不会学?),虽然用面向过程的写法能写出想要的小程序来。后面接触 java 才真的懂对象的概念,才能很清楚的看懂官方文档。但是一比较 python 想写出东西来真的快多了。
    当然我的目的只是用来写小东西帮助办公。
    bdbai
        55
    bdbai  
       2015-11-02 18:52:14 +08:00 via iPhone
    与其纠结学什么,还不如马上挑一个门类开始学。这样的提问只会得到一份"编程语言列表"。
    dslwind
        56
    dslwind  
       2015-11-02 19:03:43 +08:00
    python
    Mirana
        57
    Mirana  
       2015-11-02 20:32:16 +08:00
    c->golang
    kotokz
        58
    kotokz  
       2015-11-02 21:38:53 +08:00
    c++, 到现在还在不断改进,能学的东西非常多
    jukka
        59
    jukka  
       2015-11-03 00:58:08 +08:00
    没有一个推荐 Lua 的,我感到很伤心。
    hbkdsm
        60
    hbkdsm  
       2015-11-03 02:27:15 +08:00 via Android
    谷歌技术总监 PETER NORWIG 写过一篇很有名的文章,叫 TEACH YOURSelf PROGramMING IN 10 years. 他在文章中推荐了三门适合新手入门的语言: Scheme, Python, JS.

    Python 和 js 都是极好的,资料多,学习曲线平滑,入门最合适不过。推荐 JS ,掌握 jQuery 和 ES5 之后可以去学 RUBY 。

    RUBY 会让你爱上编程!
    ninechapter
        61
    ninechapter  
       2015-11-03 02:34:16 +08:00
    国内找工作用 C++比较多,北美找工作,用 java 比较多。九章最新推出《 java 入门与算法基础班》,适合初学者。 http://www.jiuzhang.com/course/7/
    Artotria
        62
    Artotria  
       2015-11-03 08:48:13 +08:00 via Android
    @WildCat 來 V2Lang 最多的就是這種日經帖
    crazyLeega
        63
    crazyLeega  
       2015-11-03 08:50:17 +08:00
    js 。哈哈。
    jiyinyiyong
        64
    jiyinyiyong  
       2015-11-03 09:03:22 +08:00
    推荐一下我的编程语言 Cirru http://cirru.org/ 然而这不是重点

    Cirru 可以编译到 JavaScript AST https://github.com/Cirru/cirru-script
    也可以通过 Clojure Macro 生成 Clojure 代码 https://github.com/Cirru/sepal.clj
    也可以生成 WebAssembly AST, 再用其他方式运行 https://github.com/Cirru/cirru-wasm-ast
    然而还不是重点

    重点是现在火热的几个平台, Web, iOS, Android, 对应三种语言
    然而 JavaScript 可以通过引擎跑遍三个平台, 当然, 以后就变成 WebAssembly 了
    除了它, 还有 Clojure 可以编译到 JVM, 也可以编译到 JavaScript 和 .NET 的 CLR
    按照这个思路 Clojure 除了写高性能服务端, 还能开发应用, 各种平台的应用
    甚至 Web 平台以后技术越成熟, 对于 ClojureScript 发展越有利
    加上 Clojure 社区目前 live coding 技术, 力压 React, 直追 Swift, 潜力巨大!
    论坛以经准备好 http://clojure-china.org/ 微博和 QQ 群也已经准备好

    开头推荐 Cirru 主要是, 如果你跟我一样觉得括号受不了, 其实也可以用缩进语法写的...

    另外相比某些语言 Clojure 背后似乎没有大厂撑腰, 小厂倒真心挺多的
    http://clojure.org/Companies
    大概算是目前还不是主流的一个原因吧, 会好起来的
    arens
        65
    arens  
       2015-11-03 09:10:55 +08:00
    @carmark swift 和 ios 开发难道不是一回事?
    may2157
        66
    may2157  
    OP
       2015-11-03 09:11:51 +08:00
    @islandev LZ 归来,请问下,用什么编辑器好些?
    may2157
        67
    may2157  
    OP
       2015-11-03 09:16:26 +08:00
    @lekai63 LZ 已经走在 Python 的路上了,感觉 Python 还是很强大的嘛,还有你推荐的网站不错。我本半路出家都不算,我学机械的,身在数据类的公司做设备,不学门程序语言和其它基友压根没有话题了,整天 YY 女人也不好是吧。都用啥编辑器的?
    yougg
        68
    yougg  
       2015-11-03 09:16:34 +08:00
    我们这里
    做 Python 的转 Golang 了
    做 C/C++的转 Golang 了
    做 Scala 的转 Golang 了
    做 Java 的转 Golang 了
    xiqingongzi
        69
    xiqingongzi  
       2015-11-03 09:19:18 +08:00 via Android
    @may2157 Pycharm. Sublime Text
    coldfog
        70
    coldfog  
       2015-11-03 09:21:31 +08:00
    关键看你想做什么,语言是其次。应该根据想做的东西选择语言。
    Anteiku
        71
    Anteiku  
       2015-11-03 09:22:43 +08:00 via Android
    楼主我只能给你看这个了。
    [想做 C++ 方面开发,是基于 Linux 还是基于 Windows 平台?] 萧井陌:我觉得故事是这样发展的....先是纠结语言(lisp 没听过听说… http://www.zhihu.com/question/23534399/answer/24987668
    lekai63
        72
    lekai63  
       2015-11-03 09:25:20 +08:00
    @may2157 你在数据类公司的话 会不会反而 R 会用的比较多。。哈哈。这个情况我觉得公司里其他人用啥我用啥,遇到问题好解决哇~~
    Unknwon
        73
    Unknwon  
       2015-11-03 09:25:58 +08:00
    nim + rust 不解释
    lyz1990
        74
    lyz1990  
       2015-11-03 09:28:14 +08:00
    Hashell 感觉挺有意思,R画图也挺好玩,在学这两个
    geek123
        75
    geek123  
       2015-11-03 09:36:44 +08:00
    建议从前端 html 、 css 、 javascript 开始,先写点儿东西出来,找找感觉。然后往 node.js 上走走,如果还有余力可以看看 python 、 php 、 c++。语言只是入门不用太被这个局限了,初期找一门深入的学习一下,后期如果准备长期从事开发,可以跨语言的涉猎一下。我给你推荐个可以边学边练的地方,你先找几门试试。 http://www.hubwiz.com/course/
    islandev
        76
    islandev  
       2015-11-03 10:15:45 +08:00
    @may2157 sublime 或者是 pycharm
    wwjvtwoex
        77
    wwjvtwoex  
       2015-11-03 10:50:20 +08:00
    http://www.ibm.com/developerworks/cn/java/j-cb02067.html
    "Lisp 长久以来一直被视为伟大的编程语言之一。其漫长的发展过程(接近五十年)中引发的追随狂潮表明:这是一门非同凡响的语言。在 MIT , Lisp 在所有程序员的课程中占了举足轻重的地位。像 Paul Graham 那样的企业家们将 Lisp 卓越的生产力用作他们事业成功起步的推动力。但令其追随者懊恼万分的是, Lisp 从未成为主流编程语言。作为一名 Java™ 程序员,如果您花一点时间研究 Lisp 这座被人遗忘的黄金之城,就会发现许多能够改进编码方式的技术。"
    honmaple
        78
    honmaple  
       2015-11-03 10:58:48 +08:00 via Android
    那么多人推荐 python,python 的基本语法也是挺简单的,不过我是先学的 c,然后 html/css/js ,然后数据库,最后才到 python
    a358003542
        79
    a358003542  
       2015-11-03 12:07:19 +08:00
    其实现在应该推荐 javascript 了,这样人家学好了,很好找工作定位前端工程师。

    计算机专业的推荐还是老老实实从 c 语言开始学习起。

    黑客或者爱好者当然推荐 ptyhon 。
    limuxy
        80
    limuxy  
       2015-11-03 12:35:12 +08:00 via Android
    Golang 入门会疯的吧……
    bramblex
        81
    bramblex  
       2015-11-03 12:49:08 +08:00
    JavaScript

    烂是烂,但是放那里都能跑。而且只要学一点点就可以做一个酷炫的网页立马看到效果。

    至于说 JS 这个不能干,哪个不能干的人,基本上都是渣渣。人家大神能拿 JavaScript 写 VM ,我也能拿 JavaScript 写个 Parser/Lexer 啥的,水平怎么样其实跟你能熟练用哪门语言没太大关系……( Haskell 除外)
    maemolee
        82
    maemolee  
       2015-11-03 13:20:38 +08:00
    Python 啊 www
    然后学 OC ,赚点儿零花钱买台好电脑转型 win10 开发 www
    chengkai1853
        83
    chengkai1853  
       2015-11-03 15:55:05 +08:00
    ruby...开速开发,有精力就顺带把前段的 javascript 一起学了。感觉 javascript 是通用语言。再者要针对某个方面的话就针对的学吧
    colinlet
        84
    colinlet  
       2015-11-03 16:56:12 +08:00
    全栈工程师
    bdbai
        85
    bdbai  
       2015-11-03 18:24:21 +08:00 via iPhone
    @yougg 你们七牛?
    SpaceOddity
        86
    SpaceOddity  
       2015-11-03 18:44:01 +08:00 via iPhone
    @visionsmile 好机智...
    msdlisper
        87
    msdlisper  
       2015-11-03 19:39:48 +08:00
    lisp 或 scheme
    RqPS6rhmP3Nyn3Tm
        88
    RqPS6rhmP3Nyn3Tm  
       2015-11-03 21:37:52 +08:00







    Cu635
        89
    Cu635  
       2015-11-03 22:16:12 +08:00
    lz 是干什么的?什么专业?

    学习程序语言是出于什么目的?兴趣?工作 /科研需要?还是什么?
    Robias
        90
    Robias  
       2015-11-03 22:30:37 +08:00
    @BXIA PHP 好惨。。。
    illuz
        91
    illuz  
       2015-11-03 23:21:09 +08:00
    @lyz1990 Haskell 吧。。。 Haskell 潜力并不是很足,而且不适合新手呀。
    Tedcoding
        92
    Tedcoding  
       2015-11-03 23:32:05 +08:00
    我觉得要根据 LZ 以后想从事的行业来说吧,如果想从事程序员,建议还是 Java 、 C 、 C++其中选一个吧,刚开始基础打打牢,趣味性的话,学习 java 可以做 Android ,学 swift 还能搞 iOS ,这样能够直观感受到自己的进步
    zhuangzhuang1988
        93
    zhuangzhuang1988  
       2015-11-03 23:51:31 +08:00
    typescript..
    bramblex
        94
    bramblex  
       2015-11-04 00:09:34 +08:00
    @illuz

    但是能学会 Haskell 的人,潜力都无限啊……
    gaoxt1983
        95
    gaoxt1983  
       2015-11-04 10:30:12 +08:00
    rust
    JamesRuan
        96
    JamesRuan  
       2015-11-05 00:48:25 +08:00
    Erlang ,超简单,还能顺带学到分布式思想。
    may2157
        97
    may2157  
    OP
       2015-11-07 18:40:53 +08:00
    @islandev 对就是你。 LZ 在 python 的路上走了几天了,用的是 sublime 编辑的,现在遇到一个问题就是:在 sublime 上编辑好想调试下是什么结果,怎样在 sublime 上配置 python 调试呢?
    代码如下:
    ------------------------------------------------------------------------------
    # -*- coding: utf-8 -*-
    # 这是一个一元二次方程
    import math
    def quadratic(a,b,c):
    nx1=((-b)-math.sqrt(b**2-4*a*c))/(2*a)
    nx2=((-b)+math.sqrt(b**2-4*a*c))/(2*a)
    return nx1,nx2

    print('请输入一元二次的三个参数:')
    a=int(input('a='))
    b=int(input('b='))
    c=int(input('c='))
    print('%dx**2+%dx+%d=0'%(a,b,c))
    print(quadratic(a,b,c))
    --------------------------------------------------------------------------------
    当执行到 input 时没有界面跳出来输入 a=滴,咋怎?
    交互界面>>>被谁吃掉了?
    may2157
        98
    may2157  
    OP
       2015-11-07 18:49:26 +08:00
    @Cu635 LZ 是一位年轻工业产品设计师,从产品结构开发设计到一线开模具生产,再到客户手中的产品(含产品说明书编辑,包装设计,运输安全)。请依此推断我专业呗?哈哈
    我认为设计思维是没有局限性的,工业产品设计的思维架构到程序语言的设计上,是会什么样子呢?这就是我学习目的(别说我有研究精神,我有的是时间!)
    islandev
        99
    islandev  
       2015-11-09 12:09:50 +08:00
    @may2157 额 调试我一般在 pycharm , sublime 我也是在自己尝试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2811 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 13:42 · PVG 21:42 · LAX 05:42 · JFK 08:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.