个人觉得新手学编程还是先Java等静态语言为好,而不是Python - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
banxi1988
V2EX    Python

个人觉得新手学编程还是先Java等静态语言为好,而不是Python

  •  
  •   banxi1988
    banxi1988 2012-11-24 12:48:09 +08:00 13568 次点击
    这是一个创建于 4751 天前的主题,其中的信息可能已经有所发展或是发生改变。
    RT:
    以前我在ubuntu论坛的时候,见到有不少人觉得Python适合初学者。
    有些时候,我也那么觉得,但是现在我的观点改变了。因为前两天我GirlFriend说她想学编程。
    然后我仔细想了下,学什么能够直接切入主题些,不能在开始时就被各种问题折腾。

    (1)我承认python有ipython这么一个非常不错的学习工具。
    但是还是不如Eclipse这个优秀的IDE。也许因为Java是静态语言吧。写代码的时候,各种错误,什么的都有很好的提示,语言也很规范。
    python的错误提示,常常就是一句"Invalid Syntax" 然后没有了。这对新手来说几乎没有什么用。
    但是还有一个很重要的一点就是,我个人很喜欢重构这本书,然后,想想,支持python重构的ide,几乎还不成熟或者支持的重构很少。

    (2)对于中国人说更是如此了,Java对unicode支持不用说,但是python就不一样了。
    我都为此,折腾到心碎了,更别说新手了。
    还有python中的tab和space工,缩进啊,这个对于新手肯定不友好。

    (3)很多新手以前也放学过C类的语言,如此再想进入IT行业,还是Java类语言比较合适。
    各种学习资料,视频资料。懂的人也多,也许我们身边10个就有5个是会Java的。但是Python呢?


    所以。
    59 条回复    1970-01-01 08:00:00 +08:00
    Radeon
        1
    Radeon  
       2012-11-24 12:50:30 +08:00
    Java当然比Python好
    mercurylanded
        2
    mercurylanded  
       2012-11-24 13:16:13 +08:00
    python适合新手还有一个原因是构建应用比java要简单。可以很快让新手看到学习的成果。
    lesscome
        3
    lesscome  
       2012-11-24 13:18:02 +08:00
    java是静态语言吗?
    notedit
        4
    notedit  
       2012-11-24 13:27:09 +08:00
    1, python的错误都有一个错误栈的 不是你说的只抛出Invalid Syntax.
    2, python对unicode 哪里支持不好?
    3, python的学习资料也很多. 至于你说身边的人数量问题,python是相对小众一些,但是你遇到的问题一般都可以通过google解决.
    sNullp
        5
    sNullp  
       2012-11-24 13:36:18 +08:00
    python3对unicode支持已经相当完美了。
    另外我觉得python对缩进的严格要求是对新手很有帮助的。
    kid7st
        6
    kid7st  
       2012-11-24 13:38:40 +08:00
    我觉得C和Pascal都很好,想不通为什么java会比python适合新手
    ooscrewyou
        7
    ooscrewyou  
       2012-11-24 13:40:38 +08:00   6
    无力吐槽了
    首先定你的目的是什
    如果目的是系地科地零始程,那scip始吧。跳出作工具的言的框架,编程最基的概念。http://www.eecs.berkeley.edu/~bh/sicp.html
    如果你更加注industry,注重於build things,Java是一。人更加喜Python,Ruby言。Because they make my life easier.repl,高阶函数,duck typing些特性大大提高效率,另外Python和Ruby都是很流行的言,社很活,各第三方,有很好的package manager(pip,rubygem)

    另外於主的三:
    1 我没你的都是Invalid Syntax的提示,是不是因你不熟悉python,老是出的法。
    2 pythonunicode支持存在,不和程有,只是理某些麻。至於人喜好。我就很喜,不太喜Ruby面各do end。
    3 如果想入IT行,是Java比合,可能吧,我不心IT行,我只是想成一更好的程序。Python的料不少。程序英文很重要,我在某本Java上看到的特根斯的一句quote,原忘了,大意是If I spoke a different language, I would peceive a different world.言不是交流的工具,是表思想的媒介,不同的言有不同的表能力,言,不管是自然言是程言,拓人的思路,助你思考,然思想是先於言的,我遇到英文很差,但是思很好理科得很好的人。在CS的世界,英文是通用言,如果是初,烈建直接第一手的料,早英的境。
    khotyn
        8
    khotyn  
       2012-11-24 13:50:32 +08:00
    对于新手只有一个建议,挑一门语言,然后坚持,与其纠结是用 Python 还是 Java,不如马上动手。
    banxi1988
        9
    banxi1988  
    OP
       2012-11-24 14:15:11 +08:00
    @ooscrewyou 首先我觉得你的回复很有质量。感觉高我好几个层次。
    我要说明的一点是:场景是新手。
    (1)因为是新手,所以容易出现Invalid Syntax错误。
    另外 @noteedit 对于语法错误来说,异常栈,常常让人觉得更奇怪。新手会想,
    出来一堆东西,真令人讨厌。
    (2)unicode对于学编程还是很有影响的,要知道很多新手竟然喜欢用中文命名。
    而且新手开始会经常进行IO方面的操作。所以。
    (3) 关于英语学习环境,虽然我个人经常看英文文档,也首选英文文档,甚至强迫自己看英文文档,即使有中文文档。 但是当我看到文档中的中文还是很开兴,很兴奋。也许这就是对母语天然的爱。
    但是E文就不同了,对于新手来说,E文就是墙。我学django看到是官方文档。但是如果是新手我会推荐中文的。愿望虽然好,但路还是需要人性化。
    吃得苦中苦,方为人上人。这不是人性化的学习方式。
    ooscrewyou
        10
    ooscrewyou  
       2012-11-24 14:40:20 +08:00
    @baxi1988 有些西是天生的 或者是受早期生境影 成意根於性格 就我自己来说 我小就喜外 高中的候不太作 一般都是先做英文作 因不用筋 尤其是理解 就是看故事 我也不刻意背之的 主要是自己造一英文的境 比如操作系用英文 玩魔世界用美服客端 在至少在cs方面 用技之的原文什大的障了 我看书都是直接看英文 一本中文 出於自 我才不信者的水平有我高呢
    zenomac
        11
    zenomac  
       2012-11-24 14:45:33 +08:00
    想尽快找工作糊口的新手 当然java

    楼主所谓的那几个坑 其实真不算坑。。
    Muninn
        12
    Muninn  
       2012-11-24 14:46:38 +08:00
    不说别的了 每次看到有人说unicode 的问题 都无力吐槽
    学个语言玩 还要学旧版本的 然后痛斥新版已经解决的问题
    和那些现在还在吐槽xp的人一样
    jjx
        13
    jjx  
       2012-11-24 16:31:04 +08:00
    善用工具,像非法语法之类的 只要用linter之类就可以解决,如sublime text2装个sublimelinter 输入show error list就可以看到了
    pycharm /pydev 都集成的

    出错一堆信息,比java好多了,python的出错时最容易定位的,因为python调用层次少,不想java/dotnet ,一大堆无关的堆栈


    用中文命名的我就不评论了

    python现在的中文书籍,现在出的更多了,买python 标准库,cookbookm核心编程,然后再啃英文,已经很好了,不像前几年了
    AntiGameZ
        14
    AntiGameZ  
       2012-11-24 16:48:33 +08:00
    各有各的方法论。你说到IDE有错误提示功能,Word对语法错误也有提示功能,但是我也听过无数英语老师大力谴责用Word练写作(虽然我不这么认为)。

    只是不同的人不同的说法罢了。Python有Python的好,C也有C的优势。别忘了,大多数时候人们所谓的学编程,不过是学某种语言的语法罢了。就这个层面上来说,C真的是最简单的了。至于运用,完全是另外一回事情。
    VYSE
        15
    VYSE  
       2012-11-24 17:19:14 +08:00
    不先学C?
    ant_sz
        16
    ant_sz  
       2012-11-24 22:43:33 +08:00
    不喜欢Java,它让人感觉不到编程的乐趣

    本来就是适用与大企业大组织的语言,使用起来不是很灵活。

    对于初学者来说,最好的学习方式就是进行一些小的项目,Java在这方面的方便性不如 Python,日常编写小工具也不适合。

    总之,Java这种东西日常无论是初学还是使用都不推荐。连 Hello World 都要写一个类的语言实在是不能让人萌发兴趣,尽管 Java 的确是我学习的第一门编程语言。

    如果单指的是在大学里开课的话,我也同意初学 C 会比较好,Python 和 Java 封装了太多的底层,过于远离硬件。学习C有助于不光是对学习编程语言有帮助,对于理解操作系统、内存管理等等都很有用。
    yetone
        17
    yetone  
       2012-11-24 23:48:28 +08:00
    先学机器码,再学汇编!嗯,就是这个样子!
    shaufan
        18
    shaufan  
       2012-11-25 00:05:35 +08:00
    我看一本叫《黑客家》,PG的。面JAVA的有很到的解和分析(其多是吐槽),大部分我都得很有道理。

    我,如果想作人或者企做大PROJET的JAVA是不得不……
    但如果是出於趣自,短期希望一小PROJET的,PYTHON是最先的之一吧。

    的,我得程言是越接近人言、越抽象化的,越合程基的新手。最蠢的方法是比一下各自HELLO WORLD程序的句行……?

    -------------------------------Java----------------------------------------
    public class HelloWorld {

    public static void main(String[] args) {
    System.out.println("Hello, World");
    }

    }
    ------------------------------Python----------------------------------
    print "Hello, World!"


    以上新手愚:)
    insraq
        19
    insraq  
       2012-11-25 00:14:45 +08:00
    Write Java for food, write Ruby for fun.
    ivanlw
        20
    ivanlw  
       2012-11-25 00:15:00 +08:00
    @ant_sz 你什么大学的??
    C语言课程有可能跟我涉及操作系统?真扯淡
    dingstyle
        21
    dingstyle  
       2012-11-25 12:48:29 +08:00
    @ivanlw 手动内存管理,指针,段错误这些C中的概念,都和现代操作系统是息息相关的,建议你看看CSAPP这本书,理解会更深刻
    tioover
        22
    tioover  
       2012-11-25 13:04:54 +08:00
    先学C比较好
    aisk
        23
    aisk  
       2012-11-25 13:30:17 +08:00
    到底哪个好,让你妹子写一个读写文件的程序就知道了
    chloerei
        24
    chloerei  
       2012-11-25 13:57:14 +08:00
    看多了这些讨论之后发现大学的课程还挺好的,门电路、汇编、C、C++、Java、数据结构与算法一波啦全学了,额外再参加数学建模用了 Lingo 和 Matlab 这样的工具箱。当然各门掌握都不高,不过不用困扰「先学」什么的问题了,统统都学。
    banxi1988
        25
    banxi1988  
    OP
       2012-11-25 14:46:59 +08:00
    @shaufan 单纯一个helloworld是不能说明问题。我想要说明的是,学那个,在开始的时候,不会遇到那么多奇怪的问题。
    遇到问题了也好解决。
    同时,@aisk 你知道java的IO大量使用了设计模式。所以。对于新手这也不是问题。
    对于这些普通的问题,直接Copy现成的代码就可以了。
    banxi1988
        26
    banxi1988  
    OP
       2012-11-25 14:51:10 +08:00
    @Muninn 我知道py3解决了很多问题,关键是用py3,支持py3的不多,至少目前是。
    至于你举例说的xp就更是如此了。你应该知道xp在国内的还有多少粉丝的。
    至少现在来说py2.7还是主流,接下来一大段时间也会是。
    我个人使用py也有好几年了,会什么我现在还觉得py的unicode支持困扰我。
    你可以说我是小白,但是问题确实存在。
    banxi1988
        27
    banxi1988  
    OP
       2012-11-25 14:56:06 +08:00
    @ant_sz 嗯,我感觉是写熟悉的喜欢的代码就开心。
    就算是Java,我想,当你喜欢上《重构》这本书之后,你也会觉得 写Java代码也是艺术设计 。
    也会开心的。
    同时 @insraq 写Java也可以很开心的。就好比,英语好的人说英语也开心。
    如果写的时候,想到Java的性能比Ruby可能好一个数量级,可能也会很开心的,因为自己写的代码,就好比自己的孩子,自己的孩子性能比较好,是不是会开心呢?
    LionRoger
        28
    LionRoger  
       2012-11-25 15:07:17 +08:00
    从逻辑上讲,刚觉都没说到点上,如果说新手适合的是Python,JAVA不适合,那意思就是如果不是新手那就是和JAVA不适合Python? @ooscrewyou 说的很好啊,重要的是思想。话说回来,真的想学编程一开始不是应该把什么是编程搞懂?可以尝试用各种不同的语言写出HELLO WORLD,再大致了解原理与系统的时候,用大局观念去判断自己更喜欢或者说更适合哪种语言,而不是一开始就到处去看人多口杂的别人的观点呢?
    reus
        29
    reus  
       2012-11-25 15:09:42 +08:00
    如果是专业程序员,那应该什么语言都学,从哪个开始并不重要。
    如果是业余程序员,那要明确学习的目的。因为要达到某些目的,是不需要学习通用的编程语言的
    REBOL,AutoIt, AutoHotKey, excel这些脚本语言或者编程环境,有时更适合非专业的爱好者学习使用
    kran
        30
    kran  
       2012-11-25 16:15:47 +08:00
    c cpp
    BigZ
        31
    BigZ  
       2012-11-25 16:36:45 +08:00
    看你学来干什么,要是准备投身程序员,靠这个吃饭,建议你从c学起,码农入门不建议选择动态语言

    如果是用来操作计算机干点编程的零碎活,挑一个能实现你目标最简单的编程工具
    loading
        32
    loading  
       2012-11-25 16:40:15 +08:00
    个人感觉写单片机的汇编最好,特别是那种连乘法都没有的,一共几个语法,曲指可数,内存回收?自己陪的地址,随便重用,要多高效有多高效
    ywencn
        33
    ywencn  
       2012-11-25 16:47:27 +08:00
    这种讨论是没有结果的。。。
    wuShiJingZuo
        34
    wuShiJingZuo  
       2012-11-25 19:07:07 +08:00
    人生苦短!
    jamiesun
        35
    jamiesun  
       2012-11-26 13:49:05 +08:00
    学VB吧
    zyAndroid
        36
    zyAndroid  
       2012-11-27 09:49:58 +08:00   1
    “不喜欢Java,它让人感觉不到编程的乐趣。”
    恩,人生苦短,大家快拯救下LZ的GF
    :)
    neek2000
        37
    neek2000  
       2012-11-27 09:55:31 +08:00
    Python是把利器,给小孩玩刀,总是会割到手的
    money
        38
    money  
       2012-11-27 10:40:34 +08:00
    与其在这里讨论这个问题,不如马上行动,记得我开始时也在纠结过这个问题,但是无果
    banxi1988
        39
    banxi1988  
    OP
       2012-11-27 12:45:13 +08:00
    @neek2000 这个说得很中肯。虽然Java也是把利器,但是是传统利器,就好比是火,大家都知道他的危险。
    但是Python不是主流的武器,大家对它的伤害不好接受。
    banxi1988
        40
    banxi1988  
    OP
       2012-11-27 12:59:12 +08:00
    @ant_sz
    (1)我在之前有说,其实懂得好的写软件的技术,如重构啊,设计模式啊,写这些都有乐趣,
    当然我也是从读了重构一书,才感觉到不少乐趣的。因此觉得乐趣这种东西,跟语言有一点关系,
    但不是决定因素,也不是主要因素。
    (2)我发现很多人都建议从底层学起,但是只是说对操作系统等等有了解。
    但是,有时候觉得这种想法有点一厢情愿。就说我身边的一些很多的大学同学吧,学了C,C++,操作系统,照样对这些没有什么了解。对于这些东西 ,其实底层的就是高层的,深层的东西 。
    虽然有对于理解计算机系统有些帮助 。但是这将软件开发层次停留在80-90年代。
    (3)现在的软件开发,已经到了分工细化的时代了。有了更多的积累的软件开发技术,
    也有了更多的软件开发积累。在软件开发也产生比较显著的分工。就好比一个前端,不需要知道C也可以是一个好前端。因为没有多大的关系。
    (4)对于一个新手来说,站在巨人的建立的台阶上,对于大部分人来说,各有分工,各有所专,才是时代的潮流。
    (5)当然,还是需要一些创造者,一些重复造轮者。

    回到Python Or Java上面来说。
    Python相比Java来说,就是不规整,对于正常的一般人来说,Java看起来更合适,因为是精心设计的。
    iwege
        41
    iwege  
       2012-11-27 13:13:59 +08:00
    那按照楼主所说:

    我觉得,最好的还是Javascript。

    主流,开源,资料一大把,绝对够资格了吧?

    想要研究?网页另存为,多happy? chrome自动格式化,所有调试都可以在浏览器里面完成?

    你是新人? 想研究什么?特效?javascrpt配合dom,底层?server?nodejs也提供面向桌面的。

    移植性不如java?你都要跑eclipse了还跑不起一个chrome?

    至于错误神马的,有各种代码可以copy研究。并且同时熟练同步异步编程、桌面、服务器端。

    然后楼主还想要比性能么?对一个新人来说,都跑eclipse了还在乎性能?开玩笑吧?

    类的继承?原型继承?统统一网打尽。

    想玩其他的源码风格?coffee-script typescript 还不够你嗝屁的?


    最后说了这么一大堆,其实新人最终成为码农的时候,大家都知道会用类似ror一样的玩意快点完成任务然后去玩自己的东西。

    至于把Java当作实力语言,一个很严肃的问题:

    10个码农人有5个玩Java,职位只有一个,竞争多么激烈啊?
    l0wkey
        42
    l0wkey  
       2012-11-27 13:17:00 +08:00
    学VB [捂嘴笑]
    banxi1988
        43
    banxi1988  
    OP
       2012-11-27 13:24:07 +08:00
    @iwege 这个确实,我觉得Javascript+html+css是一个很好入门道路。
    我想我可能会采取这个方法的。
    chrome+sublime text2加一些插件,就很不错了。
    但是不能Copy。要真的学Javascript还是得自己手写来学,应该学习《Javascript高级程序设计》
    css也是一样,应该完整的学习《CSS权威指南》。
    对于界面有足够的思考。前端能够很快让人做出一些可以看得到的东西,能让人有成就感,
    女生入门之后做前端也是一个很好的方向。
    cpylua
        44
    cpylua  
       2012-11-27 15:05:30 +08:00
    A quote: "Java is write once, run away." 个人不推荐让新手接触Java那种OOP
    yangxiaoyong
        45
    yangxiaoyong  
       2012-11-27 15:10:44 +08:00
    Java 没有认真去接触过, Python, 嗯,那真是写的一个叫爽。

    真心建议楼主花点时间在 Python 上。 BTW, Java 真不是静态语言。
    Narcissu5
        46
    Narcissu5  
       2012-11-27 15:38:16 +08:00
    还是java好点吧,写错什么编译器首先就不答应
    cpylua
        47
    cpylua  
       2012-11-27 16:25:34 +08:00
    @yangxiaoyong Java真是静态显式强类型语言,语言的静态动态一般是按在什么阶段enforce type system constraints划分的
    ant_sz
        48
    ant_sz  
       2012-11-27 17:12:20 +08:00
    @banxi1988

    也许是我们看问题的角度不同,你更多的是从产业化的角度来看问题的,因为java规整和严格的语法,程序员在参与大型项目的时候是有必要了解他的。而我则主要从极客的角度来看问题,像java这样的特性就没必要。

    java的精心设计并不意味着python的代码不是精心设计的。实际上,java的代码可以写得很丑,而python则精心设计了语法,让一切都很自然,强制缩进规则实质上是强制你写出至少形式上是规整的代码。必须要牢记,程序员和码农只是一线之遥。因为语法上的规整而认定大部分人都适合什么语言是不正确的。

    在黑客与画家一书中提到,动态语言等适合在开发过程中动态的更改需求,更适合现在瞬息万变的市场竞争,实际上我们看到,从twitter开始,各种成功的创业公司都在采用开发效率更高的语言,其中包括基于jvm的scala等。这表明现在的程序员对工作时的工具提出了更高的要求,同时也更加强调创造力和舒适度。语法规整的重要性已经下降很多了。

    其次对于底层和效率的问题,我承认现在的分工很细致,但也并非没有涉及底层的程序员。实际上,现在的上层程序员实在是过于泛滥,反倒是底层的比较抢手。实际上,即使是java程序员也需要对底层有所了解,并不是把一切交给虚拟机来优化就万事大吉了。同样的java程序不同的实现方法效率会有很大差别。因此有必要从一开始就把这些基础打好,因此学好c是很重要的。

    我希望我们这里讨论的至少是有理想的程序员,大学中是有很对人基础的操作系统等知识都没学好,但这并不意味着这种现象是合理的。这不光是个人的原因,也有教育等诸多因素。虽然抛弃这些基础,也能来开发软件,可是日后发展必将遇到瓶颈,就像当初java盛行时有一种观点认为以后编程不在需要数学功底算法了一样,认为只需要学习表面的技术就可以的看法是完全错误的,你将局限于作为一个简单的开发程序员,而很难进一步发展。等到年纪大了如何跟年轻力壮的青年竞争。

    在互联网时代,难以复制的才是有价值的,google,facebook这些巨头的核心竞争力还是在算法和底层,能够做表层应用则门槛太低,真心不缺人,腾讯随时都有大把这样的开发人员闲置,坐等新潮流来复制,而且这条道路并不好走。所以一个程序员要有更大的发展,底层的基础在早期是一定要打好的。

    此外,推荐c的一个原因还有他几乎是包括java在内大多后来编程语言的前辈和学习者,学好c以及理解c的编程思想有助于学习其他编程语言,而一个程序员如果只会一门语言,即使再精通也不可能有太大发展。程序员有必要不断提高自己才不会落后,尤其是在大学里的预备程序员,大学里空闲时间那么多,学多少东西都够了。因此c依然是初学者首选这个观点是很有道理的
    liuyanghejerry
        49
    liuyanghejerry  
       2012-11-27 22:56:59 +08:00
    为啥我觉得PHP编程入门最简单呢= =

    @ant_sz 最后一个观点我不是很认同,编程语言会多少跟自身发展没什么直接关联,语言之后的实际背景、环境、模型、生态体系等等才是关键。学习PHP、RoR重要的在于理解B/S模型,C/C++重要的在于系统编程,Erlang、JS重要的在于并行并发。当然有些语言配套库很多,一门语言就能搞定多个领域。依靠多学语言来获得发展,难以逃脱整天啃语法糖、纠结语法细节的结局。

    C的内存模型相对来说最简单,特性也比较少,从这一点来说适合新手入门确实没错。
    banxi1988
        50
    banxi1988  
    OP
       2012-11-27 23:01:59 +08:00
    @ant_sz 对于有理想的程序员来说,你说的很有道理,值得学习。
    真正学好编程也真不是一年两年的事。对于减少新手入门,希望能看到你深入的见解。
    我的一个简单的想法就是:人性化,不要太geek,减少入门的痛苦,增加入门的甜蜜。
    yegle
        51
    yegle  
       2012-12-07 22:06:53 +08:00
    有句话说出来可能有点刺眼。

    9楼说自己是个新手。新手给另一个新手推荐入门语言,不觉得很可笑?
    banxi1988
        52
    banxi1988  
    OP
       2012-12-07 22:58:19 +08:00
    @yegle 因为同是新手,没有什么代沟。
    young
        53
    young  
       2012-12-07 23:22:18 +08:00
    唉~~ 楼主又挑起了战争
    语言就是一种工具,主要还是自己的思维能力
    hxgdzyuyi
        54
    hxgdzyuyi  
       2012-12-07 23:28:30 +08:00
    不知道几年以后lz看到这个帖子会是什么想法
    Mutoo
        55
    Mutoo  
       2012-12-08 00:07:29 +08:00
    我就不跟大家争了。难得LZ女朋友想学编程,推荐 processing ,简单易懂,以图形交互为主,比传统的字符界面或窗体程序都要好玩,女生比较容易喜欢。我GF学完表示非常有意思。
    jarlyyn
        56
    jarlyyn  
       2012-12-08 02:26:34 +08:00
    python可能不是最适合程序员的语言,但肯定比java合适。
    首先。楼主,只要你想写程序,缩进是必须要养成的习惯。
    其次,请自行比较helloword程序员长度。
    第三,ide?除了写c#我用过monodeveloper,实际工作中使用的都是kate……
    第四,可能我学过写过的语言太杂,但是作为程序员,用的什么语言重要么?项目需要的话,换语言开发很正常吧。关键还是经验--之大什么是错的,查找文档的能力,熟悉各种库,以及
    jarlyyn
        57
    jarlyyn  
       2012-12-08 02:29:41 +08:00
    转我自己以前的某贴,或许你见过。
    其实,就我用过的这10来们语言来说,一门完备的编程/脚本语言,基本都能完成你所需要的部分功能,差别无非在效率的高低,公共库的多少而已。撇开生态环境,就语言本身来说,不少主流语言都有其鲜明的特点。比如lua突出本身的简单,比如我所没有接触过的perl所推崇的用多种方法解决同一个问题。而python给我的感觉,就是规范,易读。

    python的优点:

    语法里强制缩进,强制命名空间,不使用容易产生魔幻效果的花括号和分号,使得不同程序员写出的代码风格高度的统一。能让人从一开是就养成良好的的习惯,也让你能很容易的学习别人写的python程序
    作为一门出色的脚本语言,有着极出色的使用范围。web有django,web.py,GUI有pygtk/pyqt,一抓一大把的范例程序,就算用来维护系统,也是很好的选择。大部分发行版都预装python,yum甚至都是用python写的。不光学习的资源多,学好了用途也非常广泛。
    跨平台做的很不错。linux下自不用说,win的python表现也还说的过去。magoo,android上也有pytho的身影。不至于让人当心觉得学了后派不上用处
    主流语言的元素齐全。学好后转任何一门程序都不会很吃力。
    很简单的就能出可见的成果,这样在学习的过程中不断的有使用价值的产品出现,能不停的激励自己提供动力。
    总的来说,我认为最适合初学者的理由,还是第一点。从我的角度来说,语言只是门工具,过多的把创造力放在语法上,反而不容易集中在开发本身上。撇开这点,对于初学者来说,就如同学写字要从方方正正的字体开始一样,脚步走的踏实了是最重要的。如果什么时候觉得pyhon限制的你的天赋的发挥,再换语言也不迟。反正编程这东西,是一理通,百理明的。

    所以,我推荐,新学编程的人,从python入门。
    ccming
        58
    ccming  
       2012-12-08 07:28:56 +08:00
    学lisp
    pepsin
        59
    pepsin  
       2012-12-08 08:38:56 +08:00
    个人觉得与其说那么多不如随便拽本教程开始学。

    过程碰上问题就搜。就是搜,看,写代码,搜,看,写代码的循环。这个好那个好的,其实都差不多。无非是多几个轮子少几个轮子而已。

    一旦你嘴巴不动开始用脑子和手指了,哪种语言都不重要了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2727 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 14:59 PVG 22:59 LAX 06:59 JFK 09:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86