V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zib
V2EX  ›  问与答

为什么编程对我就像母语?

  •  
  •   zib · 2022-11-06 13:27:23 +08:00 via Android · 10183 次点击
    这是一个创建于 727 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人不是码农,写代码纯属爱好,看到现在儿童 IT 教育这么火突然有这种疑问。

    我生在一个工程师家庭,上中学的时候自学的编程,过程就是没事干安装了一个编程环境,打开帮助文档,照葫芦画瓢就开始写。对我来说编程就是一个娱乐活动,初期类似于在红白机上打坦克,后来像搭乐高,再后来像盖房。一直觉得编程语言这么符合逻辑,就像在说一种自己本来就会的母语。

    其实我学人类语言也是如此,看到语法书就感觉这语法这么有逻辑,感觉我自己也可以写一本语法书。

    请问我为什么会有这种感觉?是普遍现象么?一般人学习编程和学习语言障碍在哪里?
    108 条回复    2022-11-08 22:52:22 +08:00
    1  2  
    Bingchunmoli
        1
    Bingchunmoli  
       2022-11-06 13:30:25 +08:00 via Android
    因为没有卷
    Carseason
        2
    Carseason  
       2022-11-06 13:34:22 +08:00   ❤️ 27
    优质的家庭条件,没有压力的生活,不错的天赋
    kyuuseiryuu
        3
    kyuuseiryuu  
       2022-11-06 13:36:05 +08:00 via iPhone   ❤️ 7
    因为你有个好爹
    JQSM
        4
    JQSM  
       2022-11-06 13:37:13 +08:00   ❤️ 1
    学语言最大的障碍是背单词,而学编程甚至都不用背单词,当然简单很多。
    GP1
        5
    GP1  
       2022-11-06 13:38:11 +08:00   ❤️ 16
    投胎投的好,你投胎到农村家庭就知道编程很难了。
    thunderw
        6
    thunderw  
       2022-11-06 13:38:31 +08:00   ❤️ 1
    这就叫你有编程思维,是一种天赋。有很多人说话就没有逻辑性,明明说的是汉语,写的是汉字,但他写出来东西你看着就头疼。你写的这段就完全没这个问题。
    kingpo
        7
    kingpo  
       2022-11-06 13:39:39 +08:00
    你不知道的是,有的人,打第一行代码,第一个程序,即使仔仔细细对着抄,都一定会遇到各种各样的错误,真有这样的存在
    xtreme1
        8
    xtreme1  
       2022-11-06 13:42:31 +08:00
    我不知道你有没有给某些初高中生辅导过课业,
    如果碰上那种例子的话你就知道了, 有些人天生不适合任何需要逻辑的事情, 不单是编程.
    xtreme1
        9
    xtreme1  
       2022-11-06 13:42:59 +08:00
    @xtreme1 而且智商完全正常.
    DrakeXiang
        10
    DrakeXiang  
       2022-11-06 14:09:15 +08:00
    编程从来难的都不是语法吧,大家都会说中文,但是出口成章的就很少。编程的门槛一直都不高,只要会基本的英语和逻辑思维就可以开始,少儿编程都能这么火就能看出来,小朋友的水平就已经够了。实际劝退的都是因为枯燥,没兴趣,技术更新快学不动,你因为有兴趣所以会自己装环境看文档,就像一般人玩游戏会自己查攻略
    ershierdu
        11
    ershierdu  
       2022-11-06 14:09:57 +08:00
    op 不是专业选手,有可能只是没接触到难的部分?

    不过 op 的这种上手能力肯定比绝大部分人都强了
    googlefans
        12
    googlefans  
       2022-11-06 14:11:22 +08:00
    障碍就在于 大学时候老师讲的都懂
    但是让做个完整的工程项目 就不知道如何下手
    Aixiaoa
        13
    Aixiaoa  
       2022-11-06 14:17:03 +08:00 via iPhone   ❤️ 1
    逻辑性强吧。
    我个人喜欢在脑海里想一遍要做的事情,会按照时间顺序做步骤拆解,甚至会拆解到像小学题那种边烧饭边刷牙的多线程.
    对我来说,我就像一台机器忠实的执行我自己写的逻辑.
    对别人来说,我就是一个有点死板的人
    Yourshell
        14
    Yourshell  
       2022-11-06 14:24:46 +08:00 via Android
    先介绍一下你在这方面有什么成就有更有说服力吧
    ajaxgoldfish
        15
    ajaxgoldfish  
       2022-11-06 14:26:18 +08:00   ❤️ 1
    单方面强调天赋的我是极力反驳的,我认同高一的时候班主任说的一句话“如果能把同学们的大脑中负责畏惧的那一块脑区域删除,再加上三年的刷题训练,哪里不会学哪里,哪怕只有三年级知识也足以上本科了。”。 编程就是像搭积木,有的人就是很有天赋但我认为说白了平时接触的多或者比较简单,就算再有天赋我觉得也是熟能生巧或者理解的比较深刻,但是到没接触过的逻辑事件的就 GG 了(大部分),比如给你一堆基础原件搞一个冯诺依曼架构或者其他架构现代计算机的演示架构模型之类的,或者让你设计一种运算器,类似于 cpu 只有加法器哪又是怎么实现加减乘除的,浮点数是怎么存储计算的能否设计的比现在的标准效率接近,浮点和整数是怎么转换的类似于这种的接触过之后也不算难,但是只靠天赋实现我也觉得的不可能。
    westoy
        16
    westoy  
       2022-11-06 14:30:10 +08:00 via Android
    那你有没有系统的写过一个几万行的程序呢?

    real world 没那么完美的,再热爱也逃脱不了一边吐一边写,甚至一些底层选手还需要用一些很脏的手法去处理玄学问题

    距离产生美
    charlie21
        17
    charlie21  
       2022-11-06 14:42:46 +08:00 via iPhone
    语法感好
    cnin0770
        18
    cnin0770  
       2022-11-06 14:49:48 +08:00 via iPad   ❤️ 12
    有啥作品吗 看看 github ?
    ration
        19
    ration  
       2022-11-06 14:52:54 +08:00 via Android   ❤️ 1
    能手写一个 B+树吗
    potatowish
        20
    potatowish  
       2022-11-06 14:55:10 +08:00 via iPhone   ❤️ 2
    因为你有个码爹,如果你觉得自己有天赋,不妨晒晒自己的作品更有说服力
    qsmd42
        21
    qsmd42  
       2022-11-06 14:55:42 +08:00
    不同语言的语法可能大相径庭 都能跟你的逻辑符合吗?
    mmm159357456
        22
    mmm159357456  
       2022-11-06 14:59:46 +08:00
    我赞同上面说的没有卷,如果卷起来了就很痛苦
    wuzhewuyou
        23
    wuzhewuyou  
       2022-11-06 15:03:13 +08:00   ❤️ 13
    要不来个难度大点的?编译器,数据库,操作系统?

    看您的母语还够不够用?
    SuperMild
        24
    SuperMild  
       2022-11-06 15:03:21 +08:00
    这个很好理解,上中学的时候,就有同学数学很好,但英语学得很痛苦;另外有的同学语文、英语很高分,但数学不管怎么学都很低分。有的人体育好,有的人音乐好,各有各的天赋,也各有各的苦手。
    billzhuang
        25
    billzhuang  
       2022-11-06 15:03:45 +08:00 via iPhone
    赶紧成为码农
    Cu635
        26
    Cu635  
       2022-11-06 15:04:09 +08:00
    说明 lz 做事有条理有逻辑。编程只不过是把“该怎么做事”的步骤给详细的一步一步的告诉电脑而已。
    allpass
        27
    allpass  
       2022-11-06 15:07:00 +08:00
    作品在那里?
    calon
        28
    calon  
       2022-11-06 15:07:20 +08:00
    说明你是混入人类的机器奸细,应该趁早自首 233 。
    bitdepth
        29
    bitdepth  
       2022-11-06 15:12:24 +08:00
    來,寫個 opencl
    gohuntsuan
        30
    gohuntsuan  
       2022-11-06 15:18:49 +08:00   ❤️ 4
    看成了编程对我就像母猪
    icyalala
        31
    icyalala  
       2022-11-06 16:21:41 +08:00
    看来这是个不知道自己是机器人的机器人~~
    zxCoder
        32
    zxCoder  
       2022-11-06 16:42:01 +08:00
    说明你牛逼
    2NUT
        33
    2NUT  
       2022-11-06 16:49:43 +08:00
    说明可能上辈子也是程序员

    这辈子发誓不当程序员但是把编程作为爱好
    MEIerer
        34
    MEIerer  
       2022-11-06 16:52:39 +08:00
    天赋加环境
    followztx
        35
    followztx  
       2022-11-06 17:00:11 +08:00
    文档换成英文的试试
    jancing
        36
    jancing  
       2022-11-06 17:12:52 +08:00
    OP 的意思应该是说编程“语言”对 TA 就像母语吧。写程序就像用母语写文章那样对吗?
    (要不你试试用熟悉的编程语言写个它的编译器,毕竟从“母语”级别的使用者角度来看,“自举”是很关键的一步)
    Windn0
        37
    Windn0  
       2022-11-06 17:27:15 +08:00 via iPhone   ❤️ 4
    show your code
    TcDhl
        38
    TcDhl  
       2022-11-06 17:34:10 +08:00   ❤️ 2
    Hello?
    look look you code?
    look look you github?

    并不影响阅读
    leonshaw
        39
    leonshaw  
       2022-11-06 17:35:24 +08:00
    学了几种编程语言?都是母语?
    Tumblr
        40
    Tumblr  
       2022-11-06 17:43:39 +08:00
    OP 的编程技能明显是比母语强的。

    虽然同为”语言“,但我们一般不会把程序语言和传统的表达语言放在一起,说对编程语言的掌握“像母语”,你不会在简历里把你的编程能力写成“母语级别”,只会是什么了解、熟悉、掌握、精通之类的,就好像你不会说你骑自行车熟练了说“我觉得自己骑自行车就像说母语一样”,虽然能明白你要表达的意思,但是总会让人觉得奇怪。
    uselessVisitor
        41
    uselessVisitor  
       2022-11-06 17:44:48 +08:00
    因为你有个好爹
    CEBBCAT
        42
    CEBBCAT  
       2022-11-06 17:54:33 +08:00
    你还没有说清楚你理解的简单是怎样的简单,你看到的困难是什么样的困难。

    目前来看最可能的是你才只学了 hello world 。标准库 API 、系统调用、系统设计,计算机网络,都是要花费时间学习的。
    pkwenda
        43
    pkwenda  
       2022-11-06 18:00:56 +08:00
    著名演员孙海英自述:文革前生长在三个文工团混住的部队大院,能人辈出,以至于去了所谓的学校读书之前:“声、台、形、表” 早已熟烂于心,远超同龄人,如果没有后天的刻意练习,生长环境有很大因素,这是优势,而且我觉得现在家长盲目追求的单纯的 儿童 IT 教育完全无法替代成长环境。
    asanelder
        44
    asanelder  
       2022-11-06 18:02:20 +08:00
    "没事干安装了一个编程环境,打开帮助文档"

    您要把编程看作以上工作, 那么, 说实话, 几十种语言对俺来说都是母语.

    什么 go, java, c++, scala, js, c#, python, 通通不在话下
    LiubaiQ
        45
    LiubaiQ  
       2022-11-06 18:10:13 +08:00
    小孩子学任何东西都很快,只要有环境,脉脉上有个腾讯的老哥发帖教孩子刷 leetcode ,而且刷得还挺好的,我觉得没必要过于强调生物学上的天赋、遗传,环境因素同等重要。
    IDghyg5839
        46
    IDghyg5839  
       2022-11-06 18:16:15 +08:00
    凡尔赛
    astkaasa
        47
    astkaasa  
       2022-11-06 18:45:49 +08:00   ❤️ 8
    装了个好 B
    plodderales0o
        48
    plodderales0o  
       2022-11-06 18:45:52 +08:00
    尽管如此,你甚至都没在写代码上获得什么成就,甚至都不是码农。
    interim
        49
    interim  
       2022-11-06 19:13:44 +08:00
    show me the code
    zwdsix
        50
    zwdsix  
       2022-11-06 19:36:24 +08:00
    因为你是万中无一的天才。只要看过一些影视作品就知道,里面的天才都类似这样的,比如看到整个世界都是种种数字之类的。
    xgdgsc
        51
    xgdgsc  
       2022-11-06 19:40:23 +08:00 via Android
    你小时候如果经常下棋,可能数学好,然后编程就好
    Joker123456789
        52
    Joker123456789  
       2022-11-06 19:49:51 +08:00
    因为你还停留在玩的阶段,编程语言的语法 都是很简单的,什么语言都一样,就那么几个,变量,常量,集合,数组,if ,循环,脑子正常的人都能在几天内学到熟悉(滚瓜烂熟需要 时间积累,但是仅仅熟悉 几天肯定够了)。

    难的是应用到现实中,解决实际问题。
    LindsayZhou
        53
    LindsayZhou  
       2022-11-06 20:28:51 +08:00
    我也觉得是因为你学的不多。
    我记得我大一的时候跟人说过,我看 C++ Primer 跟看小说一样轻松。
    wa007
        54
    wa007  
       2022-11-06 20:44:59 +08:00
    感觉是你的逻辑初始化的时候,就是被有极强逻辑性的编程语言初始化的,所以以后看什么都是这样。
    好逻辑控吧。
    这样挺快乐的吧,哈哈哈哈哈哈。
    James369
        55
    James369  
       2022-11-06 20:53:24 +08:00
    编程不难?,刚开始是不难。。
    但模块一多,复杂度一高,条件一多,考虑前后兼容,需求时常变更,组件时常升级,考虑各种适配,等等等。。
    编程的复杂度将呈非线性上升,不上升也行,bug 将不断上升,bug 不上升也可以,时间成本将不断上升。。

    这就是业余玩家和职业选手的区别。
    levelworm
        56
    levelworm  
       2022-11-06 21:05:53 +08:00
    编程主要是解决问题,而不是语言问题。举个例子编译原理、操作系统这两个要有一些造诣,就不是会语言能够解决的。
    Aloento
        57
    Aloento  
       2022-11-06 21:06:27 +08:00
    是否有一种可能是赛博新人类
    maddot
        58
    maddot  
       2022-11-06 21:11:36 +08:00
    发 github 来看看是不是真这样
    toneal
        59
    toneal  
       2022-11-06 21:13:03 +08:00
    念头是学编程的时候 已经输了一半
    什么是学? 买一堆书 按章节一点点抠 慢慢只见树木 深陷森林

    正确的插入姿势就像完美的爱情 是双向奔赴自然 0 距离
    学了一堆 pua 心法 看了一硬盘的江户 188 招
    碰见妹子还是完犊子 除了花钱买 别无他法

    自我总结这些年一直学不会的问题 主要还是一开始就错了
    为了学而学 没有初心 没有正确的目的性

    也许 一开始 有个改变世界的梦想 碰巧需要用到编程
    可能离楼主境界近一点吧
    danhahaha
        60
    danhahaha  
       2022-11-06 21:29:12 +08:00
    我自己放飞自由拼积木也有这种感觉,尤其是小孩,3,4 岁上手就可以拼,并不是多聪明,是因为乐高设计牛逼,各种模块随便拼都可以凑到一起,容错率极高,非常有成就感,但是直到有一天看了 youtube 的某个高手视频,心水不已,想要拼出一个来,结果按照人家视频一步一步拼了整整俩天,最后放弃了
    achira
        61
    achira  
       2022-11-06 21:38:13 +08:00   ❤️ 17
    因为一般人想不到那么夸张的词来赞誉自己
    Aumujun
        62
    Aumujun  
       2022-11-06 21:38:52 +08:00 via Android
    呃。。。编程语法很难吗???????????不会吧,不会吧。难点不是做项目吗,不是排 BUG 吗?? 编程语言我学了十几个,语法我感觉都很容易,但我用的也就一两个。
    luomu24
        63
    luomu24  
       2022-11-06 21:48:59 +08:00
    没有展示自己水平的例子作证,很难确定这是个真实讨论贴,还是吹逼秀贴。
    xuanbg
        64
    xuanbg  
       2022-11-06 21:49:54 +08:00
    写代码确实很简单,就和把自己心里的想法说出来一样简单。这大概是我考虑事情从来不绕圈子的缘故吧。

    我见过太多理不清思路,总是在无用的表面细节上饶老绕去不得要领的同事了,真的是很难理解他们的想法。而且你指出关键点也没用,他们根本抓不住,沟通起来真的太累了。
    EminemW
        65
    EminemW  
       2022-11-06 23:20:52 +08:00
    因为你爹。。
    littlewing
        66
    littlewing  
       2022-11-06 23:53:07 +08:00
    问一个问题:你现在的工作是编程吗?如果是的话,佩服你;如果不是的话,可以去试试
    fakeshadow
        67
    fakeshadow  
       2022-11-07 00:12:36 +08:00
    不要用你的爱好去比较别人的专业。
    arischow
        68
    arischow  
       2022-11-07 00:20:15 +08:00 via iPhone
    GitHub ?
    shm7
        69
    shm7  
       2022-11-07 00:54:02 +08:00
    楼主有时间可以不用去玩没啥意思的 Demo ,去做做编译器和底层实现的工作,或者参加些混乱变成比赛。
    addou
        70
    addou  
       2022-11-07 01:07:07 +08:00 via Android
    环境很重要
    Yuchen
        71
    Yuchen  
       2022-11-07 01:35:32 +08:00
    因为你是天之骄子
    你不去当码农简直就是这个世界的损失
    riceathome
        72
    riceathome  
       2022-11-07 06:24:24 +08:00
    学外语看懂语法远远不够 八字还没一撇呢 你实际运用一下就知道了
    lopda
        73
    lopda  
       2022-11-07 08:41:48 +08:00
    maemolee
        74
    maemolee  
       2022-11-07 08:50:19 +08:00
    所以你编程这么牛逼,有什么作品可以展示一下吗?
    Daiwf
        75
    Daiwf  
       2022-11-07 08:51:12 +08:00
    你是世界上最优秀的程序员,程序之母,逻辑之神。我将称你为 NB God
    SinceJune
        76
    SinceJune  
       2022-11-07 09:08:19 +08:00
    其实我学人类语言也是如此 敢情之前还不是个人。
    gps949
        77
    gps949  
       2022-11-07 09:09:06 +08:00
    那么你的母语是 Fortran 、Basic 、C 、Pascal 、Delphi 、Visual Basic 、C++、Java 、PHP 、C#、.NET 、Haskell 、Lisp 、JavaScript 、SQL 、Python 、Go 、Rust 、Dart 、Kotlin 、Object-C 、易语言、Perl……当中的哪一种呢?
    limerence
        78
    limerence  
       2022-11-07 09:09:45 +08:00
    别人牛逼是因为作品,你牛逼是因为你自己觉得自己牛逼
    dqzcwxb
        79
    dqzcwxb  
       2022-11-07 09:12:39 +08:00
    拿业余挑战别人专业
    shijingshijing
        80
    shijingshijing  
       2022-11-07 09:27:13 +08:00
    不知道楼主能不能讲出一口流利的汇编?
    wangyzj
        81
    wangyzj  
       2022-11-07 09:29:43 +08:00   ❤️ 1
    老哥,你夸张了

    编程顶多逻辑清楚,单词认识,正常人就可以猜到大意,就好比你上学英语老师教你各种语法,但你跟老外交流的时候你发现老外的语法都是错误一样,因为人都不傻

    母语就不一样了,如果编程语言中出现类似这种语句:“下回没没就没没,没了就是没了,告你别别就别别,别个个瞎别了”

    很多男孩对编程都充满了兴趣,但早期门槛会劝退很多人,但恰巧,你的家庭让你能够轻易的跨过这个门槛
    而已
    bytesfold
        82
    bytesfold  
       2022-11-07 09:37:19 +08:00   ❤️ 1
    知道的越多的人越知道自己的无知,你怎么这么自信
    storyxc
        83
    storyxc  
       2022-11-07 09:54:03 +08:00
    talk is cheap
    loading
        84
    loading  
       2022-11-07 10:02:13 +08:00
    最复杂的中文你都掌握了,编程语言真的是太简单了。
    twor2
        85
    twor2  
       2022-11-07 10:09:38 +08:00
    为什么去火星对我如此简单?
    别人都说去火星很难,但我却发现很简单,就想回老家一样。
    难道就只有我一个人这样吗?
    jmc891205
        86
    jmc891205  
       2022-11-07 10:10:17 +08:00
    编程和语言的难点都不在于语法。。。
    nyakoy
        87
    nyakoy  
       2022-11-07 10:12:33 +08:00
    期待 op 出的书
    gimp
        88
    gimp  
       2022-11-07 10:16:46 +08:00
    “其实我学人类语言也是如此” —— 敢问楼主可是蜥蜴人
    leimao
        89
    leimao  
       2022-11-07 10:24:56 +08:00
    Most programming languages are Turing complete.
    kangkang
        90
    kangkang  
       2022-11-07 10:26:29 +08:00
    v 我 repo 看看实力
    Dogtler
        91
    Dogtler  
       2022-11-07 10:30:18 +08:00
    因为你没有遇到奇形怪状的需求追着屁股后面跑,只凭观察和兴趣探索到编程。
    ksc010
        92
    ksc010  
       2022-11-07 10:36:34 +08:00
    @GP1 我也是农村出来的;拿所谓的环境来说真的一般,初中第一次摸计算机,一共没上了几节课。高中一样很少,学习计算机相关的知识几乎全靠购买过期的电脑杂志;《电脑爱好者》《网游世界》等等;“首次学习”编程 一个是高中数据有堂课将的是逻辑关系之类的,另外就是杂志上有一篇文章教如何编程,这篇算是我的编程启蒙了。
    这个东西兴趣关系很大,在这就是所谓的天赋了
    novolunt
        93
    novolunt  
       2022-11-07 10:38:25 +08:00
    一叶障目 不见泰山
    luofan004
        94
    luofan004  
       2022-11-07 11:11:42 +08:00
    如果我是 op ,一定晒出 github 亮瞎你们这群 B
    pkoukk
        95
    pkoukk  
       2022-11-07 11:50:19 +08:00
    找一个全新的语言,写个五子棋小游戏吧,不要引用现成的库
    如果你觉得非常轻松和愉快,那么你就是真的非常有天赋
    Ashore
        96
    Ashore  
       2022-11-07 12:17:48 +08:00
    一眼丁真,鉴定为假
    Ashore
        97
    Ashore  
       2022-11-07 12:18:59 +08:00
    V2EX 第 594680 号会员,加入于 2022-09-18 23:06:00 +08:00
    lifesimple
        98
    lifesimple  
       2022-11-07 12:25:17 +08:00
    「自学的编程,过程就是没事干安装了一个编程环境,打开帮助文档,照葫芦画瓢就开始写」这也谈不上天赋吧,谁写个新语言的 hello world 不是这么来的
    masker
        99
    masker  
       2022-11-07 12:29:56 +08:00 via Android
    🎣死🐴。
    去学一学计算机原理,操作系统,别只会打嘴炮。
    shijingshijing
        100
    shijingshijing  
       2022-11-07 13:06:31 +08:00
    @twor2 你是懂楼主的。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2646 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 12:18 · PVG 20:18 · LAX 05:18 · JFK 08:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.