<commit_before># 我艰苦的自学编程之路

## 适用对象

非计算机及其相关专业的，希望快速自学编程的学生或从业者 (尤其包括一直不能入门编程的学生或从业者)。

## 摘要

在我超过4年的自学编程的过程中，我几乎学习过网上的所有教学资源，然后在创业过程中写出了创业项目的原型和在线的独立代码片段（snippets）。

## 发现学科交叉，计算机的力量

这里简要介绍一下我是如何走向自学编程这条路的。

- 首先，我2004年从清华大学建筑学研究生毕业之后，来到美国Texas A&M University，简写称为TAMU，来读建筑学的博士学位，在接受了两年的建筑学博士研究训练之后，我转学去了哈佛大学设计学院，在2007年获得了设计学硕士学位。在Texas A&M University的博士研究期间和哈佛大学的设计学硕士研究过程中，我发现建筑学学术领域的进展依赖于计算机行业的发展。
- 然后我又发现计算机行业的产品，已经成了几乎所有其他行业的重要工具。

## 发现了自己真正的兴趣（多学科）

我从哈佛大学设计学院毕业之后，又在美国工作了一段时间，其中去了一个我们建筑设计行业几乎是最著名的一个公司：盖里科技。但是我发现我的真正的兴趣不在于高考选择的专业：建筑学。而在于基于电子科学的基础上进行多学科融合的创造行为。

## 不得不学会编程

因为在工作的时候，发现建筑行业的薪水比it行业的薪水低了很多，而且我看到了建筑师发展的职业前景不是很理想。于是在2008年初，我就有了创业的想法，想进行食品和营养方面的互联网创业，因为我不懂编程，于是就和国内清华的朋友一起组成团队创业。

但是我很快就发现，作为创业想法的主要内容提供者不懂编程，对于创业有很大的负面影响。

我这里列出了我认为的3个负面影响。

- 主要内容提供者无法把创业的想法用数据的形式表达出来。
- 主要内容提供者不理解程序员的想法。
- 主要内容提供者和程序员的沟通成本很高。

这样，创业就会效率很低，基本上就停滞了。

## 2012年开始自学编程

就这样，我2008年就回国了。在一开始听从了一个美国朋友的建议，使用Drupal这样的CMS系统自己写网站。但是我做了一段时间以后，发觉我根本不能理解编程。因为Drupal是封装的模块化的做网站的框架，不是为程序员用的。就这样，我发现我的网站进展缓慢，根本不知道原因。编程的学习几乎是停滞的。

又过了一段时间。2012年一个伟大的事情出现了：http://codecademy.com在线学习代码的网站在国内普及了。我运用我的建筑学科的科研经验，同时运用统计学，逻辑学，认知科学等多学科的背景，进行自学。

从2012到2016年，我几乎学习过网上的所有教学资源。

- 通过三大MOOC网站（Coursera, edX, 和Udacity）的学习了计算机科学的基本知识：计算机组成原理，计算机网络，Linux，算法和数据结构等。
- 通过 www.codecademy.com , www.khanacademy.org 等免费网站学习web开发的基本知识。
通过 www.codeschool.com , www.eventedmind.com 等付费网站掌握了nodejs,meteor,reactjs的基本知识。
- 通过大庆的ruby on rails 付费课程和 ihealth 的 CTO：Kevin的Metoer付费课程，基本掌握meteor开发的基本知识。

## 小型项目原型和snippets

用基于nodejs的框架Meteor写出了小型的创业项目（健康极客healthygeek）的原型和一些在线的独立代码片段（snippets）。
<commit_msg>revise<commit_after># 我艰苦的自学编程之路

## 适用对象

非计算机及其相关专业的，希望快速自学编程的学生或从业者 (尤其包括一直不能入门编程的学生或从业者)。

## 摘要

在我超过4年的自学编程的过程中，我几乎学习过网上的所有教学资源，然后在创业过程中写出了创业项目的原型和在线的独立代码片段（snippets）。

## 发现学科交叉，计算机的力量

这里简要介绍一下我是如何走向自学编程这条路的。

- 首先，我2004年从清华大学建筑学研究生毕业之后，来到美国Texas A&M University，简写称为TAMU，来读建筑学的博士学位，在接受了两年的建筑学博士研究训练之后，我转学去了哈佛大学设计学院，在2007年获得了设计学硕士学位。在Texas A&M University的博士研究期间和哈佛大学的设计学硕士研究过程中，我发现建筑学学术领域的进展依赖于计算机行业的发展。
- 然后我又发现计算机行业的产品，已经成了几乎所有其他行业的重要工具。

## 发现了自己真正的兴趣（多学科）

我从哈佛大学设计学院毕业之后，又在美国工作了一段时间，其中去了一个我们建筑设计行业几乎是最著名的一个公司：盖里科技。但是我发现我的真正的兴趣不在于高考选择的专业：建筑学。而在于基于电子科学的基础上进行多学科融合的创造行为。

## 不得不学会编程

因为在工作的时候，发现建筑行业的薪水比it行业的薪水低了很多，而且我看到了建筑师发展的职业前景不是很理想。于是在2008年初，我就有了创业的想法，想进行食品和营养方面的互联网创业，因为我不懂编程，于是就和国内清华的朋友一起组成团队创业。

但是我很快就发现，作为创业想法的主要内容提供者不懂编程，对于创业有很大的负面影响。

我这里列出了我认为的3个负面影响。

- 主要内容提供者无法把创业的想法用数据的形式表达出来。
- 主要内容提供者不理解程序员的想法。
- 主要内容提供者和程序员的沟通成本很高。

这样，创业就会效率很低，基本上就停滞了。

## 2012年开始自学编程

就这样，我2008年就回国了。在一开始听从了一个美国朋友的建议，使用Drupal这样的CMS系统自己写网站。但是我做了一段时间以后，发觉我根本不能理解编程。因为Drupal是封装的模块化的做网站的框架，不是为程序员用的。就这样，我发现我的网站进展缓慢，根本不知道原因。编程的学习几乎是停滞的。

又过了一段时间。2012年一个伟大的事情出现了：http://codecademy.com 在线学习代码的网站在国内普及了。我运用我的建筑学科的科研经验，同时运用统计学，逻辑学，认知科学等多学科的背景，进行自学。

从2012到2016年，我几乎学习过网上的所有教学资源。

- 通过三大MOOC网站（Coursera, edX, 和Udacity）的学习了计算机科学的基本知识：计算机组成原理，计算机网络，Linux，算法和数据结构等。
- 通过 www.codecademy.com , www.khanacademy.org 等免费网站学习web开发的基本知识。
通过 www.codeschool.com , www.eventedmind.com 等付费网站掌握了nodejs,meteor,reactjs的基本知识。
- 通过大庆的ruby on rails 付费课程和 ihealth 的 CTO：Kevin的Metoer付费课程，基本掌握meteor开发的基本知识。

## 小型项目原型和snippets

用基于nodejs的框架Meteor写出了小型的创业项目（健康极客healthygeek）的原型和一些在线的独立代码片段（snippets）。

{'fraction_non_alphanumeric': 0.0859325270528326, 'fraction_numerical': 0.021642266072565246, 'mean_word_length': 13.550925925925926, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 8, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4935541', 'n_tokens_mistral': 2837, 'n_tokens_neox': 3324, 'n_words': 99}