惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
MyScale Blog
MyScale Blog
爱范儿
爱范儿
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
Y
Y Combinator Blog
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
M
MIT News - Artificial intelligence
博客园 - Franky
V
Visual Studio Blog
I
InfoQ
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
博客园 - 司徒正美
L
LangChain Blog

博客园 - "齐柏林飞艇"迷上了"哥特金属"

FreeMarker在网页游戏服务器开发中的应用 读〖User Stories Applied: For Agile Software Development〗 [reference] reflection in c++ [reference] user story [reference]collada for xna [reference] gpgpu how to load XNA contents at runtime gaussian distribution 最近常去逛的站点 [reference] unmanaged c++ and c# xna tutorials bsp faq LUA+DOTNET(XNA) Using XNA with WinForm Game Development Enters the Scrum (转) linux下代码浏览器cscope GnuNet学习资料汇集 Big companies using Subversion 一个免费的windows 程序installer
我的编程回顾 —— 浅谈怎么快速学习一门新的编程语言
"齐柏林飞艇"迷上了"哥特金属" · 2011-08-21 · via 博客园 - "齐柏林飞艇"迷上了"哥特金属"

我从2002年到现在,学习了好几种编程语言。有一些,早已不用并且忘光了,有一些尽管不用但还会惦记着,还有一些,朝九晚五地用着。

我回顾过去9年的学习经历,差不多每年会学习一门新的语言,现在把它记录如下:

语言

学习时间

状况

C

2002

学习时候在TC上编了一些玩具程序,还曾记得,迁移到VC的时候,找不到graphics.h时的不知所措。读C程序的时间远远多于写C程序。

C++

2003

整天抱着TCppPL,混迹于CSDN C++版。2005-2008年,一直用C++写代码

Java

2004

想了解一些Web方面的知识,于是开始学习Java05年后一直没碰到,直到08年转做网页游戏,又重新拾起。

Python

2005

我第一份工作的第一个任务就是做游戏服务器的任务系统,用的脚本正是Python。后来几年也会用Python写一些小工具。

Lua

2006

魔兽世界让Lua火起来了,随波逐流地开始学习,后来喜欢上了。现在Lua是我游戏开发的御用脚本。

Perl/Erlang

2009

为了读懂一些mysql管理工具,决定学习Perl。黄金国度的大部分工具都是用Perl开发。Perl带给我最大的麻烦是,一段时间后,读自己的代码都很晦涩。07年的时候就听大家讨论Erlang了,但一直没碰,借着国内出了第一本Erlang技术书的东风,开始学习起来。真的很喜欢,但也很清楚,短时间不会在商用项目里面使用,所以暂且搁置,但总会惦记着。

Scala

2010

因为Erlang的原因,开始接触Scala,尝试了一段时间后,会觉得,既然我已经有Erlang,又何必要Scala呢。

ActionScript/Ruby

2011

一直很少关注客户端的技术,为了弥补这个缺陷,学习了AS。快乐编程是我追求的目标,于是开始尝试Ruby

每次开始学习一门新的语言,都会很兴奋,如同进入一个崭新的奇妙世界。兴奋之后,会发现,每次的学习过程大同小异: 安装编译环境,测试Hello World,按照Tutorial一步一步的尝试,订阅邮件列表,看相关书籍,研读源代码,不断写代码。不断写代码是最重要的,其它步骤都是为它服务。

我竟然学了那么多语言,而且还在不断学习新的。论语道“学而不思则罔,思而不学则殆”。所以,我要总结。我把学习一门新的语言分成3个阶段: 会用、熟练用和举一反三扬长避短用。因为精力有限,大部分时候,我们只是浅尝则止,也就是我说的“会用”——能借助google和帮助文档,完成功能开发,对代码质量无要求。

我发现,“淘金式”的学习方法能帮助我们快速“会用”。我把要淘的金子总结如下:

1.       数据类型:数值、字符串和布尔

2.       数据结构:数组和哈希字典

3.       变量声明与定义

4.       函数声明与调用

5.       程序结构:条件和循环

6.       文件操作:打开文件、读写文件、遍历目录

7.       XML文件

8.       正则表达式

9.       数据库

10.   杂项:格式化输出、调用外部命令、时间日期、随机数和程序输入参数

具体的例子,对于Ruby来说,知识点又是这样的:

知识点

内容

数据类型

a.       支持整数、浮点数

b.       字符串是mutable的,可以设置编码,对应String类,什么index/start_with/end_with/split应有尽有

c.       字符串判断相等== ?eql都可以

d.       True/False/Nil

数据结构

a. 对应ArrayHash

b. 初始化分别是[1, 2, 3]{“one”=>1, “two”=>2, “three”=>3}

c. 遍历方式: xx.each{|x| print x}

d.  

变量声明与定义

a. 支持全局变量、局部变量、类变量和实例变量。Ruby对于不同变量的命名有契约规则

b. 不需要提前声明,也不需要指定类型,也没有var等修饰符

函数声明与调用

a.       def  foo()

puts “hello world”  

end

b.        foo()

c. 语句可以不要终止符’;’,有时函数调用中的圆括号可以被省略

程序结构

a. 条件式 if/elsif/else/end

b. 循环 while/do/end

c. 循环 for var in collection do end

druby的迭代/枚举功能很强大

文件操作

File/Dir/FileTest

XML文件

rexml/document足够用了

正则表达式

=~ / /

数据库

Mysql/Ruby据说不错

杂项

a. puts/print/printf

b. `外部命令`

c. Time.now

d. srand/rand

e. ARGV

怎么样?是不是对于Ruby有一个大概的认识?是不是想尝试一下这种淘金式的学习方法?那就开始吧。

参考:

1. 学会提问