只接受发布货源信息,不可发布违法信息,一旦发现永久封号,欢迎向我们举报!
1064879863
16货源网 > 餐饮行业新闻资讯 > 网站建设 >  如何学习编程?顺便介绍些好的网站


如何学习编程?顺便介绍些好的网站

发布时间:2019-07-27 18:53:18  来源:网友自行发布(如侵权请联系本站立刻删除)  浏览:   【】【】【
零基础学习编程 http://www.fenby.com 学习C语言、Java语言、OC语言、安卓课程建议你从C语言开始系统学起再回过头来复习你的Java最后试着看开源代码目的只有一个:语言是工具开发
如何学习编程?顺便介绍些好的网站零基础学习编程 http://www.fenby.com
学习C语言、Java语言、OC语言、安卓课程

建议你从C语言开始系统学起

再回过头来复习你的Java

最后试着看开源代码

目的只有一个:
语言是工具
开发创作靠思维福来了。codecademy用过吗。没用过?现在又来了个runnable。这里有介绍:编程酷站 - 文在兹·大学游。强烈推荐这个。又发现个codecombat,教js的。学习(非前端)编程的第一步难道不是把浏览器关掉么。
如何系统、科学地自学编程知识?看经典书做开源项目吧。
中文网站几乎没什么好看的,正如题主所说,拷过来拷过去,看完一个就知道所有的了。来知乎这么久,也该回馈一下了。
1、动机,首先编程是个很大的范围,楼主应该先明确自己的目的(想学哪方面?pc开发?手机开发?游戏开发?windows平台?Linux平台?iOS?Android?)动机很重要,我觉得楼主想要得到更加精准的答案,还需要补充你的学习动机。找工作?自己做游戏玩?还是做点小东西打发时间?我不认为有人会因为想学编程而去学编程。人做任何事肯定都有动机。
2、成就感,明确动机后我觉得楼主应该会找到学习的方向。举个例子,想做pc开发。我们都知道,程序就是一个输入,输出。楼主可以先做一个最简单的界面程序—计算器(模精品windows自带的计算器做一个出来。)要做一个计算器,首先要知道怎么绘制界面(假设你用C#—太简单了,直接拖控健,关联变量写逻辑。当然具体过程需要你去看书,看C#视频教程。)跟着书,教程一步步做出来之后,我觉得楼主应该会得到成就感。为继续学习提供动力。
3、扩大成就感,完成了计算器之后,楼主可以尝试一些更有难度的程序,比如五子棋,象棋。当然要做这些需要更多的知识,如何获取?百度!能百度出来就拿来用,不能就去CSDN提问。
4、编程细节问题就是一个拿来主义,有用的就拿来用,也不要太迷信究竟是什么来源。介绍一个“新生”的学习编程的网站吧,泡面吧编程(http://www.paomianba.com ),虽然现在需要邀请码。。。可以去我录制的Ruby视频课程学习,从入门到高级的全系列课程。希望对你有帮助。
张汉东的课程中心_51CTO学院一国外的:
http://stackoverflow.com 有干货的地方。代码遇到相关问题经常被导到这个网站去,回答质量很高,排版简洁清晰。我现在遇到问题经常会搜索词后面加一个词“stackoverflow”,敲回车的同时常常要骂一下这个创始人起个名字咋那么长$%^#@%^&*.....

http://github.com 最大的开源中心,项目五花八门,从华贵绚丽的界面到低调实用的小类库,应有尽有。需要睁大眼睛慢慢挑,适合英语好的。Ruby和Javascript的项目尤其多。

http://codecanyon.net 初次看到这个网站,小伙伴们表示都惊呆了。原来代码也可以放在网上卖的?!! 很多coder上传了各种代码,每个代码都明码标价。看了下销售排行,有的19刀的卖了3万多份,额di神啊。可以看到代码的演示效果,真的很漂亮。代码以php、wordpress主题、Javascript、css为主,偏前台。


国内的:

http://csdn.net 国内的程序员入门级网站,内容很多很杂,包括论坛、资源下载、博客、各种资讯等等。经常只在这个网站找到稳定的资源下载。攒积分要从娃娃抓起啊,不

http://oschina.net 国内最好的开源社区,在这里讨论问题的氛围挺不错的。创始人红薯也很热心,更新很即时,经常看到新出的开源项目在这里有翻译介绍。


http://segmentfault.com 国内版的stackoverflow,90后的作品,已经积累了不少中文问答,人气还有待提高。作为一个也是正在学习的学生,和楼主分享下经验。(本人电子专业的,和楼主有点交集)
首先楼上很多人说的很好了,网站像是stackoverflow,github等楼主也可以经常看看。但是目前不建议在网上学习,那些主要是有经验的人交流用的。你就是天天逛stackoverflow也不能学会编程,倒是有问题了可以去提问,好多国外大牛在的。等火候够了,就去看开源项目的源码,学习牛人的经验。
个人经验就是,想要学好编程一定要有一本好的教材。楼主的情况还在最初级阶段,所以还需要练习基本功。我大一的时候主攻c语言,看了《c程序设计语言》《c陷阱与缺陷》《c primer plus》《与c语言有关的495个问题》等比较经典的c语言书,目的就是巩固编程能力。所以我个人建议学习一门语言最好的方法就是找到一本好的教材,然后通读一遍,把上面几乎所有的例题和课后题做了,你基本就可以把一门语言学的比较好了。我们当初用的还是谭老爷子的红皮教材,上面好多错误,代码风格也差劲,但是塞翁失马焉知非福啊,敲了很多错误之后,发现以后自己编程的语法错误很少了。后来我就总结了,即使教材不好,只要你硬着头皮把一本书啃完了,啃透了,基本也就入门了。
同时大一也开始学习linux,花了很长时间把linux下一套工具像是vim,gcc,gdb,make也算是入门了。所以楼主要是想要学好编程,最好还是接触下linux,linux下很多开放源码的软件可以学习。
大二开始,我就开始搞c++,宇宙最难的编程语言吧,太庞杂了,都是大部头,只能硬着头皮啃。同时也开始学习算法和数据结构,也是找了一些像是《c++ primer》《c++编程思想》《算法导论》等美利坚的教材看。看了将近一年半c++了,从基本语法->类的使用(OOP)->stl使用->泛型编程->stl源码。现在也只能说算是熟悉c++了,想要学好c++还有很长的路要走。大二也开始接触了acm,刷了几百题练习算法和数学。
然后这学期就开始学java了,然后自学了点python。然后这个暑假要去找实习了。(目前还在忐忑)
所以个人感觉就是,编程这条路真的不是很好走,楼主得有心理准备,要学的东西很多。所以首先你要有热情和恒心,真正喜欢的东西你才能做得好。我周围有些人大一就已经开发出来几款安卓软件了,非常厉害,经常通宵搞一个难题,这才是真正的热爱。(我大一还啥都不懂呢,这就是赤裸裸滴差距啊。当然我也比一些混日子的脑残强多了)然后你要确定你的方向,你是要开发安卓还是ios,安卓用java搞就行,ios就去学习objective-c,要是学windows下开发就去学学mfc,要是搞linux或者嵌入式得有良好的c/c++功底。所以方向很重要,要善于取舍。现在网上资源很是丰富,你搞什么几乎都有对应的社区可以去交流讨论,还有很多美利坚的优秀书籍可以参考。当然数字媒体很多人都去搞设计了,这也是一条路。所以楼主如果真心想走技术这条路,可以参考下这些意见。
确定方向 -> 深入学习 -> 做项目并且网上交流讨论学习 -> 公司实习 (总之就是要不断提升自己,楼主也可开启并行模式,有些可以一起做,只要把时间利用在正确的事情上你就会有竞争力。)我们CTO兼我的小伙伴,在我学iOS开发玩http://codeschool.com玩得废寝忘食的时候说:
再好的教学网站,都比不上自己动手做个项目。
事实上确实如此,造物的喜悦才会让你熬过差点崩溃死的debug夜晚。
当你眼里有了钉子,才会到处去找锤子。自然stackoverflow, github什么都用起来了。请做一个projecthttp://rosettacode.org/wiki/Rosetta_Code学习网站得找我,来个劲爆的,学习网站导航 一个专门收集高质量国内外学习网站的小众站点。上面公开课、web开发、移动开发、医疗、科研、外语、国外mooc等各类学习网站都有所收集。截个图:
ZestGeek 的回答的特别好,那我只有补充的份啦。
其实学编程是一种思想,要理解,而不是像抄作业一样,把代码炒了(好吧,刚开始学编程,就是这样学的,实在是惭愧),比如学编程,基础是C 语言,你要理解C 语言是面向过程的编程语言,从基础开始慢慢了解,写一个Hello World,知道它的每一行代码是什么意思;条件语句,循环语句;要知道数据类型,int,long 等等;数组,指针,字符串,他们的结构是怎样的;知道方法,一个方法有返回值;这都是最基本的,如果这些你都不理解的话,到以后学习会很吃力(我以前就是C 语言没有学好,以至于后来学习Java 很被动),学了C 语言,算是对编程入门了,就可以学习一门面向对象编程语言,C++,C#,Java,这样你才能对编程更加地理解,面向对象时接近人类的思考方式,和C 语言相比,思考问题的方式,是先找对象,然后是对象去做哪些事,而C 语言是面向过程语言,就考虑一步一步去做,当面对很复杂的问题,C 语言就暴露出了问题;
学习面向对象语言,理解面向对象的几大特点,封装,继承,多态,使用它们能使我们生活中的问题很巧妙地解决,理解了面向对象,就可以学习集合类(数据结构),网络编程,多线程,IO 操作;
作为现在Web 流行的时代,你还要学习网页开发,HTML,CSS,JavaScript,w3school 在线教程
上面作为入门,上面讲的东西,通俗易懂,适合入门;
你还要学习关系型数据库,实现增删改查,使用面向对象的语言操作数据库,这样你就可以做网络开发啦;
好吧,上面基本上说了一些,编程语言,Web 方面,关系型数据库,这是编程入门最基本的,当然编程不仅仅是这些,随着以后学习的加深,你会慢慢理解编程的世界;

最后还是推荐一些网站吧,刚好也符合你提的问题


Web 开发
w3school 在线教程
  • Web 开发的东西基本全部包括;
学习编程 | Codecademy
  • 在线编程,除了基本的学习,还有Ruby 这样语言的学习,还提供了国外开发平台的API 学习;


Mooc(在线学习网站)
  • 慕课网-免费的IT技能学习平台
  • 极客学院-中国最大的IT职业在线教育平台
  • 云课堂 - 网易旗下大型在线学习平台
  • 网易公开课

下面就是推荐网站啦
这些主要都是博客,基本上大部分程序员都在上面写文章,文章也层次不齐,要靠自己去甄别;
  • CSDN.NET - 全球最大中文IT社区,为IT专业技术人员提供最全面的信息传播和服务平台
  • 51CTO.COM - 技术成就梦想
  • ITeye Java编程 Spring框架 Ajax技术 agile敏捷软件开发 ruby on rails实践
  • 博客园 - 开发者的网上家园
  • BlogJava - 专注于Java技术
  • IT技术博客大学习 -- 共学习 共进步! -- 收录IT领域的优秀技术博客,在这里你可以找到Web开发、系统架构、数据库、前端技术、用户体验等领域的前沿文章
  • ChinaUnix博客
  • 开源中国 - 找到您想要的开源项目,分享和交流
  • ITPUB博客-专业IT技术博客

下面是精华网站
  • GitHub · Build software better, together.
  • 博客 - 伯乐在线
  • ImportNew - 专注Java & Android 技术分享
  • SegmentFault
  • InfoQ - 促进软件开发领域知识与创新的传播
  • V2EX


当然还有一些大牛们,他们自己的博客网站,不仅有技术,还有对生活的见解,作为后辈,看看还是收获不少;
  • 阮一峰的网络日志
  • 酷壳 – CoolShell.cn
  • MacTalk-池建强的随想录
  • DBA Notes | 闲思录
  • Home - 廖雪峰的官方网站
  • Home - 阳志平的网志
  • justjavac(迷渡)

最后祝题主能够快乐地学习编程。我这样讲吧,按照楼上们的学法,基本学一半,你就放弃了,因为你严重缺少目标和动力,写着写着你就疲了,我给你讲一个真实的案例:

一个哥们,以前连程序是啥都不知道,但是他有个理想,做游戏外挂,特别羡慕做外挂的,然后以近乎痴迷的精神开始网络搜索资料,因为目标很明确,所以他找了某外挂视频教程(不写名字了,有广告嫌疑),基本算零基础的视频,并加入了VIP群,又注册了广海的账号,然后从一个啥都不会的人,上手就学VC++,按照视频一步步做,一步步测,后来什么内存调试、堆栈结构、动态追踪、PE结构啊、ASM啊、OPCODE啊,WINDOWS内核驱动等等,就这么一点点啃下来的,整整坚持了两年,一直在学习、编码、调试中循环往复,不会了就群里问,加了一些共同学外挂的网友,不会了就请教师兄,终于有一天成功加入了某个工作室开发团队,并且成功写了好几款大型游戏外挂,销量曾经两个月达到300万,买了房,买了车,最终经过不屑的努力,被公安逮进去了。

其实我想说的就一件事,你得有非常强烈的爱好作为目标,有了目标,你就可以拿目标当主线,沿着这个主线学习分支技术,逐个通关,需要学习哪样的时候,你自然就知道该找哪个资料,而不是无目的的到处逛论坛,不然的话,今天学学JAVA,编俩小程序,还有一个失败的,兴趣减半,明天学学C++,又搞不懂了,然后兴趣全无,最终结果就是放弃了,毕竟学习编程还是个挺枯燥的事。关于初学编程的几点经验:
  • 找一本适合的教程。不一定别人说写得好就适合你,每个人的基础和学习方式不一样。但一定要坚持完整看下去。
  • 多写代码,从完全复制,到修改,再到独立写。从简单到复杂。一个简单而有效的起步方法就是把教程里的例程全部在电脑执行一遍。
  • 给自己制定目标。有实际需求最好,没有的话,自己琢磨一个东西去做。比如一个网站、一个游戏、一个数据处理软件。
  • 找到可以指点你的人。但不要把别人当做搜索引擎。
  • 坚持。编程不是一个速成的事,效果也不是简单地随时间线性增长。需要踩过很多坑,跨过很多瓶颈。
好的网站:
stackoverflow 和 github
但这两个恐怕对初学者早期来说,用处并不是太大

Crossin的编程教室 - 编程世界的新手村
我自己写的教程,以及在此基础上建立的编程学习社区。面向零基础编程学习者,使用python。

另,可参考我在此问题中的回答 你是如何自学 Python 的? - Crossin 的回答

放个微信公众号的二维码:
Crossin的编程教室(crossincode)
介绍些好的学习编程的网站吧

1.stack overflow:国外非常流行的程序相关的IT技术问答网站 很多大牛

2.Github:全球最流行的开源项目托管平台 可以轻易找到开源代码

3.Hacker News:Y Combinator旗下的新闻频道 源源不断的顶级创业者参入讨论

4.CSDN:中国最大的IT社区和服务平台 提供知识传播 职业发展 软件开发等全生命周期服务

5.InfoQ:促进软件开发领域知识与创新的传播,为软件开发者提供帮助的在线新闻/社区网站

6.实验楼:专业的IT在线实训平台 随时随地 实战操作 增强技术

回答一下后半部分,介绍网站。

有些网站不一定好,但是有帮助,择其所需即可。

搜索引擎

搜索引擎大家最熟悉不过,本没有必要列出,但由于其重要性,不得不放在最前面。

Google--全球最大搜索引擎
地址:
https://www.google.com/



其他:百度,必应,雅虎 ,duckduckgo。

在线课程

1.国内平台

网易云课堂--涵盖各领域的在线课程
地址:
https://study.163.com/

中国大学慕课--国内IT技能学习平台
地址:
https://www.imooc.com/

学堂在线--国家精品课程在线学习平台
地址:http://www.xuetangx.com/

实验楼--做实验,学编程
地址:
https://www.shiyanlou.com/

菜鸟教程--提供各语言的入门教程

地址:

http://www.runoob.com/

2.国外平台

coursera--一流大学在线课程
地址:
https://zh.coursera.org/

优达学城--传授硅谷的官方课程
地址:
https://cn.udacity.com/

edx--大规模开放在线课堂平台
地址:
https://www.edx.org/

codecademy--在线编程学习
地址:
https://www.codecademy.com/zh/

IBM developerWorks--IT教程,工具,社区
地址:
https://www.ibm.com/developerworks/cn/

还有豆瓣有人分享的国外大学公开课资源:

国外大学公开课程资源

在线练习

1.国内平台
牛客网-专业IT笔试面试备考平台
地址:
https://www.nowcoder.com/

赛码·IT面试笔试平台
地址:
http://www.acmcoder.com/index

2.国外平台
leetCode:
http://leetcode.com/
lintcode:
https://www.lintcode.com/
topcoder:
https://www.topcoder.com/
HackerRank:
https://www.hackerrank.com/

在线工具箱

程序员的工具箱
地址:
https://tool.lu/



开源中国的在线工具箱
地址:
http://tool.oschina.net/



在线编译器

Compiler Explorer--在线汇编查看



C/C++在线编译调试器--支持在线GDB调试,控制台输入



wandbox--支持多语言,多编译器版本的在线编译器



codechef--支持多语言,在线编译器



技术论坛或社区

stackoverflow--全球最大IT技术问答网站
地址:
http://www.stackoverflow.com/

github--代码托管平台和开发者社区
地址:
https://github.com/

Quora--国外在线问答网站,不限于IT
https://www.quora.com/

segmentfault--国内IT技术问答网站
地址:
https://segmentfault.com/

博客园--开发者的网上家园
地址:
https://www.cnblogs.com/

CSDN--IT技术社区
地址:
https://www.csdn.net/

开源中国--开源技术社区
地址:
https://www.oschina.net/

放松一下

听些纯净的声音,放松一下。
https://asoftmurmur.com
http://www.rainymood.com/
https://www.noisli.com/

最后说两句

网站很多,最需要用好的应该就是搜索引擎了。对于同类型的网站,择其一二即可。欢迎留言补充或更正。

关注公众号【趣实用工具】回复:编程,多大10G学习资源免费送给你

1. free-programming-books

这个就不多说了,之前有推荐过的,免费的计算机编程类书籍,很多很全,不过都是英文的,有英语阅读习惯的人强烈推荐给你们,如果没有也没事,这里有中文版的,地址:free-programming-books-zh_CN.

2. Leetcode

简单来说 Leetcode 是一个刷面试题的网站,偏向于算法方面,可以直接在线运行,只不过 Leetcode 上的题目很难,我们知道去大公司面试大多都会考察数据结构、算法相关的题目,所以很多应聘 BAT、甚至 Google、Facebook 的同学都会去上面刷题,而且上面本身就收录了一些大公司的笔试题,如果你能把上面的题全都做会,那就有点屌了。虽说我不提倡只会刷题忽略了动手实践能力,但是通过做这些题总归是对自己的编程能力有不少帮助的,尤其是准备应聘大公司的同学,那在应聘之前去上面刷刷题准备下会好不少。

Leetcode

3. Codewars

Codewars 也是一个刷题网站,只不过跟 Leetcode 不同的是 Codewars 不是集中在算法方面,而是跟一些编程语言相关的题目,你可以选择你擅长的语言或者领域进行答题,而且他有一套完善的激励系统,激励你持续刷题练习进步。

Codewars

4. Medium

Medium 是什么?简单说 Medium 是新时代的博客网站,是一个干净的让人上瘾的博客网站,在上面你可以根据自己的兴趣,找到最适合你的、最纯粹的博客,如技术、设计、产品等等,而且全世界的大牛,如 Google、Facebook 的员工都在上面写博客,现在 Medium 也是目前我唯一主动浏览的博客网站,其余被动的、遇到问题都是用 Google 解决。唯一遗憾的是访问需要翻墙,不过这也刚好把非目标用户过滤了,就像 Google 过滤掉一部分程序员一样。

5. 可汗学院

可汗学院是一种新型的教育方式,甚至颠覆了美国的教育方式,简单地说,就是世界上最牛的老师,给全世界想学习的人,创造的一个百科全书式的、全免费和网上智能跟踪的视频学习平台,在上面你可以学到全世界最牛的老师的视频教程以及顶级大学的开放课程,最大特点就是内容简练、浅显易懂、追求循序渐进,很可能以后人人都不用上学了,直接在家在线学习了。

不过令我敬佩的是创办这家公司创始人的是一个穷屌丝,叫萨尔曼.可汗,家里很穷,但是依靠着自己的刻苦与天赋很迅速的考上了美国麻省理工学院,偶然间教导远程的小侄女数学的时候发现这种模式,自己的指导帮助侄女成绩飞速提高,后来干脆录制了视频放在网上,让全世界的人都可以免费看,他授课的方式有趣,浅显易懂,一时间在美国很火爆。但是他一直坚持免费,直到后来有投资人愿意出 10亿 美金来投资他,仍然被拒绝了,他就是要免费!目前这家公司估值上万亿,连比尔盖茨也是他的狂热粉丝,所以如果,你还没有听过可汗学院,那么建议你关注下。

国内网易云课堂貌似有一个可汗学院的模块,专门翻译可汗学院的一些教程,地址在:

http://open.163.com/khan/

6. Udacity

Udacity 中文名叫做「优达学城」,是一个免费的自学编程的网站,不过目前也有一些收费课程。Udacity 在国外非常火,很多 Google、Facebook 的工程师都在上面录制课程,而且这些企业甚至跟他们建立合作,在 Udacity 取得了一个叫做纳米学位的同学,去应聘这些公司有很大优势。貌似目前刚考虑进驻中国,很幸运之前他们进驻中国的第一个合作就找到了我。

当然 Udacity 上面都是英语教程,不过据说有同声翻译,还是推荐大家顺便学习下英语,实在适应不了的,国内也有不少 IT 在线教育网站,如网易云课堂,慕课网,极客学院等,这些网站都有免费课程和收费课程,这个就不过多说了,相信大家都已经知道的,根据自己的口味与需求去自行选择就好了。

以上就是我给大家推荐的一些学习网站,既然是好东西肯定不能多推荐,就这些了,希望你们都能找到适合自己的学习方式!


PDF翻译神器,再也不担心读不懂英文Paper了

【VIP软件】迅雷VIP白金版

百度阅读VIP版,不用花钱看书啦

PDF转Word工具VIP版

本回答将分享一些学习编程的经验,推荐一些好网站。

学习编程的过程,大致如下:

  1. 看书、看博客、学课程或者看视频等
  2. 模精品着书上或者博客的代码,进行复现,复现不重要,思考才是关键 ??
  3. 思考学习别人思路后,脱离书本和博客,完全自己实现功能
  4. 自己实现一些 DEMO,看别人项目代码,与别人讨论,提升代码能力
  5. 在别人的框架和要求下,写代码实现业务
  6. 自己负责别人设计的模块的实现
  7. 独立设计业务模块并开发实现
  8. 负责大项目框架设计和拆分,带领别人进行开发
  9. 其他高阶的架构和管理工作,已经不仅仅是代码能力了

而以下就是我个人总结出的六项重要诀窍。

1.让编程成为一个习惯

想要培养一项技能的最好的办法,就是将他融入到我们的生活并成为我们的爱好。其实说白了,就是让这个爱好成为一个习惯,一天不去做这件事情,都会觉得少了什么。在不知不觉中,这个习惯会像滚雪球一样积累起来。

对我来说,养成这种习惯首先就是要对“拖延症”说不。比如,你想锻炼下自己的写作能力时,但是没有好看的本子,没有好的灵感,没有安静的环境....总之就是找各种理由一拖再拖,最后就不了了之了。

但仔细想想等你有了好看的本子,舒适的环境....就能写出好的文章吗?不!我很明确的告诉各位,文章的功底是随着你不断的积累而成的。所以,当我们决定去做某件事情,请立刻!马上!现在就要开始行动!

接着从小事入手,如果我决定开始跑步,那么最初只会要求自己每周跑两、三天。虽然看起来要求低,但这样的作法更容易长期坚持,且不会被其它因素所轻易干扰。

同样的思路也适用于学习编程。每周拿出几天,每天拿出几个小时,编程学习就这样慢慢步入正轨。如果大家觉得没心情阅读编程教材,没关系,视频网站上的技术讲座能够起到同样的作用。

2.把工作拆分成小块

对待编程工作,我们没必要像健身狂人那样一口气做到筋疲力尽。与其直接编程2小时,我们完全可以先做25分钟、而后休息5分钟,整个过程重复4次。很明显,25分钟这样的短周期更容易坚持也不会带来多少压力。

不过这样的方式应该配合更为灵活的执行思路。如果您感觉状态很好,而25分钟才刚刚完成热身,那就继续做下去并努力让自己抓住这种状态。向大家推荐蕃茄工作法,这是种学习新型技能的良好机制,推荐各位认真了解。

3.阅读别人的代码

经过这几年的编程学习,我认为想要提升编码水平的最佳途径就是多看、多写,然而阅读别人的代码也确实是快速提升代码水平的一个技巧。至于如何高效地阅读代码,请参考我的这篇回答:

程序员如何高效读代码?

4.寻找良师益友

学习编程的一个很好的方法就是和其他的程序员交谈。这不仅能够帮助我们多获得一种思维方式,同时也能够以更为愉悦的感受完成学习任务。至于内容没有特定的要求,可以是你正在学习的东西,也可以是你认为很酷的东西,更可以是你正在工作的东西。这样做可能会让你学到很多关于库,服务,编程语言和模式方面的知识。但是,最重要的是,你能了解到其他人是如何看待编程的。


5.写技术文章

如果大家学习了一种新的编程概念,但不能确定自己是否已经真正掌握,可以写技术博文加以检验。或者是在技术博客网站上搜索,找找是否有人提出了类似的问题,然后给出您自己的答案。如果答案不对,那么讨论的过程能够有效加深理解。这样的过程,能给我们带来宝贵的经验,同时也能帮助他人。

值得提醒的一点,别因为自己刚刚涉及编程而有所顾虑。罗马不是一天建成的,出色的程序员也是一样。只要您对问题有所了解,就不妨给出自己的答案——无论对错,这都将成为一次宝贵的经历。

6.保持耐心

对于人生来说,其中任何目标的实现都离不开耐心。编程学习就如其它任何学习任务一样,都需要反复努力并投入大量时间。

在这个过程中,您一定会经历高潮与低谷——别被这些曲线影响了心情。接受已经发生的一切,并尽可能避免其中不好的部分。就像打高尔夫球一样,我们的手感总在不断浮动,但只要坚持到底,您最终总能成为一个大神呢~


同志们,加油!

很多人觉得学编程难,大都是掌握方法,而不是能力、性别或其他原因。除了想达到行业顶级开发者的水平,如果你是想学编程,掌握了对的方法,就能学好。

个人通过题目描述分析,应该是学习方法不对,没有培养出编程的思维和能力,这是一个因果关系。


感觉编程难,我在初学编程的时候也遇到过。刚刚学习编程会走很多弯路,想找一个合适的方法学习。有这样想法是值得鼓励的,至少是知道怎么学习更好。我本人有些参考经验,可以吸取适用自己的地方。

计算机重点在于用已有的知识搭构建功能,而构建功能的步骤是固定的,只是需要掌握牢基础知识,并且提升自己的思考能力。思考能力也算是程序员的核心了(不是看,不是写,而是思考,如果照着别人代码写同时带上了思考,那么也是有效果的)。我建议的学习方式如下:

学习基础知识:

1. 数据结构,经典算法。可以根据学到的算法和数据结构解决书本习题后面的算法问题(注意不是看了解答过程再重复写一遍,而是在自己不知道情况下写一遍,代码量可能是只有十几行,写花不了多少时间,只是思考得花些时间——一定要坚持,我曾经思考了几天就为了解一道算法题,当然根据自己的情况,不用一下选这么难的。这里培养的是解决问题的思考能力)。

2. 学会写递归,同时把递归变为循环实现相同的功能。(此处是完善思考能力,再提升一步)

当你学会前面2条的时候,即使你是第一次接触计算机,经过努力和学习掌握后水平已经超过了入门的同学,达到了中级的概念。这是内功,不是说你对某个语言运用自如了。武林高手比武比拼的是内功,外面掌握语言学习用法只是熟悉程度是外在的招式(这个非常容易掌握,多写几次就会)。

为什么开始就进入内功的修炼,因为万法归一,万变不离其宗,无论你以后学习什么语言,学了多少语言,刚进入的水平就是中级,一劳永逸。

后面只需要花点时间掌握语言的用法,方法调用,框架的使用,那么恭喜你,你的能力已经可以胜任大部分互联网公司的职位了。(这里得注意顺序,是先掌握了核心的算法和思想后才是熟悉语言本身)

下面是通往高手的进阶篇,只有在你掌握上面的东西后,才能开启下面的技能:

开发过程中多思考,多尝试新东西,思考是通往编程高手应该具备的基本素质。

这里还是思考,和上面还有不同。思考不是瞎思考,而是有深度思考,出色的程序员写代码的时间非常少,大部分都是在思考。给你一个功能,需要根据自己有的基础知识在脑海中想怎么实现合理,高效,想清楚后再写,而不是边写边改边想,那么水平永远都是止步不前的抑或进步和蜗牛一样。

当思考同一类问题,用的时间越来越少,那么侧面反映出水平提高了,可以试着思考更复杂的问题。思考需要循序渐进,不能一开始拿一个非常复杂的问题思考,而是在自己跳一下就能够到的高度。

对于在公司上班,你会发现思考时间越来越少,完全是需求到了就马上知道怎么写了。然后就是无聊听着公司领导介绍,开会讨论。但是不要忘了,自己得给自己找事做,停止思考或者习惯了某种思考模式后进步就会减慢,要进步就要不断尝试新东西,多思考。

以上就是我建议的学习方法,希望能对你有所帮助。当然,每个人都有自己的学习方式和习惯,适合自己的,才是最好的。

参考内容: 自学成才的程序员,给新手学习编程的六个建议

推荐一些程序员学习网站:

0. GitHub — 开发者最最最重要的网站:https://github.com

这个不用多说了吧,代码托管网站,上面有很多资源,想要什么轮子,上去搜就好了。并且呢,上面有很多优秀的程序员,你可以在这里交到很多好朋友喔。

1. Stack Overflow — 解决 bug 的社区:https://stackoverflow.com/

开发过程中遇到什么 bug,上去搜一下,只要搜索的方式对,百分之 99 的问题都能搜到答案。在这里能够与很多有经验的开发者交流,如果你是有经验的开发者,还可以来这儿帮助别人解决问题,提升个人影响力。

2. 程序员客栈:https://www.proginn.com/

程序员客栈是领先的程序员自由工作平台,如果你是有经验有资质的开发者,都可以来上面注册成为开发者,业余的时候做点项目,赚点零花钱。当然,如果你想成为一名自由工作者,程序员客栈也是可以满足的。只要你有技术,不怕赚不到钱。很多程序员日常在这里逛一下,接一点项目做。很多公司也在这发布项目需求。

3. 掘金 — 帮助开发者成长的技术社区:https://juejin.im

现在国内优质的开发者交流学习社区,可以去看大佬们写的文章,也可以自己分享学习心的,与更多开发者交流。认识更多的小伙伴儿,提升个人影响力。

4. v2ex:https://www.v2ex.com/

V2EX 是一个关于分享和探索的地方,上面有很多各大公司的员工,程序员。你想要的应有尽有。

5. 博客园:https://www.cnblogs.com/

博客园创立于2004年1月,是一个面向开发者的知识分享社区。自创建以来,博客园一直致力并专注于为开发者打造一个纯净的技术交流社区,推动并帮助开发者通过互联网分享知识,从而让更多开发者从中受益。博客园的使命是帮助开发者用代码改变世界。很多早期的高质量内容都在博客园。

6. Medium:https://medium.com/

国外优质文章网站,Medium 的整体结构非常简单,容易让用户沉下心来专注于阅读。上面有很多高质量的技术文章,有很多厉害的人在上面发布内容。

7. Hacker News:https://news.ycombinator.com/news

国外优质文章网站,上面有很多高质量的技术文章,有很多厉害的人在上面分享内容。

8. GeeksforGeeks:https://www.geeksforgeeks.org/

GeeksforGeeks is a computer science portal for geeks。(感谢@三三白白的补充)

除了这些论坛,程序员还有一些必备网站:

0. Google:https://google.com

这个不用多说了吧,查资料,有问题,Google 一下。当然,能访问的人自然会用,访问不了的人,可以用必应或者百度吧。

1. 算法学习 LintCode:https://www.lintcode.com/

算法学习网站,上去每天刷两道算法题,走遍天下都不怕。

2. 算法学习 LeetCode:https://leetcode.com/

也是算法题网站,同上。

3. 算法学习 LeetCode 中文站:https://leetcode-cn.com/

这个是上面算法题网站的中文站点,英文不好的可以刷这个,英文好的推荐去刷英文网站的题目,还能提升英语能力。

4. 牛客网 — 面经和刷面试题:https://www.nowcoder.com

各个公司的面试题和面经分享,找工作前认真刷一刷,一定会有很大收获!拿到心仪的 offer!

5. Web 开发练习题:https://www.freecodecamp.org/

这是国外发起的一个 Web 开发学习的网站,从简单到深入,一步一步带你学习 Web 开发。就像一本练习册,并且当你完成相应的内容后,会得到相应的资格认证。

6. 百度前端技术学院 — 前端开发项目库:http://ife.baidu.com

学前端的看这里,百度官方推出的前端开发学习技术学院,题目从简单到困难,如果你把里面的题都做会了,找个 BAT 的前端工作不成问题的。

其他学习网站:

0. 各种编程语言,编程工具,各种轮子的官方网站

要记得,学习一门语言或者一个工具,最优质的学习网站就是他的官方网站,官方文档。

1. 菜鸟教程:http://www.runoob.com/

菜鸟教程的 Slogan 为:学的不仅是技术,更是梦想! 记住:再牛逼的梦想也抵不住傻逼似的坚持!网站包括了HTML、CSS、Javascript、PHP、C、Python等各种基础编程教程。

2. 中国大学MOOC网:https://www.icourse163.org/

中国大学MOOC是由网易与高教社携手推出的在线教育平台,承接教育部国家精品开放课程任务,向大众提供中国知名高校的MOOC课程。在这里,每一个有意愿提升自己的人都可以免费获得更优质的高等教育。

推荐给前端程序员的技术、论坛、资讯网站:

  1. https://medium.freecodecamp.com/
  2. https://css-tricks.com/
  3. http://css-weekly.com/
  4. https://www.html5rocks.com/en/
  5. https://mobilewebweekly.com/
  6. http://www.echojs.com/
  7. http://us5.campaign-archive1.com/?u=ea228d7061e8bbfa8639666ad&id=68fee2a1f3&e=91389ff35f
  8. https://www.smashingmagazine.com/
  9. https://www.sitepoint.com/
  10. http://javascriptweekly.com/
  11. http://frontendfocus.co/
  12. https://frontendfoc.us/
  13. http://reactjsnewsletter.com/issues
  14. http://feeds.feedburner.com/html5rocks

推荐给前后端程序员的技术、论坛、资讯网站:

  1. https://hashnode.com/
  2. http://us4.campaign-archive1.com/?u=9735795484d2e4c204da82a29&id=0f792acd6e&e=e6bacace33
  3. http://rubyweekly.com/
  4. https://golangweekly.com/
  5. https://dbweekly.com/
  6. https://risingstack.com/
  7. http://nodeweekly.com/
  8. https://webopsweekly.com/
  9. https://postgresweekly.com/
  10. http://nodeweekly.com

推荐给前安卓程序员的技术、论坛、资讯网站:

  1. http://androidweekly.net/
  2. http://us2.campaign-archive2.com/?u=869610fc59cf83e08b6e0635a&id=6880ca6f63&e=1411ee8814

推荐给前 iOS 程序员的技术、论坛、资讯网站:

  1. https://iosdev.tools/
  2. https://iosdevweekly.com/
  3. https://littlebitesofcocoa.com/
  4. http://ios-goodies.com/
  5. http://digest.swiftweekly.com/

知友推荐:

1. 在线学习网站:https://www.tutorialspoint.com/

2. 算法学习和竞赛网站:http://codeforces.com/

3. 程序员问答网站:https://segmentfault.com/

4. Linux Kernel:https://www.kernel.org/

5. FCC 中文网:https://www.freecodecamp.one/

6. B 站:https://www.bilibili.com/

7. 阿里巴巴开源镜像:https://opsx.alibaba.com/mirror

8. USTC 开源镜像:http://mirrors.ustc.edu.cn/


我的其他相关回答:

  • 用一句话证明你是程序员?
  • 应该在哪些网站学习编程?
  • 初级程序员如何快速成长?
  • 前端工程师学习路径和学习资源集合
  • 前端工程师都有用哪些比较靠谱的小工具?
  • 你在 GitHub 上看到过的最有意思的项目是什么?
责任编辑:
热门阅读排行
© 16货源网 1064879863