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

初一学生自学编程学哪门语言好

  •  
  •   xjy0454 · 323 天前 · 9900 次点击
    这是一个创建于 323 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位 V 友好。

    初一的侄子得到了人生第一部笔记本电脑,提出想学编程。本人圈外人事,不懂编程。所以想跟 V 友们咨询一下。

    不知哪门语言适合初一学生入门,有什么书籍或在线课程推荐。

    谢谢大家。

    181 条回复    2021-01-30 11:43:21 +08:00
    1  2  
    NexTooo
        1
    NexTooo  
       323 天前   ❤️ 8
    python
    Rwing
        2
    Rwing  
       323 天前
    学完 C 再说
    xjy0454
        3
    xjy0454  
    OP
       323 天前
    @Rwing C 对于初中生会不会过于深奥?
    aydd2004
        4
    aydd2004  
       323 天前   ❤️ 8
    老老实实学数学 物理

    别想太多
    darksword21
        5
    darksword21  
       323 天前 via iPhone
    编程或许不是你侄子想象中的那样
    northeastwolf
        6
    northeastwolf  
       323 天前
    数学物理汗 C
    然后用 C 来解数学物理题
    dethan
        7
    dethan  
       323 天前 via Android
    好好引导 先学 Python 然后其他语言 各种语言都要了解一下的
    misaka19000
        8
    misaka19000  
       323 天前
    C Java Python JavaScript 都可
    x86
        9
    x86  
       323 天前 via iPhone   ❤️ 5
    先观察下,见过太多看几天就放弃了打游戏的
    AndyAO
        10
    AndyAO  
       323 天前   ❤️ 1
    编程是自动化的技术,所以先搞清楚你的侄子有什么工作需要自动化,然后有针对的去实现这个目标,获得编程这个副产品技能,这是个比较好的方式,比较有乐趣.

    对于大部分人来说浏览器是最常用的,所以将浏览器自动化是个好主意,可以想一想有什么在网页上的操作需要更改,可以以此目标写 Chrome 扩展(JavaScript).

    在这里推荐<一路编程>(Learning to Program)这本书,书中贯穿的项目就是写浏览器的扩展,针对的就是完全的新手,所以比较容易,由于作者本身不是科班出身,也是半路出家的程序员,所以他对教外行人编程很有心得.

    如果他没有什么工作能够自动化,那么编程的话就比较困难,学习编程的话就比较困难,首先是没有太大的乐趣,然后是很难达到实用的水平.

    如果只是要领略大概的感觉,那么学习比较出名的动态语言会非常好,例如 Python 和 JavaScript,学习的时候不要有压力,不要有太大的期待.
    nnqijiu
        11
    nnqijiu  
       323 天前   ❤️ 1
    好好学习考上好高中才是重点
    AndyAO
        12
    AndyAO  
       323 天前   ❤️ 2
    还有就是让他了解程序员的文化,虽然程序员和普通的用户都用电脑,但使用模式和文化是完全不同的.

    程序员的工作大部分依赖命令行,而不是 GUI,大多数的用户是截然相反的,能够认识到这点对于学习真正的编程非常有帮助.

    一旦学了命令行,那么马上就有大量的工作可以自动化了,学习比较好的脚本语言是顺理成章的事情,对于后面的学习是非常有帮助的,如果最开始不会命令行的话,那么在 GUI 上自动化的前景就非常的困难和暗淡.

    至于怎么样让他认识到这种文化我不太要清楚,因为之前也没考虑过这个问题,算是抛砖引玉吧.
    rodrick
        13
    rodrick  
       323 天前
    学好数学,真的觉得除非是天才,否则中学的时候真的有多余时间用来学这些主课程意外的东西么
    kiritoxf
        14
    kiritoxf  
       323 天前
    我大学的时候学校是先教的 C,然后 C++
    cmdOptionKana
        15
    cmdOptionKana  
       323 天前
    学数学啊!对以后学编程有帮助,对考试也有帮助,一举两得!
    AndyAO
        16
    AndyAO  
       323 天前   ❤️ 3
    我不太同意,有些人说要学好数学和物理之类的话,因为这是谁也知道的事情,但是作为初中生来说,总要有一些课外的爱好吧,能引导他学习一些编程的相关知识,丰富他的课余生活,那总比他整天去打游戏和狐朋狗友出去乱逛,要有意思的多.

    比如说知乎上的那个轮子哥,他就是编程能力很强的人,在中学阶段就开始自己写程序了,这段时间的学习生涯,对于他学习数学以及后来从事程序员的工作应该是起了很大帮助的,他的个人经历可以在网上搜得到.

    我认为他的这种经历是令人羡慕的,是值得去追求的.

    当然前提是他是比较正常的小孩,而不是那种能够天天与枯燥的教科书和题目打交道而从不厌倦和休息的人.
    IGJacklove
        17
    IGJacklove  
       323 天前 via Android
    中学学好数学和英语比学编程重要多了,等高中去搞竞赛不是美滋滋
    wysnylc
        18
    wysnylc  
       323 天前
    可别费劲了,他只是想玩电脑
    EKkoGG
        19
    EKkoGG  
       323 天前
    学 C# 用 unity3d 做个小游戏,兴趣是最大的老师
    jntitor
        20
    jntitor  
       323 天前
    球球你把英语和数学学好
    xjy0454
        21
    xjy0454  
    OP
       323 天前
    谢谢大家的回复,孩子才刚刚上初中,也没指望他将来真就往编程这面发展,都说兴趣是最好的老师,既然孩子有兴趣,就让他尝试一下。赞同 @AndyAO 的看法。我感觉学编程跟学画画乐器一样都是一种兴趣爱好,学啥不是学呢。
    Rwing
        22
    Rwing  
       323 天前   ❤️ 1
    @xjy0454 如果以后是想走这条路为生的话,那么最好先学 C,如果只是兴趣,学啥都行,C# 可以快速出东西,提高兴趣,我觉得不错
    justfun
        23
    justfun  
       323 天前 via iPhone
    我初中(2010 年那会儿)的时候就开始写 php 搞自己网站了😂。入门阶段还是学一些简单的语言,并且能自己快速写出东西获得成就感的。虽然初中并不懂各种计算机原理之类的,但是编程思维对以后学习还挺大帮助的,以后学习原理的时候就感觉豁然开朗。兴趣驱动挺好的。
    zackwan95
        24
    zackwan95  
       323 天前 via Android   ❤️ 4
    泼冷水的也真是逗,还叫别人回家做题,程序员就这点格局?
    当然是 Python 啦,还可以同时研究深度学习人工智能,一次尝试两个方向怎么都不亏。
    zackwan95
        25
    zackwan95  
       323 天前 via Android
    @Rwing 故意的吧,把别人无聊得兴趣全无自己少一个后浪来把自己拍死
    AndyAO
        26
    AndyAO  
       323 天前
    @xjy0454 #20

    我这里有个善意的提醒,虽然你的侄子主动的提出要学习编程,这个是很了不起的想法,作为成年人,应该尽力的去支持他.

    但是期待不要过高,因为初中生的各项能力都有限,编程这件事情是很困难的,尤其是编写实用化的程序,可能这件事情比在班里考第 1 名难多了.

    如果他决定不放弃要一直努力的话,请多给他几年时间.

    如果他放弃了,或者最后没有编写出实用化的程序,那也是正常的现象.我相信即使如此,这段尝试也是很宝贵的经验和财富.

    计算机系是大学中退学率最高的系,很多人就因为学不会编程而而转到别的系去了.[1]

    而且即使是顶尖的大学,教授们对如何教授编程技能甚至编程技能,是不是可以被教授的,目前都感到很困惑.[2]

    [1] Nearly half of students drop out of computing courses
    https://www.rte.ie/news/education/2019/0213/1029434-student-drop-out-study/

    [2]Ben-Menachem M . A philosophy of software design[J]. Computing reviews, 2019, 60(9):337-337.
    zvl0reqglvd
        27
    zvl0reqglvd  
       323 天前
    人生苦短学 python 。
    不过初中生想学编程还是很有理想的,肯定哈。
    当时初中学业压力不大吗?还有时间学编程?
    EscYezi
        28
    EscYezi  
       323 天前 via iPhone   ❤️ 1
    投 python 一票,C 的话容易劝退
    Rwing
        29
    Rwing  
       323 天前
    love
        30
    love  
       323 天前 via Android   ❤️ 1
    当然是 javascript 全栈,初学者要做能拿得出给别人看的成果才好继续有兴趣,python 做一些小东西只能在自己电脑上玩玩,js 做好玩网站可以直接放网上
    1if5ty3
        31
    1if5ty3  
       323 天前
    初中啊,那时间长着呢,起码 10 年内不用靠它赚钱。所以打好基础吧。让那些那些速成 java,速成 python 见鬼去吧。
    建议看:计算机组成原理,计算机网络,C 。结合电脑学习,家里的布线,路由器设置( mac IP dhcp 端口映射那些东西)弄明白了。已经很牛了。
    office,windows 用熟练了也是不错的。
    songtinhuang
        32
    songtinhuang  
       323 天前
    学点 JavaScript,做网页吧,能快速做点小产品出来,容易提升成就感。
    开发环境也方便,不需要折腾太多。
    后续进阶的话,nodejs 和 C++?
    xxjiege
        33
    xxjiege  
       323 天前
    直接 c,c 能学明白,其他都简单
    SyncWorld
        34
    SyncWorld  
       323 天前
    建议学 js,因为 js 可以第一时间看到效果,准确的说可以给孩子一种成就感,要是像 python java 这种的看着黑框框,报错无极限,估计你侄子挫败感很大,迟早会放弃自己的兴趣的
    ushio
        35
    ushio  
       323 天前
    @zackwan95 兴趣驱动是好事,现在很多中学生都能折腾。我实验室最年轻的实习生是一个初三学生,已经能做一些简单的深度学习项目。
    dcty
        36
    dcty  
       323 天前
    什么电脑? Mac 的话,学 swift 。
    northisland
        37
    northisland  
       323 天前
    python

    小甲鱼视频教程
    https://www.bilibili.com/video/BV1L7411T7gP?from=search&seid=17094679539197421857
    廖雪峰博客教程
    https://www.liaoxuefeng.com/wiki/1016959663602400



    主要是简单。。。想搞界面编程也容易。一门语言打天下。

    javascript 也挺好,但想玩好还得有不少其他知识。
    Justin13
        38
    Justin13  
       323 天前 via Android   ❤️ 1
    不建议学编程,把路给走窄了,还是好好学习,把成绩搞上去重要
    rainman777
        39
    rainman777  
       323 天前
    小孩不都想当黑客嘛~ 教一些网络知识和工具使用就够了
    BingoXuan
        40
    BingoXuan  
       323 天前 via Android
    当然是 lisp 啦
    zackwan95
        41
    zackwan95  
       323 天前 via Android
    @Justin13 学编程和学英语就是一回事,怎么就走窄了
    northisland
        42
    northisland  
       323 天前
    玩🐍
    g5hdyd
        43
    g5hdyd  
       323 天前
    直接 java
    han0101
        44
    han0101  
       323 天前 via iPhone
    学啥原理,一个初中生,对着一个黑乎乎的命令行,又不是中老年程序员,你们在想啥呢?
    学前端,能立马看到效果的,然后有了兴趣再逐渐深入拓展其他方面。
    across
        45
    across  
       323 天前
    当然是先来一局红石编程····
    azcvcza
        46
    azcvcza  
       323 天前
    建议先整 javascript,从原理到产出,javascript 是比较可以看到成果的
    AndyAO
        47
    AndyAO  
       323 天前   ❤️ 1
    关于语言的选择,前面有的人推荐 C 和 C# 这个我是绝对不能同意的(虽然那个轮子哥好像学的是 C).首先你应该了解关于编程语言的基本知识,编程这个活动可以分为大编程和小编程(Programming in the large and programming in the small).

    因为像 C 这种语言的话是系统语言,当初它被发明出来是用来写 Unix 操作系统的,所以说是妥妥的为大编程而设计的.

    它是尽量的模拟计算机的底层,用很精炼的语法对冯诺依曼计算机进行了刻画,写起来非常困难,如履薄冰.

    如果所学的领域需要对硬件有很强的控制性,比如说对于性能有苛刻的要求,对于实时性有要求,那么选择 C 是非常好的,但是初中生大多不会有这样的要求.

    很多人大学都学过 C 语言,但基本上学完就忘了,原因就是这样,因为大多数人的工作根本就用不到它学了也是白学.

    C# 也是类似的东西,属于强制面向对象的语言主要是用来替代 C++ 的(或者说模仿 Java),主要用来在操作系统之上构建大型的复杂的程序.

    中学生往往也不会用到.

    除了上面所说的大编程往往用不到之外,还有就是大编程,所需的语言往往都是编译型的(C#算是半编译),这就导致反馈循环非常慢,也就是说做出更改之后是否正确,要等比较长的时间才能知道,而大多数的小编程语言都是很轻松就能交互式运行的(REPL,read-eval-print loop),这对于程序学习过程中的试错帮助非常大,尤其是对于没有老师的人来说.

    推荐 JavaScript 和 Python 是最明智的选择,它们是这个时代最流行的脚本语言.前者主要用于浏览器,对于任何人来说都是用得到的,后者是数据科学的母语,现在的人工智能是由数据科学支撑的,所以也是人工智能最重要的基础设施之一.还有就是如果你关注新闻的话,会发现很多地方准备将 Python 列入中学生的课程,好像有的省份还准备要考试,也许他提前学会了,在某个时间点也许能用得上!
    CoCoMcRee
        48
    CoCoMcRee  
       323 天前
    如果是 mac 的话, 建议从 swift playground 开始
    Jooooooooo
        49
    Jooooooooo  
       323 天前   ❤️ 1
    认真讲

    肯定是学英语
    Exin
        50
    Exin  
       323 天前
    初中开始学的路过,建议从可视化游戏编程 /机器人编程学习,坡度缓、乐趣多
    falcon05
        51
    falcon05  
       323 天前 via iPhone
    Python 简单,而且啥都能做
    Kilerd
        52
    Kilerd  
       323 天前
    建议学 Rust,直接劝退。 人生那么美好,出去玩玩不好吗? 为什么那么早就开始学编程。
    Ranying
        53
    Ranying  
       323 天前
    我初中是从前端开始学的,不过我建议 C#
    shpkng
        54
    shpkng  
       323 天前
    python 吧 高考要考
    flowercoder
        55
    flowercoder  
       323 天前
    上手最好是 python,国外大学现在很多 101 的课都改用 python 了
    raiz
        56
    raiz  
       323 天前
    我现在建议:先看书,跟比如浪潮之巅,硅谷百年史这种故事性的书,传记,如果还有兴趣,再自然会自己去挖掘,没必要强加。
    A1exlee
        57
    A1exlee  
       323 天前
    我觉得可以 @baoshuo 也是初中生,看看有没有什么建议
    Rwing
        58
    Rwing  
       323 天前
    @AndyAO 我和这位同学的意见正好相反,如果励志未来以此为生的话,我建议从大编程,即低级语言入手,而不是从高级语言入手。
    原因很多,时间关系不说那么多,举个外行人很容易理解的例子:如果想要励志成为郎朗,那么一定要从乐理开始,而不是上来弹一曲小星星。如果想要励志成为达芬奇,那么一定要从构图 /色彩理论开始,而不是上来就学印象派
    gadsavesme
        59
    gadsavesme  
       323 天前
    我记得我初中那会搞的是 vb,那会学校还有编程大赛什么的。
    JamesR
        60
    JamesR  
       323 天前
    Scratch 不错,强烈推荐。
    kennnnnnnnnnn
        61
    kennnnnnnnnnn  
       323 天前
    培养兴趣最重要,然后可以学下主流的语言,
    fengtaida
        62
    fengtaida  
       323 天前
    这个年纪,学个屁,老老实实学好课本知识。
    Lefi
        63
    Lefi  
       323 天前
    初升高 42%的升学率,先读高中吧
    zsljz
        64
    zsljz  
       323 天前 via Android
    C 吧 不过这年纪没有天赋兴趣啥的 学起来还是困难
    USAA
        65
    USAA  
       323 天前
    无论学啥,第一步都得学 hello world !
    kaiki
        66
    kaiki  
       323 天前
    javascript 挺好啊,直接能看到成果,能直接出作品,挺适合初中初学练手
    ferock
        67
    ferock  
       323 天前
    打好基础,先把数学写好再说
    java8
        68
    java8  
       323 天前
    把数学、英语学好, 有时间在考虑学习下 python
    GOURIDE
        69
    GOURIDE  
       323 天前
    初中生还是学好数学语文英语把,闲余再去学编程,到了大学再去正式学编程把
    icyalala
        70
    icyalala  
       323 天前
    只是因为买电脑了,所以想尝试编程,
    这种动机自然是要推荐容易入门、新手友好的语言,Python 就很合适。

    上面那些说什么 C 、Swift 、C# 的,还有说看什么组成原理的,那根本不适合啊,人家孩子又不是想要当程序员打基础,只是单纯想做一些尝试。
    YoungBalance
        71
    YoungBalance  
       323 天前 via Android
    他有安卓手机?有就搞搞 kotlin 呗
    hjw45611
        72
    hjw45611  
       323 天前
    只是为了兴趣的话,可以试试能看到直接效果的,网页或者客户端这种的
    javascript 或者 kotlin
    he110comex
        73
    he110comex  
       323 天前 via Android
    提供一个偏门思路:
    iPhone 有个捷径,可以实现很多自动功能,不用写代码,小孩子拿来解决实际问题,还是很有锻炼作用的。
    user8341
        74
    user8341  
       323 天前
    名校的编程课就是以 Python 入门。其他理工科也用得上 Python 。可见 Python 是入门的首选。当然要深入学习,最好还要再学一下 C 和 Java 。
    Nadao
        75
    Nadao  
       323 天前
    读书时学过 QB,VB,Pacsl,C++. 还是 VB 最简单。
    learningman
        76
    learningman  
       323 天前
    @zackwan95 但是初中生高中生最好的出路本来就是做题
    学计算机除非说你能 NOI/CSP 拿牌保送,否则高考一分不加
    clxtmdb
        77
    clxtmdb  
       323 天前
    他自己主动的话,好好引导和培养这个兴趣,建议 js,然后做一些网页,能快速让他和其他人看出效果
    raaaaaar
        78
    raaaaaar  
       323 天前 via Android
    怎么说呢,没有一个通用的答案吧。我感觉干脆去打 oi 最好了,省的以后再花那么多时间去搞算法。。
    vitr4
        79
    vitr4  
       323 天前 via iPhone
    啥都别想 先从 scratch.mit.edu 开始学 有兴趣了 入单片机 stm32 树莓派 软硬结合培养兴趣
    yzbythesea
        80
    yzbythesea  
       323 天前
    我小学最开始接触编程是 Logo 语言,就是现在 python turtle 这个库,当时特别有意思,甚至能学到递归这种高级思维。然后初中开始搞信息竞赛,学的是 Pascal 。

    我觉得语言 Python 或者 Javascript 都挺合适的。重要的是对于编程思维的吸收,易得的成就感和对于算法,数据结构的理解。没有必要一开始就啃 C 这种硬骨头。
    zeroDev
        81
    zeroDev  
       323 天前 via Android
    先学好数学
    northisland
        82
    northisland  
       323 天前
    除了玩🐍外,c++也是可以推荐一下的

    高中 NOI 、IOI 比赛,拿上名次,清北复交的保送直通车。

    这种大牛基本不上 v2
    AntoniotheFuture
        83
    AntoniotheFuture  
       323 天前
    Minecraft Spigot Java 编程,边学边玩
    namelosw
        84
    namelosw  
       323 天前
    Python/JS

    千万别从 C/C++开始

    兴趣比别的都重要
    northisland
        85
    northisland  
       323 天前

    *OI 竞赛介绍。只接受高贵的 c++,不支持其他搬砖式语言。
    tumaowolf
        86
    tumaowolf  
       323 天前
    那是你侄子不是你儿子
    让他好好学习当人上人,别当猝死没人管的码农
    tigerZhang
        87
    tigerZhang  
       323 天前
    Python 吧
    wangbudong
        88
    wangbudong  
       323 天前
    先把数学和物理学到大学那部分再说
    FlyingShark
        89
    FlyingShark  
       323 天前
    python,高中要考的,提前学很合适

    最好跟着例子学习语法,不要直接看语法和数据结构,否则很快没兴趣了
    sevenzhou1218
        90
    sevenzhou1218  
       323 天前
    卧槽,我初一要是有这个觉悟,我现在就不会混这么差了。
    reus
        91
    reus  
       323 天前
    学 unity 做游戏
    一来用的是 C#,不会因为学 python 、js 之类学坏了口味
    二来对于游戏本身也有祛魅的作用,可能会更少沉迷于游戏
    三来游戏也是不会衰退的市场,不像前端后端,浪头一过,那些流行的东西都要淘汰
    四来技术要求更高,对于数学物理等都可能涉及,更能激发学校学习的兴趣
    总之综合来讲,学习游戏制作,而不是泛泛地学编程,是更好的选择
    zhw2590582
        92
    zhw2590582  
       323 天前
    JavaScript,上手容易,一个记事本都可以写代码了
    wanglulei
        93
    wanglulei  
       323 天前
    html+css 入门更快吧
    zackwan95
        94
    zackwan95  
       323 天前 via iPhone
    @learningman 做题是好出路所以从早上六点到晚上九点都应该做题是么,服了,能不能不要非黑即白
    djoiwhud
        95
    djoiwhud  
       323 天前 via Android
    普通人自学别想了。一定要有大人全程辅导。初一,连 for,while,loop 都认不全
    piqizhu8
        96
    piqizhu8  
       323 天前
    建议 python 3
    vanityfairn
        97
    vanityfairn  
       323 天前
    初中还太小了,个人感觉不适合学编程,用不上的东西,到到了后面,又要冲刺高中,高中再是高考,会忘记的。为何不好好打好基础呢?文化基础很重要阿
    VictorJing94
        98
    VictorJing94  
       323 天前
    良心推荐 Scratch,app inventor
    pengyOne
        99
    pengyOne  
       323 天前
    初一已经有编程比赛了。。。

    可以问问你们班主任学校有没有组织这种班,一般都是选拔数学比较好的人去

    在校理直气壮去电脑房还能参加比赛,如果拿到名次,还能保送重点高中(不知道现在还有没有这种说法),不更好?
    hideinbush
        100
    hideinbush  
       323 天前
    @AndyAO 不一样的,那种是兴趣驱动自己就会去探索
    @xjy0454 我的建议是让你侄子自己学会搜索引擎的使用,这个是第一步,语言只是工具,根本不重要

    1 、兴趣驱动的,就是先通过搜索引擎多看,觉得什么酷炫,然后依样画葫芦,别人用什么语言就跟着用,这种要真的自驱+能发现乐趣才行
    2 、功利 /粗暴的,直接上 NOI 就完事了
    1  2  
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1898 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 00:26 · PVG 08:26 · LAX 16:26 · JFK 19:26
    ♥ Do have faith in what you're doing.