自学编程,希望各位指点下学习路径。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
BouleDeNeige
V2EX    问与答

自学编程,希望各位指点下学习路径。

  •  
  •   BouleDeNeige 2020-08-27 04:29:09 +08:00 4555 次点击
    这是一个创建于 1939 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先介绍下自己,本人男,90 年生人,今年 30 岁,未婚。08 年高中毕业,拿到杭电软件学院录取通知书,由于家庭原因未能上学。随后辍学在底层打工,环境原因也没人点拨,浑浑噩噩混了 10 年。随着年龄增长突然觉得自己应该做点事情摆脱这种困境。

    18 年时鉴于自己生性内向,不善处理人际关系,觉得应该学点技术。网上说学 python 入门快,于是自己利用打工之余,自学了一本《 python crash course 》,跟着敲了点范例,学了点基本的语法知识。就这样由于没什么可以预见的成效,只是学了语法没有用武之地,又荒废了一段时间。学 python 的时候加了几个电报群,听他们群里聊天发现 C 语言是绕不过的门槛,当下正在自学《 c primer plus 》。

    我这种盲人摸象式的学习方法,自己也没有信心。想着上网找有工作经验的前辈,指点一下学习路径。比如如何找项目练手,或者说一下能胜任工作的知识结构。

    我的目的也不一定非要找到程序员的工作,毕竟自己的条件很差(指学历和年龄),但是希望自己能参与到 github 的项目,融入这个圈子。

    28 条回复    2020-08-28 11:03:33 +08:00
    msg7086
        1
    msg7086  
       2020-08-27 05:40:41 +08:00   1
    C 语言是绕不过的门槛,不等于没多少经验就要直接上手学 C 。
    基础不牢直接上手指针环境是会被绕晕的,然而就算是起手的 hello world 也是要用到指针的(字符串就是字符数组,打印时降解为指针)。
    考虑到你几乎零基础起手那最好还是顺着 Python 这条路走,真要学 C 也最好从 PHP 学起,回头再转 C 会熟悉很多。
    入门的时候一定要给自己定一个小目标。比如你学 Python,那传统点的比如说做一个学生管理系统,图书管理系统,等等。定下来以后,去看有哪些做法( Web,GUI 等),然后去了解要用到的相关技术( Web app stack,前端等),然后再去针对短板学习。我初中的时候学编程,基本也就是做个类似学生管理系统的东西,关键看你有没有这个想法去完善、改进你的项目,学更多的知识,然后逐步去迭代自己的代码。
    还有 C#也是个挺好的入门语言,语法相对比较干净和先进,如果 Python 做 Web 上手感觉要学的东西太多,C#直接撸 WinForm 也是可以的。
    qianyin925
        2
    qianyin925  
       2020-08-27 08:27:29 +08:00
    hehhe1
    miv
        3
    miv  
       2020-08-27 08:34:58 +08:00 via iPhone
    没啥圈子不圈子,如果单纯想学建议不要学低级语言, 直接学高级语言。
    比如 nodejs,php 这一种可玩性比较高的,好出活
    sinkdwt
        4
    sinkdwt  
       2020-08-27 08:40:44 +08:00 via iPhone
    推荐 html+css+js
    340244120w
        5
    340244120w  
       2020-08-27 08:43:38 +08:00 via iPhone
    如果是 Java 的话 推荐一个 b 战 up: 狂神说

    前后端运维全栈线路都帮你安排好了
    chfight
        6
    chfight  
       202008-27 08:43:47 +08:00
    @msg7086 大学不都是直接学 C,感觉没什么问题

    不过当前环境的确可以直接学高级语言,语言+常用的类库学的差不多就可以直接找工作,不要嫌弃工资低,跟这项目慢慢好了
    sDG9xz87SqqCC3mN
        7
    sDG9xz87SqqCC3mN  
       2020-08-27 08:46:33 +08:00 via Android
    @chfight 对于没什么基础的人来说,学 C 的时候指针是真的很难,反正我们大一学 C 的时候没几个人弄懂指针了的…
    msg7086
        8
    msg7086  
       2020-08-27 08:58:18 +08:00
    @chfight 大学直接学 C,首先你是全职学生,一星期两三节课,老师系统性地讲,回家有作业,旁边有室友每天可以交流,隔壁寝室说不定有大佬可以手把手指导,不懂还能去办公室问。其次大一 C 语言课程结束以后有多少人能达到可以用 C 写简单项目的程度的。我同级的同学毕业的时候不会写 C 的还一大把……

    而且在此之前,很多大学入门用的是 Pascal,虽然有指针但是只需要用在链表里,日常使用完全碰不到,我相信那时候的编程入门比用 C 语言要简单太多了。
    cmdOptionKana
        9
    cmdOptionKana  
       2020-08-27 09:09:11 +08:00   2
    学吧,楼主,给你一个建议,遇到难点不要死磕,研究一天搞不明白的地方就跳过,把难点先记下来(做笔记),你先学别的,学着学着回头再看就会发现很容易理解。

    学 C,学算法和数据结构,但不要死磕,实在学不下去了可以去学前端,前端比较好玩,一段时间后再回头重学 C 和算法。
    miv
        10
    miv  
       2020-08-27 09:09:33 +08:00
    另外推荐一个学习宝地,就是 b 站。上面好多免费的视频教程,按照上面评价好的课程来,过一遍,再去看书巩固,基本就好了。
    一开始学习的话直接看书,没有人讲授太枯燥无味了,所以一个好的课程或者一个好的老师(比如讲课幽默),的的确确可以让你事半功倍。
    cmdOptionKana
        11
    cmdOptionKana  
       2020-08-27 09:14:41 +08:00   1
    业余学编程玩的,遇到难点千万不要死磕,继续学别的知识点就是了。学个一两年或三四年(具体时间看个人天赋和努力程度)之后,还有一些难点解决不了的,并且这个难点很关键影响很大,可以上论坛来问。
    jay4497
        12
    jay4497  
       2020-08-27 09:44:19 +08:00
    Administrat0r
        13
    Administra0r  
       2020-08-27 09:50:31 +08:00   2
    emmm 我觉得你还是最好先弄清楚你学来要做啥,手机 app ? web 网页?服务器?桌面软件?有一个大致的方向比较重要,时间没那么多,不可能啥你都学,确定了方向,主流的语言工具就那几样,慢慢学。
    interim
        14
    interim  
       2020-08-27 09:52:02 +08:00
    真的想学,我觉得你去知乎多看看建议都比这里好..
    Jirajine
        15
    Jirajine  
       2020-08-27 10:46:40 +08:00 via Android
    误人子弟,程序员有几个会写 C 的。
    darkkylin
        16
    darkkylin  
       2020-08-27 10:56:02 +08:00   1
    楼上有人的建议是比较好的,先选择高级语言,第一是能有产出,给你的学习积极性起到正反馈作用;第二是能尽快入行,在工作中快速积累。既然有心要改变自己,坚持住吧。
    crella
        17
    crella  
       2020-08-27 11:00:18 +08:00 via Android
    融入这个圈子有啥好的,不如看看能不能提升技术或者做副业,学好 office 都好一点。

    我也是类似的“失足”人员。
    crella
        18
    crella  
       2020-08-27 11:11:13 +08:00 via Android
    我不懂编程,上面说的偏激一点。我只是根据我看到的回帖,感慨一下为工资编程和为兴趣编程真的不是两回事,前者劝退了我……
    whyrookie
        19
    whyrookie  
       2020-08-27 11:13:00 +08:00
    如果是 C 语言推荐郝斌老师的 C 语言教程,如果是 Java 同推荐 B 站狂神说 Java
    across
        20
    across  
       2020-08-27 11:15:34 +08:00 via iPhone
    学小程序
    saltbo
        21
    saltbo  
       2020-08-27 11:35:05 +08:00
    92 年野生程序猿,11 年开始自学。不请自来回答一下。

    首先,就像楼上说的,要搞清楚你是为了提高收入,还是兴趣使然。 如果是为了提高收入,真不建议现在这个年纪转行来搞这个。成本太高了。 大概率后面会被劝退。

    如果是兴趣更多,那么要明确学编程的目的是什么?做个 app ? 做个网站? 做个小程序? 现在开始学,没那么多时间给你试错了,选择一个方向很重要。 做 app 又细分安卓 ios 网站又分前端后端 前端后端又细分各种语言。。。

    所以,强烈建议先确定目标,再规划学习路径。

    我始终认为:自学要以目标为导向。所谓以目标为导向就是比如我想做个什么东西,那么你就去了解做这个东西需要什么技术,然后就定向去学这个技术。而不是去学那些很基础的东西,因为你本来就不是在上学,而是在自学。自学就要有目标导向,这样学习的过程会有成就感,会有继续学下去的动力。而你去学那些很基础的东西,像 C 语言,一方面学的很痛苦,另外,你学完了你知道能干啥么? 没有目标就会劝退~~

    以上
    wqzjk393
        22
    wqzjk393  
       2020-08-27 12:49:46 +08:00 via iPhone
    学数据结构算法 写项目 读源码 看技术博客,学编程无非就这几样
    ironMan1995
        23
    ironMan1995  
       2020-08-27 13:42:37 +08:00
    C 语言入门 Java 入门 数据结构 狂吹浙江大学出的教材和 MOOC 上面配套的视频。我现在把 C 语言的教材(C 语言程序设计第三版)都快自学完了,每章课后习题做一遍,还有配套的设计实验与习题的书。我感觉智商正常跟着边学边敲一遍基本没啥难度,我只自学过前端指针那真没啥难度
    ironMan1995
        24
    ironMan1995  
       2020-08-27 14:01:09 +08:00   1
    《 C Primer Plus 》我也有买,实话实说这本书太厚了,一开始用这本书入门就是劝退用的。我的规划就是先入门 C 教材用《 C 语言程序设计第三版》浙江大学翁恺老师,入门完了学数据结构《数据结构(第 2 版)》浙江大学陈越老师。这两本都有配套的习题书记得买。然后看《编码:隐匿在计算机软硬件背后的语言》这本书了解下大概计算机原理(很通俗易懂豆瓣评分 9.2 ),再之后看《深入理解计算机原理》(里面也都是用的 C 语言,期间用 C 继续刷刷题)。后面就是学 Java 了,入门就是用《 Java 语言程序设计教材》也是浙江大学翁恺老师的另外也有一本配套的习题书。
    划重点:浙江大学这几本教材都有视频在 MOOC 上面,真的很通俗易懂。其实如果嫌弃看视频慢完全自己跟着书都能学会,我就是跟着书自己敲,等后面整本书学完再把视频快速过一遍复习下
    azcvcza
        25
    azcvcza  
       2020-08-27 14:40:59 +08:00
    编程学到最后总要过 数据库;编译原理;计算机网络;计算机系统 四门课
    levelworm
        26
    levelworm  
       2020-08-28 08:22:15 +08:00 via Android
    可以先看想做什么,然后一边学一边做,千万别看大部头,两个月肯定 burn out 了,我就是。
    Jinnn
        27
    Jinnn  
       2020-08-28 10:18:18 +08:00
    建议先把计算机考研用到的四本书《数据结构与算法》《计算机网络》《计算机组成原理》《操作系统》学习一下,也有很多网课方便学习,这是比较重要的基础,能看下来的话说明你自学能力还不错,然后再根据你想要求职的方向学习细分的知识
    overthemoon
        28
    overthemoon  
       2020-08-28 11:03:33 +08:00
    鉴于你的基础和想快速摆脱目前的困境,我建议你还是别去死磕什么所谓的基础了,没个一两年是没办法系统性的学完的。特别是 c 言语,你没硬件基础语法学了没用的。
    现在市面上流行的编程语言是 java,php,golang 之类的,别学什么 Python 了,就一脚本,很难找到正式工作基本上要依托其它学科基础。建议你学 java,java 的生态现在很完善了,网上一大堆资料,你要做的是把 java 的基础语法一个个敲一遍熟悉一下,然后记个大概去看视频学项目,记得,想要学好一门语言一定要上手,最好的上手就是做项目。
    等你做了几个小项目之后对语法和框架有了一定了解,就去外包公司投简历,为什么说外包呢,因为外包要求低,先混个一年,然后在跳槽。差不多这样就正式进入编程行业了。
    如果学的不错再看看其它语言,前端啊还是后端,在规划一下。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5614 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 06:23 PVG 14:23 LAX 22:23 JFK 01:23
    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