如何选择业余学习编程的方向?
程序员文章站
2022-06-04 18:02:11
...
回复内容:
python flask web,别想别的了,三心二意发私信问我的你也不是第一个,认清自己,好好干吧。别想什么成就感了,你不是说了,是为了钱吗
你就不能直说你都看了什么书?每本书又看了多少?为什么看不下去吗?
藏藏掖掖的,有什么意思,如果你只能问我一个问题,你就希望问这种毫无诚意的低质量问题?
————————
我现在没空,先随便说几句。
(建议你搞个头像,不然都不知道该 @ 谁)
找工作的话,第一步看这本书,把里面的东西消化理解
Flask Web开发:基于Python的Web应用开发实战 (豆瓣)
其中遇到不懂的概念,积极使用搜索引擎,入群和人讨论,知乎提问都可以(只要是你自己思考过的问题,我不回答也会有别人回答的)
可能需要补充的知识有
1,web基础知识(HTTP,HTML等)
2,数据库基础知识
然后,第二步,通读 flask 源代码(理由、方法待补)
这样找工作不成问题,先改变生活再改变人生吧。
其实这段话我说过好几遍了 既然大家都推荐题主写Web,而题主又无从下手的话,跟着我这个练习做起就好了:
简单建模练习:任务管理(task management)
算起来,如果每天都有两个小时的时间的话,就算是新手也能用一个月左右搞定吧。
Rails/Flask随便你来定,可以的话在Github上搭建一个repo,顺便跟大家分享你的进度和成果。
不知道怎么做的话可以先跟着官方的tutorial走一段,熟悉一下概念,有问题多去搜索,实在不行的发到知乎上来讨论也可以。
利益相关:科班出身(然而并没有什么卵用。 我也不太建议题主去c++方向,萧大神言辞犀利,我就告诉你为什么吧。因为需要的基础太多了,你需要好好学数据结构和算法,操作系统,网络什么的,就算除去这些,光一个c艹本身都是个坑。。这显然和你的想尽快找工作的目标是不一样的,而且也容易让人丧失信心。
还是python方向好一点,我同学自己学了python,后面自己做了个网站玩,前后也就差不多两个学期的时间,你有python基础的话会更快。 至于你说能看懂但是不会写代码那肯定是自己写的少了,一定要自己多写才行,很多大神其实刚开始都是用最笨的办法,就是把书上的代码全部自己敲一遍。
至于资源建议看看慕课网的,比较偏实用。还有网易云课堂,比较偏基础理论,类似本科计算机课程。书的话就在知乎和豆瓣看看大家都推荐的,我不怎么用python,所以不熟,还有SICP那种书太难了,并且你现在看了也没什么帮助,留着以后吧。
还有你说的补数学英语什么的我觉得不用急,学编程就学编程,编到需要哪个单词不会就去记住,需要哪些数学就再去学,其实刚入门用python写写网站,爬虫什么的用不了多少数学的。如果你先学数学,再学英语。。还没等你从你的六人间出来自己的信心都被磨掉了。
网上有很多python爬虫的博客教程,百度一下就好了。 最容易入门,需求又非常高的编程手艺,就是写网页。从纯HTML给个别需要渲染的内容贴上常用标签,到添加CSS来统筹渲染,再到添加JS来实现动态页面效果,然后慢慢开始学AJAX与服务器端的程序交流,编程的门路就摸得挺清了。
刚开始编程,最大的坎儿应该就是不会主动去构造抽象。从纯HTML到AJAX这个过程,能帮你从最直白具体的技术一步步走向抽象和强大。
这个过程的一个好处是知识基本上自成一体,不需要什么额外的传统理论和经验。另一个好处则是,编程反馈快;写点东西,不需要写完整,就可以打开浏览器看看效果,特有成就感:) 额外的好处还有一个,你要看到哪个网页有你想实现的漂亮效果,在Chome,Firefox或IE下按F12功能键,就能看到它们是怎么被实现的,所以可用的编程案例触手可及。 看了老萧那指南和答案,虽然写的不错,其实很不适合自学。
作为自学者要先稳定信心。所以从高级语言开始做demo起步,哪怕用php,Java,js写一个注册登陆验证功能都比一开始学编码,计算机构造与解释好。
有成就感后,慢慢做更复杂的功能再深入。多问自己为什么?比如浏览器发个请求他为啥就到你写的的那端后台代码了,而不是跑去别的地方?中间经过了哪些步骤?你追根究底就会学http,IP ,TCP,socket,cdn,域名解析等等,深入一门语言,你深入下去自然会遇到很多疑惑和问题,你会学相关的知识,这时数据结构,算法,计算机网络,基础,你自然感兴趣了,到了这里可以找份不错的工作了。
这时你以为懂得差不多时其实还差的远。还有很多高峰等着去登,你还得学习下软件工程,设计模式,设计原则。设计模式又分宏观和微观,宏观以posa那套书为经典,微观就是设计模式和其他小技巧。要想走的更远更高其实还得深入某方面和行业,比如机器学习,推荐引擎,自然语言处理,搜索引擎,大数据处理与分析,移动开发,每个方向都不错。
如果爱折腾想搞搞圈子,可以学学德鲁克,稻盛和夫,杰克韦尔奇,多读政治经济人文书,这时你发现已经超脱了技术,能有一定的统御力了。江湖就是这些人的 我自学c#了两个月勇敢地去应聘了程序员。我告诉你,只读书没用,把别人的项目完完整整地做,做到熟练,不懂得的地方去书上找答案。
我觉得应试教育让很多人产生了一个非常糟糕的习惯:总要先把所有东西学会,花很多很多时间学基础,然后再出来做事。当然,这个是正确的,也有助于你日后的发展。但是,针对不同情况要有不同的策略。
我认为,人应该是目标导向型的,特别是对于程序员。编程是一个技术更新迭代很快的工作,每天都有新的东西产生,你不可能学会所有的东西。你应该先有一个目标,然后安排需要学的东西。每种东西也不用学透,但是你一定要知道这个干嘛用的能帮你解决什么问题,至于为什么,可以先不管。当你遇到疑惑的时候,和实际情况结合起来去查资料,去思考,往往事半功倍。
比如.net的页面生命周期,不知道大家是如何,反正我光看书是根本不懂,但是它很重要因为涉及到http://asp.net的底层,可以保证你对页面的控制(不知道我说得对不对,大家可以指正)。我也不怕你们笑我,我当时就上网找资料,然后把整个周期硬背了下来,为什么?是面试用的。现在我工作了一段时间,才明白生命周期的意义。我发现,其实很多人干了很多年,也不懂什么是页面生命周期的意义。
所以你的问题在于,你不知道自己该怎么发展,而不是学习能力差。
你要当什么方向的程序员呢?
前端还是后台,bs还是cs,确定一个方向,再去扩展技能树,把技能先点一级,至少可以用。然后去网络上down项目,好的项目做个几遍,你会明白很多东西。
然后就可以去找工作了。
你不要找那种太牛逼的公司,去找一些创业的公司,做一个初级程序员。面试的时候展现出你的热情和对一些程序的基本了解。反正你进去也是干一些重复性的搬砖活,那些活真的用不到什么太高深的东西。当然,不要乱开薪水,3k,4k可以试着开。
然后在工作里慢慢地磨砺自己,你会发现。
我现在常常在想,当时找工作的勇气哪里来?
现在我明白了,是源于“无知”。
所以,找到一份程序员工作,真的两个月足矣。
但要成为一名优秀的程序员,要一辈子。
希望你谦虚,不浮躁。 - 摘自某位「非业余程序员」的回答
我觉得这是最「中肯」的意见。。
---
黑都看不出来吗。。 我是来灌鸡汤的,题主张嘴来,啊~
我是EE类专业的,我一同学和我一起大学玩war3的,毕业之后由于各种原因(成绩啊,身高相貌啊等等吧)最后去卖电梯,一年多下来托关系卖了一部,拿了奖金跟家里借了点钱报了培训班学编程开发了。
这哥们待过的地方有人民网(邓亚萍那个)、搜房网等等,后来得到个机会从北京转回西安老家,现在任某小公司cto,安卓/ios通吃,自己在开发游戏,房车老婆已有还准备自己创业。
要说旁人看来这哥们的成功转型有什么借鉴之处是说不到点子上的,这只是个案例。我觉得可能是以下几点:
1、性格倔强,这也是我们最烦他的,嘴炮;
2、容易沉迷,也可以说是所谓的专注吧;
3、风太大。
所以题主有心就去干,不要太在意别人说什么,祝好运。 JAVA,C#,PHP,Python任选其一就行。C不容易有成就感,C++过于难了。
JAVA有Android可以依托,C#有桌面软件和windows phone 应用可依托,至于Python和PHP都是学习起来比较顺畅的语言。
请相信我,想要快速入行,他们推荐的那些书目前对你都没什么卵用。最快入门的方法当属看视频,看比较全面的入门视频。现在网上能搜到的教学视频太多了。不要问我怎么搜资源,如果你连这点搜索水平都没有,那就别想做程序员了。
学安卓开发:MSDN李兴华JAVA视频(或者马士兵的JAVA)+黑马Android4.0开发教程
学习周期定位4个月,边看边做笔记边练,以后再花两个月大量练习,之后就可以找工资一般的工作先干了。(都是全脱产学习,也就是一天至少能学8小时的那种)
学C# .net 开发,可先看传智播客的C#基础视频教程,然后看C#的wpf 教程,然后找.net视频教程看。
至于看书,刚开始啥也不懂看书纯属浪费时间,效率太低。以后视频的内容已经不能满足你了,这时候看书提高内功则很有必要。
至于什么算法,什么acm 对你来说没什么卵用。先成为一个新手码农先入行最重要。你要是沉迷于造*(研究底层基本原理和算法),以你目前的水平恐怕在造出*之前就饿死了。 作为半路出家的非业余程序员来说。
1. 我从买第一本书,到开始真正理解什么是编程,花了6个月时间。
2. 需要大量的阅读。在开始几年,我购买了大量的编程相关书籍,花了绝大部分业余时间去阅读和理解。
3. 不停的写程序。这也占有了我几乎全部的业余时间。
4. 即使如此。8年后的今天,我很多东西也是不会的,水平只能算一般般。
所以,我认为你才刚刚接触,什么都不懂是非常正常的,你欠缺的知识是太多的。并没有什么捷径可以帮助你,无非是大量的阅读理解和编码。
所以我认为,如果不是真爱,不太可能一个人会成为一个真正的程序员。这是一条枯燥的道路,需要不断的学习,那些见钱眼开转行学编程的,我估计大多数在学会之前就放弃了。
**************
顺便吐槽下,你看中国人写的guide、指南什么学了6个月什么也明白是正常的。买本老外写的入门书看看比什么都强。