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

请教各位大大,你们对编程是怎么理解的。或者这么说吧,你们认为编程是什么?

  •  
  •   lenran · 2015-11-25 22:15:09 +08:00 · 9404 次点击
    这是一个创建于 3287 天前的主题,其中的信息可能已经有所发展或是发生改变。

    精通各种语言的大牛,可以从不同语言的角度
    比如:
    C\C++
    Java
    Python
    PHP
    Lisp
    乃至汇编,shell script ...
    来说明。

    第 1 条附言  ·  2015-11-26 00:09:13 +08:00

    看到各位不啬赐教,我也来说说我对编程的理解吧:
    通过使用逻辑和算法处理各种类型的数据,以达到解决各种实际和抽象问题的目的。这是我现阶段的理解,要是有误,还请各位不要见笑啊!

    第 2 条附言  ·  2015-11-26 21:32:18 +08:00

    对于编程的见解有这么多,涨姿势了!

    102 条回复    2015-12-04 21:27:53 +08:00
    1  2  
    C1ara
        1
    C1ara  
       2015-11-25 22:20:22 +08:00   ❤️ 3
    渣来答 构建另一个世界的黑魔法:)
    分成不同派系 各派魔法师虽然互相看不顺眼但又惺惺相惜
    “闭嘴麻瓜只有魔法师才有资格互掐!”
    easychen
        2
    easychen  
       2015-11-25 22:23:02 +08:00   ❤️ 1
    DRY 。
    bramblex
        3
    bramblex  
       2015-11-25 22:24:55 +08:00
    写毛的代码,写 Generator 来生成代码……
    lenran
        4
    lenran  
    OP
       2015-11-25 22:25:46 +08:00
    @easychen 请问'DRY'是什么意思?
    easychen
        5
    easychen  
       2015-11-25 22:27:22 +08:00   ❤️ 1
    reticentfat
        6
    reticentfat  
       2015-11-25 22:35:50 +08:00   ❤️ 1
    输入,逻辑处理,输出
    wy315700
        7
    wy315700  
       2015-11-25 22:40:23 +08:00 via Android
    我们不生产代码,我们只是代码的搬运工。
    lenran
        8
    lenran  
    OP
       2015-11-25 22:41:10 +08:00
    @bramblex 什么都用 Generator 来生成,那要程序员干什么?
    lenran
        9
    lenran  
    OP
       2015-11-25 22:43:09 +08:00
    @wy315700 你当搬运工这么久,想是见过了不少高手的代码了!
    yytsjq
        10
    yytsjq  
       2015-11-25 22:50:01 +08:00
    让机器替代人工?
    starship
        11
    starship  
       2015-11-25 22:51:44 +08:00   ❤️ 1
    庖丁解牛,能够看到事物的本质,并能够按照自己的目的来改造它。比方说我看到一个软件或者一个网页某个元素的位置不舒服,就会研究并改变它的代码,或者利用一些工具来让他变得顺眼。——来自一个电脑爱好者,非程序员。
    lenran
        12
    lenran  
    OP
       2015-11-25 22:56:30 +08:00
    @yytsjq 你是说人工智能吗?但我想问的,是各位对编程的理解呀。
    limbo0
        13
    limbo0  
       2015-11-25 23:02:25 +08:00   ❤️ 1
    感觉编程就像写小说一样, 你需要认字识字,然后写一些烂作文, 看书增加阅历, 构思剧情, 然后写成小说, 当然第一部小说可能很烂, 然后接着写第二部第三部...每种语言都是一个群体的另一种思维方式
    echo1937
        14
    echo1937  
       2015-11-25 23:06:48 +08:00
    这个问题是留给哲学家的,不是留给程序员的。
    wy315700
        15
    wy315700  
       2015-11-25 23:08:24 +08:00   ❤️ 1
    @starship 传说中的去婚恋网站没找到对象找到三个 BUG 的人,,,
    xuyinan503
        16
    xuyinan503  
       2015-11-25 23:09:06 +08:00
    xuyinan503
        17
    xuyinan503  
       2015-11-25 23:09:24 +08:00   ❤️ 1
    starship
        18
    starship  
       2015-11-25 23:12:28 +08:00   ❤️ 1
    @wy315700 哈哈哈,应该改成:传说中的去相亲没找到对象却找到三个 BUG 的人...
    Kylinsun
        19
    Kylinsun  
       2015-11-25 23:15:52 +08:00   ❤️ 2
    把 Java 当成老婆,她发脾气了( BUG ),安慰她(找出原因),她不生气了(问题解决了),可以提前下班了
    bramblex
        20
    bramblex  
       2015-11-25 23:16:09 +08:00   ❤️ 1
    @lenran

    写 Genarator 啊
    wwjvtwoex
        21
    wwjvtwoex  
       2015-11-25 23:26:57 +08:00   ❤️ 1
    控制复杂度
    lenran
        22
    lenran  
    OP
       2015-11-25 23:37:55 +08:00
    @bramblex 好吧!
    @echo1937 你可以试着从哲学家的角度思考
    lenran
        23
    lenran  
    OP
       2015-11-25 23:39:56 +08:00
    @wy315700 你说的是程序员
    WalkingEraser
        24
    WalkingEraser  
       2015-11-25 23:40:28 +08:00   ❤️ 1
    0 和 1
    Ixizi
        25
    Ixizi  
       2015-11-25 23:42:28 +08:00
    996
    lenran
        26
    lenran  
    OP
       2015-11-25 23:43:52 +08:00
    @Ixizi 996 是什么,能说的详细些吗?
    Ouyangan
        27
    Ouyangan  
       2015-11-25 23:48:51 +08:00   ❤️ 1
    @lenran 九点上下班+周六
    lenran
        28
    lenran  
    OP
       2015-11-25 23:52:27 +08:00
    @Ouyangan 这还是在说程序员,没有涉及到对编程的理解哦!
    Totato5749
        29
    Totato5749  
       2015-11-25 23:52:54 +08:00   ❤️ 1
    如何理解编程?

    编程就是使用现成的语言工具,实现一套算法,解决现实需求。
    movtoy
        30
    movtoy  
       2015-11-25 23:55:05 +08:00
    请问你们对吃饭是怎么理解的,或者这样说吧,吃饭是什么?

    请问你们对抠鼻子怎么理解的,。。抠鼻子是什么?

    请问你们。。。
    Ouyangan
        31
    Ouyangan  
       2015-11-25 23:56:04 +08:00   ❤️ 2
    @lenran 编程就是不断的在抽象生活中的事物.
    jesse_luo
        32
    jesse_luo  
       2015-11-25 23:56:12 +08:00   ❤️ 1
    对现实世界进行抽象建模,并落实到代码上的活动╮(╯_╰)╭
    tracyone
        33
    tracyone  
       2015-11-26 00:02:37 +08:00 via Android   ❤️ 1
    和机器谈恋爱……
    ivanchou
        34
    ivanchou  
       2015-11-26 00:04:33 +08:00 via Android   ❤️ 2
    我的理解是,编程就是告诉电脑怎样做能够才能帮助人们更好的生活(工作 娱乐等等)
    kkfnui
        35
    kkfnui  
       2015-11-26 00:04:47 +08:00   ❤️ 1
    翻译
    lenran
        36
    lenran  
    OP
       2015-11-26 00:11:45 +08:00
    @kkfnui 将人能看懂的代码翻译成"二进制",我能这么理解吗?你说的太简略了,要是理解有误,莫怪啊
    xiaofu123
        37
    xiaofu123  
       2015-11-26 00:14:06 +08:00   ❤️ 1
    可以有编程,也可以没有编程(直接硬件加封装代码),推荐你看下《 O ‘ Reilly :编程之魂:与 27 位编程语言创始人对话》还有《编码的奥秘》
    xiaofu123
        38
    xiaofu123  
       2015-11-26 00:15:38 +08:00
    先看《编码的奥秘》比较好,免得被有些几乎人类不可读的概念折磨
    lenran
        39
    lenran  
    OP
       2015-11-26 00:16:07 +08:00
    @xiaofu123 好的,感谢推荐!
    wizardoz
        40
    wizardoz  
       2015-11-26 00:27:25 +08:00
    用某种语言的角度来解释编程是什么的人,应该不会是大牛吧。
    lenran
        41
    lenran  
    OP
       2015-11-26 00:28:46 +08:00
    @wizardoz 从多种语言的角度来解释编程。
    jmc891205
        42
    jmc891205  
       2015-11-26 00:35:27 +08:00   ❤️ 1
    用数据结构存储信息
    用算法解决问题

    编程就是在写“程序=数据结构+算法”咯
    haog
        43
    haog  
       2015-11-26 03:56:04 +08:00   ❤️ 1
    编程是饭碗
    mcfog
        44
    mcfog  
       2015-11-26 07:31:18 +08:00   ❤️ 1
    如果是指作为一份职业的话,编程的本质是做人和电脑之间的翻译,理解产品 /策划(业务)的需求,理解电脑(编程语言、运行环境)的能力,在两者之间给出解决方案并实施落地

    另外因为往往不会是一个人翻译所有东西,所以你还得会掌握和其他伙伴合作一起翻译的技巧

    算法和数据结构最多只是电脑能力的一部分的一部分罢了
    irockytan
        45
    irockytan  
       2015-11-26 08:35:12 +08:00 via iPhone
    @mcfog 顶一个,我也想这么说
    Victor215
        46
    Victor215  
       2015-11-26 09:18:14 +08:00 via Android   ❤️ 1
    编程就是吃饭的工具……
    mthli
        47
    mthli  
       2015-11-26 09:31:00 +08:00   ❤️ 1
    编程就是数据的操纵。
    xiaopenyou
        48
    xiaopenyou  
       2015-11-26 09:37:29 +08:00   ❤️ 1
    让我联想起豆瓣前几天推过的一文

    [怎样才叫做“会问问题”?]( http://www.douban.com/note/524802128/)
    CodingMonkey
        49
    CodingMonkey  
       2015-11-26 09:43:07 +08:00   ❤️ 1
    编程是为了享受不断的创造和毁灭带来的乐趣
    exch4nge
        50
    exch4nge  
       2015-11-26 09:45:49 +08:00   ❤️ 1
    看题目本来想说点啥的,但后来看到从多种语言的角度来解释编程,我就不知道要说啥了……

    强行比喻的话:问各位作者(程序员),你们对写文章(编程)怎么理解,从用钢笔 /圆珠笔 /2B 铅笔(程序语言)的角度解释对写文章(编程)的理解……

    无意冒犯,吐槽而已……
    janxin
        51
    janxin  
       2015-11-26 09:46:47 +08:00   ❤️ 1
    想法->思路->功能
    offer
        52
    offer  
       2015-11-26 09:52:13 +08:00   ❤️ 1
    改变世界。
    moe3000
        53
    moe3000  
       2015-11-26 10:00:03 +08:00   ❤️ 1
    唯一找到的自己或许能改变世界的途径
    cyberdaemon
        54
    cyberdaemon  
       2015-11-26 10:45:07 +08:00   ❤️ 1
    和机器沟通,让机器按自己的意志干活
    fortunezhang
        55
    fortunezhang  
       2015-11-26 11:10:44 +08:00
    $
    送我去神评。谢谢。
    zhanyaha
        56
    zhanyaha  
       2015-11-26 11:57:34 +08:00   ❤️ 1
    外交官+翻译官
    civet
        57
    civet  
       2015-11-26 12:02:33 +08:00
    @C1ara 1 楼回答相当精辟
    GentleSadness
        58
    GentleSadness  
       2015-11-26 12:05:13 +08:00   ❤️ 1
    编程没有什么独特的,各行各业都是创造社会价值然后出售,或者看起来有点高大上?

    别喷我,别喷我
    easing
        59
    easing  
       2015-11-26 13:03:41 +08:00 via Android   ❤️ 1
    做的少就不想太多,多找些问题编编程就会解答你的问题
    billwang
        60
    billwang  
       2015-11-26 13:14:16 +08:00   ❤️ 1
    其实就是依照 C++, Java 等语言规范的格式,将需求按照协议输入计算机,由计算机执行并根据协议显示到我们面前。
    xiandao7997
        61
    xiandao7997  
       2015-11-26 13:16:19 +08:00   ❤️ 2
    《阿桑奇自传》里是这样说的:
    “不管家搬到哪里,我都会带着一张计算机桌和一个磁盘盒。计算机世界对我来说就像天堂。仰望星空,点点繁星会给你一种无限感,然后低头看看面前的计算机,不由地想:无限也存在于这里,而且比宇宙近多了。”
    lixia625
        62
    lixia625  
       2015-11-26 13:23:33 +08:00   ❤️ 1
    控制机器,没了。
    FreeDog
        63
    FreeDog  
       2015-11-26 13:26:11 +08:00   ❤️ 1
    创造与乐趣。只为兴趣而做
    twor2
        64
    twor2  
       2015-11-26 13:46:22 +08:00   ❤️ 1
    程序对于我来说就如同未表白的姑娘
    无时不畅想着会和她有欢愉的时光
    她的一颦一笑
    都会让我陷入疯狂和思考

    是的,未表白的姑娘
    当你成为了我的新娘,入了洞房
    我便收起这份思量
    离开你,走向远方
    gkiwi
        65
    gkiwi  
       2015-11-26 13:49:23 +08:00   ❤️ 1
    会钻木取火的人
    zhangdawei
        66
    zhangdawei  
       2015-11-26 16:19:33 +08:00   ❤️ 1
    编程是:自然语言转换成编程语言,并且能说(运行)得通。
    surfire91
        67
    surfire91  
       2015-11-26 16:29:18 +08:00   ❤️ 1
    编程就是告诉计算机让它做我想让它做的事情
    ameba
        68
    ameba  
       2015-11-26 16:33:54 +08:00   ❤️ 1
    拿前人与现人的智慧,使用计算机,去造需要的东西。
    canesten
        69
    canesten  
       2015-11-26 16:40:40 +08:00   ❤️ 1
    一种机器无法替代的手工活
    当然这个像绘画一样
    大多数人画的是小鸡吃米图
    只有少数人能成为梵高
    cheneydog
        70
    cheneydog  
       2015-11-26 16:46:05 +08:00   ❤️ 1
    教计算机干活,替代人类实现一部分的工作。
    SmiteChow
        71
    SmiteChow  
       2015-11-26 16:48:21 +08:00   ❤️ 1
    我能说编程就是改变世界么
    hsj1992
        72
    hsj1992  
       2015-11-26 17:28:30 +08:00   ❤️ 1
    编程就是用来解决问题的。
    什么问题?任何让你犯懒而计算机帮得上忙的问题。
    比如这条微博 XD :
    http://weibo.com/1678843974/D5tRcoF9B?from=page_1005051678843974_profile&wvr=6&mod=weibotime&type=comment#_rnd1448530012871
    rclong
        73
    rclong  
       2015-11-26 17:39:25 +08:00   ❤️ 1
    把人类语言翻译成机器语言的高级编译器.

    "好的张总,现在您可以从这里复制,然后到家里再粘贴了"
    mathcoder23
        74
    mathcoder23  
       2015-11-26 17:46:21 +08:00   ❤️ 1
    编程就是写程序,写程序就是告诉计算机它要做什么。因编程使我们把思想的灵魂依附在计算机上。一环又一环,或许我们所谓的上帝就是“程序员”吧。
    lenran
        75
    lenran  
    OP
       2015-11-26 21:42:26 +08:00
    @mcfog 谢谢,回答相当精辟。大大扩宽了我的视野!
    @SmiteChow 这个可以有。
    @mathcoder23 ‘上帝就是“程序员”。’从某种角度来说,确实是这样的。
    @zhanyaha 外交官?怎么解?
    @fortunezhang 不谢
    bdbai
        76
    bdbai  
       2015-11-26 22:57:59 +08:00 via iPhone   ❤️ 1
    @lenran "外交官"指的是沟通好人类社会和机器的角色吧。
    zartouch
        77
    zartouch  
       2015-11-26 23:22:58 +08:00   ❤️ 1
    编程本质上来还是在用工具和知识设计、构建、创造某样事物,和美术家,建筑师没什么区别。 恩,编程是门艺术。
    lk920724
        78
    lk920724  
       2015-11-27 00:08:09 +08:00   ❤️ 1
    创造(
    以及
    破坏(

    挖坑
    以及
    填坑
    fullpowers
        79
    fullpowers  
       2015-11-27 00:09:47 +08:00   ❤️ 1
    工具或者艺术
    wuchizhitu1988
        80
    wuchizhitu1988  
       2015-11-27 00:09:57 +08:00   ❤️ 1
    利用机器给人更好地干活~
    Mark24
        81
    Mark24  
       2015-11-27 00:16:54 +08:00   ❤️ 1
    机器逻辑熵……减熵活动
    我就是来装个逼
    wusuopuBUPT
        82
    wusuopuBUPT  
       2015-11-27 00:22:44 +08:00   ❤️ 1
    Just For Fun
    wusuopuBUPT
        83
    wusuopuBUPT  
       2015-11-27 00:23:27 +08:00
    @wusuopuBUPT 顺便赚点钱
    wizardforcel
        84
    wizardforcel  
       2015-11-27 07:13:30 +08:00 via Android   ❤️ 1
    很多人是觉得编程有意思才学的 我是觉得编程有用

    所以我认为它是生产力
    FireCat
        85
    FireCat  
       2015-11-27 08:25:53 +08:00   ❤️ 1
    编程就是:告诉计算机他该怎么做
    yuankui
        86
    yuankui  
       2015-11-27 09:02:09 +08:00   ❤️ 1
    编程就是另一种手工~
    zwik
        87
    zwik  
       2015-11-27 09:16:17 +08:00   ❤️ 1
    编程就是自动化~
    ren2881971
        88
    ren2881971  
       2015-11-27 10:05:37 +08:00   ❤️ 1
    我觉得我是个作家~
    miro
        89
    miro  
       2015-11-27 12:15:47 +08:00   ❤️ 1
    编程=io+5w1h?
    lenran
        90
    lenran  
    OP
       2015-11-27 13:49:24 +08:00
    @ren2881971 大作家,你好!
    @miro 能否解释一下,我表示看不懂?
    netcatz
        91
    netcatz  
       2015-11-27 14:24:06 +08:00   ❤️ 2
    减熵,对于一些人来说是加熵
    m4ker
        92
    m4ker  
       2015-11-27 14:49:34 +08:00   ❤️ 2
    编程语言是:表达思想和解决问题的工具;而编程是:解决问题的过程。
    lenran
        93
    lenran  
    OP
       2015-11-27 19:21:42 +08:00
    @m4ker 不错,任何语言本身都是工具
    herogui
        94
    herogui  
       2015-11-27 21:34:00 +08:00 via Android   ❤️ 1
    编程就是不断打怪,通关,重新新的征程
    littlewing
        95
    littlewing  
       2015-11-27 23:13:12 +08:00   ❤️ 1
    用数据结构存储信息
    用算法解决问题

    编程就是在写“程序=数据结构+算法”咯

    严重同意 42l 的看法
    MinonHeart
        96
    MinonHeart  
       2015-11-28 00:00:54 +08:00 via Android
    ⊙△⊙ 这程序真是太不智能了,别人教你做了,我还得再教一边。
    aa23
        97
    aa23  
       2015-11-28 00:23:10 +08:00   ❤️ 1
    刘慈欣的《未来边缘》里面有一段,『创造生命的实际上就是编程语言,上帝原来是个程序员』
    lenran
        98
    lenran  
    OP
       2015-11-28 01:10:26 +08:00
    @MinonHeart 额,怎么“不智能”?
    lnkn
        99
    lnkn  
       2015-11-28 09:27:37 +08:00   ❤️ 1
    编程就是给你的程序赋予生命。
    codecrash
        100
    codecrash  
       2015-11-28 11:28:14 +08:00 via Android   ❤️ 1
    Programing is just another name of the lost art of thinking
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3748 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 05:06 · PVG 13:06 · LAX 21:06 · JFK 00:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.