作者:王雷

链接:https://www.zhihu.com/question/45216002/answer/120794304

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

学编程最重要的是实践,就是写代码、看别人写的代码、再写代码,你看再多的书,听再多的公开课,不写代码,你还是不会编程。但是写代码也要讲究方法循序渐进,不能刚学了几天语法,就想写个操作系统什么的,树立这种不切实际的目标只会让你的自信受到严重打击。我学习一门新的语言,都有一个三步走的计划:

  1. 学好语法以后,开始写一些小程序。所谓小程序,我的定义就是100行以内就能解决的问题,其它答案里有人建议的TopCoder有很多这种题目,另外我推荐Problems | LeetCode OJ,还有我用Python写的答案(RealHacker/leetcode-solutions)。做这些题目不但能够熟悉语言的语法,而且可以操练一下数据结构和算法,毕竟这些都是编程的基本功,另外对于要找工作的同学,这上面的题目刷一遍对于技术面试很有帮助。

  2. 然后,就可以找一些中等规模的实际问题来解决。这一阶段的目标不只是语法,你还需要了解这个语言的标准库和一些常用的第三方库,清楚这种语言常用的编程范式(过程式、面向对象、函数式)。我推荐Github上面的这个repo:A list of practical projects that anyone can solve in any programming language. 这里面的项目都不大,但是涉及面比较广。比如:
  • 写一个FTP客户端程序,你需要了解网络编程的一些知识。

  • 写一个带进度条的下载器,你需要了解多线程,也许还需要图形用户界面编程。
  • 写一个简单的论坛程序,你需要了解web编程,数据库访问等等。
  • 写一个给图像添加数字水印的程序,你需要了解最基本的图像编程。
这些程序工作量也不大,加上学习各种库的时间,应该最多一星期就可以完成。不要小看这些程序,很多庞大的软件项目最开始也就是几百行的程序而已(参见GitHub - aosabook/500lines: 500 Lines or Less)。写好以后,不用沾沾自喜,要知道这些都是被人发明过几百遍的轮子,找一个完成同样功能的成熟开源程序,读一下它的源码,并和自己的代码比较,看看别人的写法好在哪里?有哪些设计模式可以学?

3. 经过上面的历练,你应该对这种语言的编程有些感觉了。前两步都是Single Player Game,但是软件是一个群体性工作。所以接下来可以参与一些实际工程:找一份用这种语言编程的工作,或者参与一个开源项目。这一阶段的目标就不局限于技术本身了,你要了解软件工程方面的很多知识,比如怎么和别人合作开发、开发流程、代码风格、文档、以及软件架构等一些宏观的东西。

经过上面三步,你应该已经是这门语言的一个合格程序员了。

但是别指望21天就能打完这三关,10年还差不多。最后送上21天学会C++的秘籍:

作者:笑笑

链接:https://www.zhihu.com/question/45216002/answer/108923212

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

一、如何获得与名牌大学差不多的教学?

各大名校的公开课

二、学完上面的基础,想学PHP,JAVA,C++等?

免费IT学习社区

学习路线和方法(安利一波萧大的指南)

微信公众号/订阅号(这个是我一有零碎时间就可以看的,如上厕所,无聊等人等车,晚上在床上睡不着等的时候)

想学前端或者MEAN全栈套路的可以去看一下FCC(安利一波FCC,着实不错)

三、自学的心得

1、一定要把基础打好,也就是我上面提到的大学公开课,尽管我在一些免费的IT学习社区学得前端或者PHP比较深,也是要回过头来打好基础,因为深入到底层还得是数据结构,网络,操作系统那些

2、学习过程中注意总结,具体可以去看一下费曼技巧:号称终极快速学习法的费曼技巧,究竟是什么样的学习方法? - 吴笛(pimgeek) 的回答

3、视频教程可以让你快速掌握知识,但深入的话还得看书和做项目

4、可以尝试看英文文档和网站,例如W3C的文档,StackOverFlow,Quora等

5、身心要健康,因为身体是一切革命的资本啊!

6、切忌浮躁

7、给答主点个赞,从此编程路上无BUG,哈哈

8、复杂系统总是源于简单系统的演化,不用考虑太长远,合适现有业务就好,之后再拓展

9、虽然说给帅答主点个赞,无bug,但是bug总是难免的,要耐心去解决,最后总结出错的原因,坚持下来就有快速排错的能力了

10、在没有头绪的情况下,可以把问题阐述一遍给同事,朋友或家人,很多时候会灵光一闪

11、计算机是门应用型为主的学科,以项目为驱动,不断地编码与总结,从此踏上幸福快乐地生活~

12、学而不思则罔,思而不学则殆

13、博学、审问、慎思、明辨、笃行

 

作者:匿名用户

链接:https://www.zhihu.com/question/45216002/answer/99153439

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

1.想学习前端的,资料网上太多了,很多人都是这个看看,那个看看,结果感觉自己什么都没学到,我也不在这里给大家推荐资料什么的了,说说一些经验吧

html和css是熟能生巧的东西,我不觉得有捷径可走,边学理论边做出东西来,才有可能进步,你只需要下载Hbuild编辑器,和notepad++就可以开始写代码了,不用环境,用浏览器打开就可以看到效果,可以自己仿一些好看的网站。

2.js主要是负责一些页面动画,数据处理,例如鼠标点击返回顶部,图片旋转之类的,前期做网站可以多找找插件,各种效果和动画基本上都有,先学会用,再学会写,jQuery是js的库,需要引入一个jQuery文件,浏览器才能识别jQuery的代码,新手用起来容易上手

3.后端主要指网站后台,基本的就是增删改查了,后端语言有很多,php,Java,node.js,选一个自己感兴趣的了解和学习,基本上就可以做一些简单的企业网站了,如果对后台没很多要求,也可以套CMS,学习成本很低

4.网站环境新手可以使用phpstudy,安装好就可以运行,想要自己做的东西给别人看看,也可以在阿里云和腾讯云买台虚拟服务器,低配40多一个月,然后购买一个域名,域名在万网可以购买,不过要备案,网上都有流程,基本的学习思路html,css,js(前期可先了解jQuery),php或者Java,MySQL的数据库基本用法,h5和电脑网站的写法会有些区别,不过是很有意思的东西,节假日可以做些小游戏放在朋友圈,大转盘,抽奖,恐怖游戏之类,新手兴趣应该会很大。后期提升就不说了,入了门,路要怎么走,你会有自己的想法了,说的不对的,请各位指出,以免误导初学者了。谢谢大家善意的鼓励。

作者:路人甲
链接:https://www.zhihu.com/question/45216002/answer/104456158
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

Java教程:

如何一步一步的学Java - 学习编程 - 知乎专栏

java初学者,如何学习java? - 路人甲的回答

Java工程师面试题整理[社招篇] - 学习编程 - 知乎专栏

Java工程师笔试题整理[校招篇] - 学习编程 - 知乎专栏

C语言教程

自学c语言,有什么好的建议或方法吗? - 路人甲的回答

C、C++语言学习资料 - 学习编程 - 知乎专栏


html5教程:

想自学html5,应该从那些方面入手,望指教。? - 路人甲的回答

python教程:

怎么用最短时间高效而踏实地学习 Python? - 路人甲的回答

编程零基础应当如何开始学习 Python ? - 路人甲的回答

网易云课堂上有哪些值得推荐的 Python 教程? - 路人甲的回答

如何学习Python爬虫[入门篇] - 学习编程 - 知乎专栏

Python常用库整理 - 学习编程 - 知乎专栏

学好Python的11个优秀资源 - 学习编程 - 知乎专栏

前端开发教程

本科生如何系统地学习前端开发? - 路人甲的回答

如何成为前端工程师? - 学习编程 - 知乎专栏

Front End Developer Questions(前端开发面试题) - 学习编程 - 知乎专栏

git教程

git - 入门指南 - 学习编程 - 知乎专栏

linux教程:

vim/vi命令整理 - 学习编程 - 知乎专栏

零基础开发游戏教程:

零基础如何开发游戏 - 学习编程 - 知乎专栏

php教程整理

让php给你一个美好的晚安! - 学习编程 - 知乎专栏

Javascript教程

Javascript常伴你左右 - 学习编程 - 知乎专栏

ios、android教程

如何开发一款APP - 学习编程 - 知乎专栏

文科生13年毕业,已工作2年,想转行做IT,自学安卓靠谱吗?还是选择培训? - 路人甲的回答

新手从零开始学Android开发要点? - 路人甲的回答

mysql教程

从Mysql迈入数据库 - 学习编程 - 知乎专栏

正则表达式教程

正则表达式 - 学习编程 - 知乎专栏

大数据相关

大数据可视化工具推荐 - 学习编程 - 知乎专栏

其它内容

编程话题实用问答整理 - 学习编程 - 知乎专栏

10个常用的代码文本编辑器/IDE - 学习编程 - 知乎专栏

代码编辑器的配色方案 - 学习编程 - 知乎专栏

代码编辑器的插件推荐 - 学习编程 - 知乎专栏

更舒服的写代码[字体篇] - 学习编程 - 知乎专栏