下面收集一些个人觉得比较好的在线学习编程网站。当然用google搜索下,会有很多推荐。
update 2015-11-11
收集到几个做题网站
http://www.codewars.com/ Codewars
http://codeforces.com/ codeforces
https://www.hackerrank.com/ HackerRank
https://projecteuler.net/archives Project Euler
http://www.spoj.com/ SPOJ
update 2015-05-09
http://boolan.com/ 博览网,后台开发的比较多点
update 2014-11-27
http://www.freecodecamp.com/ 主要javascript相关
http://nodeschool.io/ javascript/nodejs相关
http://www.theodinproject.com/ ruby相关
http://teamtreehouse.com/ ruby相关
https://www.udacity.com/ python相关
update 2014-11-19
https://www.udacity.com 全球性的在线学习网站,貌似通过了还会发个虚拟证书。比较多计算机方面的内容。
https://www.edx.org/ 麻省理工和哈佛大学创建的在线学习平台,有很多不同科目的学习内容。
update 2014-11-15
http://www.imooc.com/ 慕课网,很好的中文教程网站,比较多web开发的内容,javascript, css等,可以了解到最新的web开发的一些工具等。
http://www.osforce.cn/ 开源力量,很好的中文教程网站,比较多linux,网络方面的内容。
上面两个网站的一些课程是资深开发人员主讲的,比一些培训机构的要强上很多,强烈推荐大家上去转转。
http://leetcode.com/ 最近在微博上比较火,在线编程挑战网站,不是教程类的。不过据说做完了,去面试google没问题。
update 2014-4-5
https://www.coursera.org 一个全球性的开放式课程,有各种学科,还有一些有中文字幕。
http://www.codecademy.com html/css/js/python/ruby/php 等
https://go-tour-zh.appspot.com 中文Go lang tour
http://www.mysanco.com/ 善科网,在线学习数学知识
http://www.codeschool.com ruby/html/css/js/iso/git 等
在线学习编程越来越流行。
在线编程有个很明显的优点,就是用户可以快速地有实质性地接触,了解一门新的语言,技术。它强迫你去敲代码,强迫你去理解,这样你会有一定的代码量,从而会有比较深刻的印象。
如果是按传统的方法,你要学习一样新语言,首先要卖一本书,或者在网上下一本教程,再学习它语法,数据结构,流程控制等。懒人只是看看,觉得会了就丢开了,认真点的人会下个开发环境,随便写点简单的代码,再认真点的人才会看习题,再再认真点人才会把习题都去做一遍。能真正坚持的人不多。所以很多时候书是很好的,只是看书的人只是看了,而没有学到东西。按这样的流程走下来,对于一门新语言/技术,真正学到的东西非常少,很多时候都只是一个概念。
这就是为什么现在很多网站都有在线演示的系统。比如:
Go lang:http://tour.golang.org
Ruby:http://tryruby.org/
Redis:http://try.redis.io/
MongoDB:http://www.mongodb.org
对于我个人而言,最近在http://www.codecademy.com 上学了些html/css的知识,感觉非常好。因为在工作中我很少写html,更不用说css了,有时偶尔看下相关的资料,总是很快会忘掉,所以一直都模模糊糊的。也许这次学到的以后也会忘掉,不过应该比以前的要好些:)。
在codecademy上学习过程中,感觉都是比较轻松的,没有遇到太多的麻烦事。而且codecademy上有个问答社区(目前在网站的左下角),遇到麻烦时可以点进去。我点进去过两次,到最后都发现其实是自己太懒了,没认真看说明。
个人觉得在线学习编程网站有以下的优点:
打开浏览器上的书签,就可以很方便地开始学习了,也不用记忆上次学到哪里。
对于懒人来说,最好的办法就是找个东西强迫他动起来。
因视野所限,一个人所了解到的方面总是有限。在线学习编程可以接触到一些边角的小知识。
教程的作者通常都是经验丰富的专家,可以学到一些好的编程规范。