先介绍下自己,本人男,90 年生人,今年 30 岁,未婚。08 年高中毕业,拿到杭电软件学院录取通知书,由于家庭原因未能上学。随后辍学在底层打工,环境原因也没人点拨,浑浑噩噩混了 10 年。随着年龄增长突然觉得自己应该做点事情摆脱这种困境。
18 年时鉴于自己生性内向,不善处理人际关系,觉得应该学点技术。网上说学 python 入门快,于是自己利用打工之余,自学了一本《 python crash course 》,跟着敲了点范例,学了点基本的语法知识。就这样由于没什么可以预见的成效,只是学了语法没有用武之地,又荒废了一段时间。学 python 的时候加了几个电报群,听他们群里聊天发现 C 语言是绕不过的门槛,当下正在自学《 c primer plus 》。
我这种盲人摸象式的学习方法,自己也没有信心。想着上网找有工作经验的前辈,指点一下学习路径。比如如何找项目练手,或者说一下能胜任工作的知识结构。
我的目的也不一定非要找到程序员的工作,毕竟自己的条件很差(指学历和年龄),但是希望自己能参与到 github 的项目,融入这个圈子。
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 也是可以的。 |
2
qianyin925 2020-08-27 08:27:29 +08:00
hehhe1
|
3
miv 2020-08-27 08:34:58 +08:00 via iPhone
没啥圈子不圈子,如果单纯想学建议不要学低级语言, 直接学高级语言。
比如 nodejs,php 这一种可玩性比较高的,好出活 |
4
sinkdwt 2020-08-27 08:40:44 +08:00 via iPhone
推荐 html+css+js
|
5
340244120w 2020-08-27 08:43:38 +08:00 via iPhone
如果是 Java 的话 推荐一个 b 战 up: 狂神说
前后端运维全栈线路都帮你安排好了 |
6
chfight 2020-08-27 08:43:47 +08:00
|
7
LiuSha 2020-08-27 08:46:33 +08:00 via Android
@chfight 对于没什么基础的人来说,学 C 的时候指针是真的很难,反正我们大一学 C 的时候没几个人弄懂指针了的…
|
8
msg7086 2020-08-27 08:58:18 +08:00
@chfight 大学直接学 C,首先你是全职学生,一星期两三节课,老师系统性地讲,回家有作业,旁边有室友每天可以交流,隔壁寝室说不定有大佬可以手把手指导,不懂还能去办公室问。其次大一 C 语言课程结束以后有多少人能达到可以用 C 写简单项目的程度的。我同级的同学毕业的时候不会写 C 的还一大把……
而且在此之前,很多大学入门用的是 Pascal,虽然有指针但是只需要用在链表里,日常使用完全碰不到,我相信那时候的编程入门比用 C 语言要简单太多了。 |
9
cmdOptionKana 2020-08-27 09:09:11 +08:00 2
学吧,楼主,给你一个建议,遇到难点不要死磕,研究一天搞不明白的地方就跳过,把难点先记下来(做笔记),你先学别的,学着学着回头再看就会发现很容易理解。
学 C,学算法和数据结构,但不要死磕,实在学不下去了可以去学前端,前端比较好玩,一段时间后再回头重学 C 和算法。 |
10
miv 2020-08-27 09:09:33 +08:00
另外推荐一个学习宝地,就是 b 站。上面好多免费的视频教程,按照上面评价好的课程来,过一遍,再去看书巩固,基本就好了。
一开始学习的话直接看书,没有人讲授太枯燥无味了,所以一个好的课程或者一个好的老师(比如讲课幽默),的的确确可以让你事半功倍。 |
11
cmdOptionKana 2020-08-27 09:14:41 +08:00 1
业余学编程玩的,遇到难点千万不要死磕,继续学别的知识点就是了。学个一两年或三四年(具体时间看个人天赋和努力程度)之后,还有一些难点解决不了的,并且这个难点很关键影响很大,可以上论坛来问。
|
12
jay4497 2020-08-27 09:44:19 +08:00
|
13
Administrat0r 2020-08-27 09:50:31 +08:00 2
emmm 我觉得你还是最好先弄清楚你学来要做啥,手机 app ? web 网页?服务器?桌面软件?有一个大致的方向比较重要,时间没那么多,不可能啥你都学,确定了方向,主流的语言工具就那几样,慢慢学。
|
14
interim 2020-08-27 09:52:02 +08:00
真的想学,我觉得你去知乎多看看建议都比这里好..
|
15
Jirajine 2020-08-27 10:46:40 +08:00 via Android
误人子弟,程序员有几个会写 C 的。
|
16
darkkylin 2020-08-27 10:56:02 +08:00 1
楼上有人的建议是比较好的,先选择高级语言,第一是能有产出,给你的学习积极性起到正反馈作用;第二是能尽快入行,在工作中快速积累。既然有心要改变自己,坚持住吧。
|
17
crella 2020-08-27 11:00:18 +08:00 via Android
融入这个圈子有啥好的,不如看看能不能提升技术或者做副业,学好 office 都好一点。
我也是类似的“失足”人员。 |
18
crella 2020-08-27 11:11:13 +08:00 via Android
我不懂编程,上面说的偏激一点。我只是根据我看到的回帖,感慨一下为工资编程和为兴趣编程真的不是两回事,前者劝退了我……
|
19
whyrookie 2020-08-27 11:13:00 +08:00
如果是 C 语言推荐郝斌老师的 C 语言教程,如果是 Java 同推荐 B 站狂神说 Java
|
20
across 2020-08-27 11:15:34 +08:00 via iPhone
学小程序
|
21
saltbo 2020-08-27 11:35:05 +08:00
92 年野生程序猿,11 年开始自学。不请自来回答一下。
首先,就像楼上说的,要搞清楚你是为了提高收入,还是兴趣使然。 如果是为了提高收入,真不建议现在这个年纪转行来搞这个。成本太高了。 大概率后面会被劝退。 如果是兴趣更多,那么要明确学编程的目的是什么?做个 app ? 做个网站? 做个小程序? 现在开始学,没那么多时间给你试错了,选择一个方向很重要。 做 app 又细分安卓 ios 网站又分前端后端 前端后端又细分各种语言。。。 所以,强烈建议先确定目标,再规划学习路径。 我始终认为:自学要以目标为导向。所谓以目标为导向就是比如我想做个什么东西,那么你就去了解做这个东西需要什么技术,然后就定向去学这个技术。而不是去学那些很基础的东西,因为你本来就不是在上学,而是在自学。自学就要有目标导向,这样学习的过程会有成就感,会有继续学下去的动力。而你去学那些很基础的东西,像 C 语言,一方面学的很痛苦,另外,你学完了你知道能干啥么? 没有目标就会劝退~~ 以上 |
22
wqzjk393 2020-08-27 12:49:46 +08:00 via iPhone
学数据结构算法 写项目 读源码 看技术博客,学编程无非就这几样
|
23
ironMan1995 2020-08-27 13:42:37 +08:00
C 语言入门 Java 入门 数据结构 狂吹浙江大学出的教材和 MOOC 上面配套的视频。我现在把 C 语言的教材(C 语言程序设计第三版)都快自学完了,每章课后习题做一遍,还有配套的设计实验与习题的书。我感觉智商正常跟着边学边敲一遍基本没啥难度,我只自学过前端指针那真没啥难度
|
24
ironMan1995 2020-08-27 14:01:09 +08:00 1
《 C Primer Plus 》我也有买,实话实说这本书太厚了,一开始用这本书入门就是劝退用的。我的规划就是先入门 C 教材用《 C 语言程序设计第三版》浙江大学翁恺老师,入门完了学数据结构《数据结构(第 2 版)》浙江大学陈越老师。这两本都有配套的习题书记得买。然后看《编码:隐匿在计算机软硬件背后的语言》这本书了解下大概计算机原理(很通俗易懂豆瓣评分 9.2 ),再之后看《深入理解计算机原理》(里面也都是用的 C 语言,期间用 C 继续刷刷题)。后面就是学 Java 了,入门就是用《 Java 语言程序设计教材》也是浙江大学翁恺老师的另外也有一本配套的习题书。
划重点:浙江大学这几本教材都有视频在 MOOC 上面,真的很通俗易懂。其实如果嫌弃看视频慢完全自己跟着书都能学会,我就是跟着书自己敲,等后面整本书学完再把视频快速过一遍复习下 |
25
azcvcza 2020-08-27 14:40:59 +08:00
编程学到最后总要过 数据库;编译原理;计算机网络;计算机系统 四门课
|
26
levelworm 2020-08-28 08:22:15 +08:00 via Android
可以先看想做什么,然后一边学一边做,千万别看大部头,两个月肯定 burn out 了,我就是。
|
27
Jinnn 2020-08-28 10:18:18 +08:00
建议首先把计算机考研用到的四本书《数据结构与算法》《计算机网络》《计算机组成原理》《操作系统》学习一下,也有很多网课方便学习,这是比较重要的基础,能看下来的话说明你自学能力还不错,然后再根据你想要求职的方向学习细分的知识
|
28
overthemoon 2020-08-28 11:03:33 +08:00
鉴于你的基础和想快速摆脱目前的困境,我建议你还是别去死磕什么所谓的基础了,没个一两年是没办法系统性的学完的。特别是 c 言语,你没硬件基础语法学了没用的。
现在市面上流行的编程语言是 java,php,golang 之类的,别学什么 Python 了,就一脚本,很难找到正式工作基本上要依托其它学科基础。建议你学 java,java 的生态现在很完善了,网上一大堆资料,你要做的是把 java 的基础语法一个个敲一遍熟悉一下,然后记个大概去看视频学项目,记得,想要学好一门语言一定要上手,最好的上手就是做项目。 等你做了几个小项目之后对语法和框架有了一定了解,就去外包公司投简历,为什么说外包呢,因为外包要求低,先混个一年,然后在跳槽。差不多这样就正式进入编程行业了。 如果学的不错再看看其它语言,前端啊还是后端,在规划一下。 |