给学习编程的你推荐 50 个超实用资源

1,170 阅读10分钟
原文链接: zhuanlan.zhihu.com

原文链接: 50 Best Resources When Learning to Code

作者: Pavel Malos

译者: 朱峰

转载请注明出处

写在前面的话

学习编程已经逐渐成为一种实用性的技能。不管你现在做什么工作,了解编程和技术都是件很有价值的事。

现在几乎所有行业的革新都以科技创新为基础。

如今人才市场越来越青睐那些在多领域能力见长的人。想象下未来5年,可能没有哪个用人单位会愿意招聘单一型人才,他们更希望招到复合型人才。

求知欲是学习和机遇的开始。如果你一直保持一颗好奇心,你会学得更充实更快乐。去完成相同一件事,比起只擅长一项技能的人,如果你能从事多种工作,习得更多技能的话,你会做得比他们更好。因为没有什么事是完全只需一种能力就能很好解决的。求知探索的精神会促使你去尝试、验证、总结,然后再循环这个过程。带着自己的求知欲勇敢前进吧!

以上是我想传达給大家的一些想法,那接下来就让我们一起来看下学习编程时能帮助到你的50个超实用资源吧!

在线课程

1. Khan Academy

这个网站提供了多种学科的在线课程(正如首页上写的,“在这里你能学到任何东西”),其中就包括计算机编程类的课程。还有少量课程是针对儿童和青少年设计的。

课程关键词:JS, HTML/CSS, SQL, 等等

2. Ruby Monk

一个学习Ruby语言的网站,完全免费,如果愿意你也可以给予他们一些打赏。这个网站的课程学习提供了动手操作的环节,每节课都有一段指导内容,在它下面会有一块代码示例区来供你修改和执行。RubyMonk网站有一个入门课程,两个中级课程和一个进阶课程。

课程关键词:Ruby

3. Code Academy

很多新手的代码生涯都是从这里启程的。这个平台的学习以动手操作为主,这意味着课程不会有很多的文字赘述,你只需按要求码代码,它就会立刻给予你反馈结果。

课程关键词:HTML & CSS, JavaScript, PHP, Python, Ruby, Angularjs, The Command Line, 等等

4. FreeCodeCamp

这个网站首先会通过一套自建完整的课程来教授你基础的编程知识(课程总计大约800个小时),学完之后你就可以实践开发一个它提供的非营利项目。

课程关键词:HTML, CSS, JavaScript, Databases, DevTools, Node.js, 和 Angular.js(译者按:还有很多诸如React, D3, 机器学习等课程正在规划中)

5. CodeWars

CodeWars能让你以一种玩的方式来学习编程。它将很多武术打斗的术语用到了编程里,比如一道编程任务,它称之为招式(kata)。完成任务,你会获得荣誉值,进而能升到更高的级别。

课程关键词:CoffeeScript, JavaScript, Python, Ruby, Java, Clojure, 和 Haskell

6. Railsforzombies.org

由Code School创建的一个学习Ruby on Rails的网站,(适合有Ruby语言基础的朋友学习)以僵尸为主题,授课包含视频和代码操作练习。

7. CodeBar

CodeBar致力于帮助少数群体(underrepresented groups)学习编程。他们每周都会举办免费的工作坊或其他活动。不过要注意的是,他们的活动范围只在英国。

8. Railsgirls

他们致力于为女性服务,打造的社区通过提供开发教程、 易用的技术,来帮助女性更好的理解技术细节以及如何实现她们的想法。

学习草图设计、原型设计、基础编程,让我们一起走进技术的世界吧!

9. Udemy

Udemy是个在线学习平台。它的目标用户是那些已有基础的人群,这些人希望通过学习新技能来丰富自己的简历,亦或是挖掘新的爱好。平台课程涉及多个学科,包括编程,有的需要收费。

10. Coursera

丰富的在线课程,大学讲师亲授,全部免费。课程学完后你可以选择性的购买Coursera的结业证书。

线下活动

学习编程的一种好方法是去参加各种活动和讨论会。 以下是一些给你的建议:

11. 拜师

这是个很有趣的学习方式。去接触业界里的大牛并向他们请教。你的知识体系能得到完善,同时还有机会认识到其他大牛。

12. 聚会活动

你可以通过使用Meetup app来寻找聚会活动和与你志趣相投的组织。

13. 编程马拉松

这是一个表现自我、用技术激发创造力的活动。一群技术达人齐聚一堂,组队一起攻克一个难题或实现一个想法。最终他们非凡的解决方案多以网站、移动应用或机器人的方式呈现。

14. 合作空间(Hubs & Coworking spaces)

谷歌搜索TechHub或者"coworking hub",看看你所在的城市里这些地方在哪儿。在那里你可以参与自己感兴趣的活动,认识新的朋友,以及编程的学习。

15. 实习

这个行业的实习机会特别多。你可以通过招聘网站找到大量的招聘信息,在脸书和领英上的一些特定组织里,也能找到各种各样的实习机会。

在线社区

16. Github

全球最大的开源社区。你可以为开源项目贡献代码,跟踪项目进度,实现新的想法。

17. Gitter

Gitter是个聊天网络平台,它能帮助技术社区管理者管理、壮大自己的社区,普通用户能通过即时消息、了解技术内容、发现探索来与社区互动交流。

18. Stack Overflow

Stack Overflow,最大的在线社区。程序员在这里能学习、分享知识,推进自身职业发展。

19. Stack Exchange

Stack Exchange是一个问答网站,主题涵盖多个领域,分类十分清晰。网站有个荣誉奖励系统,每一个问题、每一个回答都能被评分,每一位用户都拥有声望值。

20. Twitter

Twitter是一个发现大牛并与其交流的好地方。这里有许许多多才能出众、见解独到的开发者。如果你不知道关注谁,那你可以看看影响力排行(比如这个),或者带上 #developer 标签来检索用户。

我建议你可以关注下业界里的领头人物,还有最新的技术和应用实践。

21. Reddit

Reddit也是个发现话题、沟通交流的社区。比如,在/r/web_design板块中,你能探索发现所有有关网站设计和开发的内容,还有网站设计师的成长路径。不管是新手还是老手,社区都会很欢迎你能发布实用、增长见闻的帖子;提出疑问;参与话题讨论。

22. Hacker News

Hacker News是一个专注于传播计算机行业新闻与企业动态的社交新闻站点。它由Paul Graham的投资基金和创业孵化器Y Combinator运营。一般,新闻能登上这个站点,说明其内容足够引起大家的好奇。

23. Designer News

一个专为设计师及相关领域的从业者打造的社区,网站建于2012年12月31日,在这里大家能讨论、分享业内各种喜闻乐见的事。

24. Producthunt

Product Hunt每天都会分享最新的应用产品。技术产品爱好者在这里可以尽情分享、深度讨论最新的手机应用、网站、硬件产品和其他技术创新产品。

25. Dribbble

设计师们能在Dribbble社区中展示自己的最新作品。网站设计师、美术设计师、插画师、图标艺术家、印刷品设计师、徽标设计师等各种形式的创作者都能将自己的作品、设计流程、项目(current projects)以图片或动画等的形式分享出来。

26. Behance

一个展示发现创意作品、业内领先的在线平台。聚集在这里的作品能得到更广泛的关注和赏识。企业在这里能面向全球发布职位、发现人才。

27. Quora

摄取、分享知识的好地方。你可以在这里发布问题,可以与见解独到、回答质量高的答题者交流沟通。

书籍

阅读也是学习编程的良好途径。你可以读读关于敏捷开发、精益创业和精益开发(lean development)的书籍。

28. Clean Code

29. Soft Skills: The software developer’s life manual

30. The Art of Computer Programming

31. 《编程珠玑》(第2版) 原版

32. 《代码大全》 原版

33. 《编程人生》 原版

学习编程,除了要阅读专业书籍,那些针对个人内在发展和企业相关的书籍对你也会很有裨益。如果你计划参与一个很酷的项目,你得先对项目有个整体认知。

与身边的人保持良好的人际关系能让你的生活更美好。以下推荐的一些书有关商业和人际交往:

34. 《驱动力》 原版

35. 《精益创业》 原版

(译者按:作者把第36条吃掉了!)

37. 《从0到1》 原版

38. 《部落:一呼百应的力量》 原版

39. 《蓝海战略》 原版

Youtube频道

大量的在线学习资源,视频教程,妈妈再也不用担心你的编程学习啦。(译者按:你可能需要先科学上网)

40. Treehouse

超过1000个教学视频,都是由网站设计、开发及商业等领域的专业老师制作的。你可以学习到网站、应用的开发以及创业知识。

41. Learncode.Academy

提供网站开发及设计相关的教程,涉及:HTML, CSS, JavaScript, CSS布局, 响应式设计, React.js, Node.js, Angular.js, Docker(Moby), 运维开发, 服务器管理和部署策略。

42. Google Developers

Google Developers频道有教学课程、讲座、近期新闻以及技术的最佳实践。涉及到的技术不止包含安卓、Chrome、网站开发、Polymer、性能优化和iOS!

43. Android Developers

这个是Android Developers直播视频的主页。除了过往的在线活动视频,这里还有示例、教程等所有和安卓相关的一切视频。

44. The Coding Train

The Coding Train每周都会发布“创意编程”的教学视频。主题涵盖编程语言的基础,例如Javascript(使用p5.js)和Java(使用Processing语言),还有例如物理仿真、计算机视觉、数据可视化等的生成算法,

Ted讲座

下面列出了部分关于编程的TED讲座:

45. 编程语言:下一个全球性语言

46. 因特网的起源

47. 编程合集

开源项目

如果你还是不知道如何开始编程,那从开源项目学起会是个好选择。搜寻阅读开源项目使你有机会和大量开发者交流沟通,并能学会用正确的姿势书写代码。

有趣的事实:为英国政府和铁路部门开发的项目都开源在了Github上。以下是部分和开源项目相关的推荐:

48. Code Triage

49. Ava

50. Contributor Covenant

编程,先破而后立。祝你好运!
(Coding destroys the perfect and then it enables the impossible.)

感谢您的阅读!如果喜欢这篇文章,请点个赞并分享给更多人。