《Hello Ruby》:培养程序员要从娃娃抓起 - 开源中国社区
《Hello Ruby》:培养程序员要从娃娃抓起
oschina 2014年03月06日

《Hello Ruby》:培养程序员要从娃娃抓起

oschina oschina 发布于2014年03月06日 收藏 53 评论 89

有免费的MySQL,为什么还要买? >>>  

f2418953744c133c6b60c5744b32fed0

都说孩子要赢在起跑线上,原来连编程这等高端大气的技术也要从娃娃抓起了。

最近在Kickstarter上颇为流行一本叫做《Hello Ruby》的书,专门教五至七岁小孩学习编程。众筹活动发起几小时后就超出了作者 Linda Liukas 10000 美元的筹款目标。一个月后这位芬兰美女已经有超过9000名支持者,筹款总额达387000美元。Liukas想过这个项目可能会受欢迎,但是受欢迎的程 度却让她大吃一惊。

虽然Kickstarter上众筹项目成功的理由各不相同,但Hello Ruby似乎是选择了正确的时间点发布,于是大获成功。因为欧洲各国政府都在计划如何吸引年轻人爱上编程,而Hello Ruby恰好给了他们启示。

很多人可能在想编程书籍不管怎么写都很枯燥无味,除了代码还是代码,但是这本Hello Ruby可能会让你大吃一惊。如果只看图片的话,你也许会以为是本童话书呢,很难想象这么可爱的书居然和编程有关。Hello Ruby通过好玩的故事教授编程基础技巧,Liukas相信这种以图讲意的方法可以吸引小孩学习兴趣。

rubyheader

Linda Liukas在小的时候特别崇拜 Al Gore总统,为了表示对总统的敬意,她开始学习HTML和CSS ,想为Al Gore总统专门做一个网站。每每需要思考代码难题时,她就会用纸笔画下一个小姑娘,也就是书中的Ruby。后来她发现这样的学习方式很有效果,于是想帮 助更多的孩子学习简单编程,然后的然后,就有了这本Hello Ruby。

其实国内也有一本很流行的小孩编程书,叫做《与孩子一起学编程》,在豆瓣上评分8.4,获得了Jolt图书生产效率大奖。我觉得这样的书籍都不是说 培养孩子做程序员的,而是让他们对软件开发过程感兴趣,培养他们对编程的好奇心,锻炼小孩的逻辑感。孩子们也许长大后并不会做程序员,也许以后从事的职业 与编程完全无关,但是在年幼的时候能够多一分兴趣,多一点这样的好奇心,都会对以后的人生道路有益。

不过提起编程,我就想起大学里面谭浩强编写的那本《C语言入门》,学的我是撕心裂肺,痛不欲生呀!最后还是很可惜的挂科了,我也想要一本这样好玩有用的书!

稿源:雷锋网

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:《Hello Ruby》:培养程序员要从娃娃抓起
分享
评论(89)
最新评论
0
学C基础用这本书:c programming: the modern approach
0
楼上都弱爆了,我一直用中文编程,俗称 作文。。。
0

引用来自“genreason”的评论

引用来自“飞翔的猴子”的评论

引用来自“Brin想写程序”的评论

引用来自“飞翔的猴子”的评论

那个时候你觉得谭老师的书不怎么好,是因为那个时候你没学好。你确定从那以后你再看过?你确定现在你再开还是那么“撕心裂肺”?入门其实挺难的。而C无辜中枪了

谭老师的书的问题,是把语言和操作系统分开了。
学习C必须涉及到操作系统。但是谭老师的书里面,一点操作系统都没提到。而这本书印的又太多,所以造成了不太好的影响。

那本书是高等教育出版社出的,作为教材使用的,个人认为,如果让一个计算机初学者一边入门编程一边还要兼顾操作系统,恐怕有点吃力。不是和你抬杠哈,就是个个人想法。

顶你个肺,教c的书本来就不该跟操作系统结合,教标准c就好了,不同系统api差别很大,你是都教还是挑一门教,教了一门其他咋整哈,就算是c programming language对操作系统啥的也都是举例式的一笔带过

纯标准的c,屁用没有,哈。连printf,如果我没记错,标准里都没有定义实现方式。不落到具体的操作系统提供的库函数里,怎么解释很多奇怪的问题呢。哈。
0

引用来自“Brin想写程序”的评论

引用来自“飞翔的猴子”的评论

那个时候你觉得谭老师的书不怎么好,是因为那个时候你没学好。你确定从那以后你再看过?你确定现在你再开还是那么“撕心裂肺”?入门其实挺难的。而C无辜中枪了

谭老师的书的问题,是把语言和操作系统分开了。
学习C必须涉及到操作系统。但是谭老师的书里面,一点操作系统都没提到。而这本书印的又太多,所以造成了不太好的影响。

哈。这个我支持。谈c,不谈操作系统,真的很扯淡。
0

引用来自“Brin想写程序”的评论

引用来自“渡世白玉”的评论

引用来自“Brin想写程序”的评论

引用来自“渡世白玉”的评论

引用来自“Brin想写程序”的评论

引用来自“渡世白玉”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“飞翔的猴子”的评论

引用来自“Brin想写程序”的评论

引用来自“飞翔的猴子”的评论

那个时候你觉得谭老师的书不怎么好,是因为那个时候你没学好。你确定从那以后你再看过?你确定现在你再开还是那么“撕心裂肺”?入门其实挺难的。而C无辜中枪了

谭老师的书的问题,是把语言和操作系统分开了。
学习C必须涉及到操作系统。但是谭老师的书里面,一点操作系统都没提到。而这本书印的又太多,所以造成了不太好的影响。

那本书是高等教育出版社出的,作为教材使用的,个人认为,如果让一个计算机初学者一边入门编程一边还要兼顾操作系统,恐怕有点吃力。不是和你抬杠哈,就是个个人想法。

让初学者学C,本身就很2啊,关键是少了操作系统,C就跟没学会一样。我也是学完操作系统,才明白C是怎么回事。
K&R的the c language programming就写的很好,也很薄。。
给大家普及的话,PASCAL和BASIC要好很多。现在可以直接Python了。

c language programming里边有跟操作系统相关的东西吗

提到了一点点,就这一点点谭老师的书里面没有写,很多地方就难以理解了,思路就不通了。

没用过高教的教材,不过还是认为教c基础的书应该是标准c的,想往单个方向在发展有其他更深更专注的book,像apue啥的

Ansi C和unix结合太紧密了。如果不了解一点点unix环境,C基本啥都干不了。

额,你让人win c的情何以堪啊

你用win C,也得调用各种windows api吧?
人家大二的linus,学完C语言,就能写出linux内核。
咱们学谭老师的书的牛人们,学完C语言,马上就知道该干嘛?
你也是后来学的windows api吧?不学windows api,你能让c像vb一样弹个窗口出来?

GTK、、、不用学win api的、、、
如果学了CPP,还有Qt和wxWidgets呢、、

GTK里面调用的可是win Api。
Qt和wxWidgets也是对操作系统api的封装。
作为一本讲语言的书,要让人有兴趣,好理解,具点实际有用的例子会死人啊。
我不信Hello Ruby这本书就只讲语法,没有实际的例子。

不错、、最终都要调用底层系统实现呢、、
如果按照此思路,我学习一个C语言要先学操作系统啊、、学习操作系统要管理硬件啊、、我是不是还要先学电子电路?电子电路用的物理原理和化学原料,我是不是首先成为物理和化学砖家啊、、里面还有很多、、、、这样想啥都别学了、、

操作系统是硬件层的封装。在linux里面硬件已经被抽象为文件,在/dev/目录下。
所以后面的说法,只能是你抬杠,或者说难道你真不懂?

对啊、、库也是系统api的封装啊、、、学习语言首先学习对应的库就行了、、系统抽象层,api也罢、、那是提高学的、、基础学习还是纯粹点不较好、、、

主要问题是C语言不像其他语言里面有比较完整的库。
咱们学java有java.util和java.lang库,而且很多纯讲java的书,把这些库也讲的很透,比如java核心编程
咱们学c++有std库和stl模板库,在学语言的同时肯定也讲了。
C语言的几个库并不完整的能实现实际的功能,C语言的“库”其实是操作系统的调用。

很少有人不骂谭浩强的。不过我个人对其没有什么感想,我入门教程是c++ 编程思想
0

引用来自“渡世白玉”的评论

引用来自“Brin想写程序”的评论

引用来自“渡世白玉”的评论

引用来自“Brin想写程序”的评论

引用来自“渡世白玉”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“飞翔的猴子”的评论

引用来自“Brin想写程序”的评论

引用来自“飞翔的猴子”的评论

那个时候你觉得谭老师的书不怎么好,是因为那个时候你没学好。你确定从那以后你再看过?你确定现在你再开还是那么“撕心裂肺”?入门其实挺难的。而C无辜中枪了

谭老师的书的问题,是把语言和操作系统分开了。
学习C必须涉及到操作系统。但是谭老师的书里面,一点操作系统都没提到。而这本书印的又太多,所以造成了不太好的影响。

那本书是高等教育出版社出的,作为教材使用的,个人认为,如果让一个计算机初学者一边入门编程一边还要兼顾操作系统,恐怕有点吃力。不是和你抬杠哈,就是个个人想法。

让初学者学C,本身就很2啊,关键是少了操作系统,C就跟没学会一样。我也是学完操作系统,才明白C是怎么回事。
K&R的the c language programming就写的很好,也很薄。。
给大家普及的话,PASCAL和BASIC要好很多。现在可以直接Python了。

c language programming里边有跟操作系统相关的东西吗

提到了一点点,就这一点点谭老师的书里面没有写,很多地方就难以理解了,思路就不通了。

没用过高教的教材,不过还是认为教c基础的书应该是标准c的,想往单个方向在发展有其他更深更专注的book,像apue啥的

Ansi C和unix结合太紧密了。如果不了解一点点unix环境,C基本啥都干不了。

额,你让人win c的情何以堪啊

你用win C,也得调用各种windows api吧?
人家大二的linus,学完C语言,就能写出linux内核。
咱们学谭老师的书的牛人们,学完C语言,马上就知道该干嘛?
你也是后来学的windows api吧?不学windows api,你能让c像vb一样弹个窗口出来?

GTK、、、不用学win api的、、、
如果学了CPP,还有Qt和wxWidgets呢、、

GTK里面调用的可是win Api。
Qt和wxWidgets也是对操作系统api的封装。
作为一本讲语言的书,要让人有兴趣,好理解,具点实际有用的例子会死人啊。
我不信Hello Ruby这本书就只讲语法,没有实际的例子。

不错、、最终都要调用底层系统实现呢、、
如果按照此思路,我学习一个C语言要先学操作系统啊、、学习操作系统要管理硬件啊、、我是不是还要先学电子电路?电子电路用的物理原理和化学原料,我是不是首先成为物理和化学砖家啊、、里面还有很多、、、、这样想啥都别学了、、

操作系统是硬件层的封装。在linux里面硬件已经被抽象为文件,在/dev/目录下。
所以后面的说法,只能是你抬杠,或者说难道你真不懂?

对啊、、库也是系统api的封装啊、、、学习语言首先学习对应的库就行了、、系统抽象层,api也罢、、那是提高学的、、基础学习还是纯粹点不较好、、、

主要问题是C语言不像其他语言里面有比较完整的库。
咱们学java有java.util和java.lang库,而且很多纯讲java的书,把这些库也讲的很透,比如java核心编程
咱们学c++有std库和stl模板库,在学语言的同时肯定也讲了。
C语言的几个库并不完整的能实现实际的功能,C语言的“库”其实是操作系统的调用。
0

引用来自“邓攀”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“飞翔的猴子”的评论

引用来自“Brin想写程序”的评论

引用来自“飞翔的猴子”的评论

那个时候你觉得谭老师的书不怎么好,是因为那个时候你没学好。你确定从那以后你再看过?你确定现在你再开还是那么“撕心裂肺”?入门其实挺难的。而C无辜中枪了

谭老师的书的问题,是把语言和操作系统分开了。
学习C必须涉及到操作系统。但是谭老师的书里面,一点操作系统都没提到。而这本书印的又太多,所以造成了不太好的影响。

那本书是高等教育出版社出的,作为教材使用的,个人认为,如果让一个计算机初学者一边入门编程一边还要兼顾操作系统,恐怕有点吃力。不是和你抬杠哈,就是个个人想法。

让初学者学C,本身就很2啊,关键是少了操作系统,C就跟没学会一样。我也是学完操作系统,才明白C是怎么回事。
K&R的the c language programming就写的很好,也很薄。。
给大家普及的话,PASCAL和BASIC要好很多。现在可以直接Python了。

c language programming里边有跟操作系统相关的东西吗

提到了一点点,就这一点点谭老师的书里面没有写,很多地方就难以理解了,思路就不通了。

没用过高教的教材,不过还是认为教c基础的书应该是标准c的,想往单个方向在发展有其他更深更专注的book,像apue啥的

Ansi C和unix结合太紧密了。如果不了解一点点unix环境,C基本啥都干不了。

求不带主观色彩

个人喜欢unix*系列的
但是教任何一个主流的都是可以的
unix不代表万能

老师学生都精力有限
我们的数据库就是教sqlserver 也是一个挺主流的数据库
但是我一般只在linux下学习,学过了mysql 了解postgresql
但是老师教sqlserver我觉得也是很合理的
只要不是老师个人闲着蛋疼教一个从没听说过 的也没多少人用的很不主流的就行了

主要问题是ansi C是标准。。unix like的posix也是标准啊。
posix是标准的操作系统接口。微软的server上也支持posix。
学C语言的同时,了解下unix/posix的系统环境基本问题不大。
0
国内的程序猿只能撸啊撸,看看国外的美女会 ruby
0

引用来自“L4in”的评论

引用来自“采女孩的小蘑菇”的评论

引用来自“Brin想写程序”的评论

引用来自“渡世白玉”的评论

引用来自“Brin想写程序”的评论

引用来自“渡世白玉”的评论

引用来自“Brin想写程序”的评论

引用来自“渡世白玉”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“飞翔的猴子”的评论

引用来自“Brin想写程序”的评论

引用来自“飞翔的猴子”的评论

那个时候你觉得谭老师的书不怎么好,是因为那个时候你没学好。你确定从那以后你再看过?你确定现在你再开还是那么“撕心裂肺”?入门其实挺难的。而C无辜中枪了

谭老师的书的问题,是把语言和操作系统分开了。
学习C必须涉及到操作系统。但是谭老师的书里面,一点操作系统都没提到。而这本书印的又太多,所以造成了不太好的影响。

那本书是高等教育出版社出的,作为教材使用的,个人认为,如果让一个计算机初学者一边入门编程一边还要兼顾操作系统,恐怕有点吃力。不是和你抬杠哈,就是个个人想法。

让初学者学C,本身就很2啊,关键是少了操作系统,C就跟没学会一样。我也是学完操作系统,才明白C是怎么回事。
K&R的the c language programming就写的很好,也很薄。。
给大家普及的话,PASCAL和BASIC要好很多。现在可以直接Python了。

c language programming里边有跟操作系统相关的东西吗

提到了一点点,就这一点点谭老师的书里面没有写,很多地方就难以理解了,思路就不通了。

没用过高教的教材,不过还是认为教c基础的书应该是标准c的,想往单个方向在发展有其他更深更专注的book,像apue啥的

Ansi C和unix结合太紧密了。如果不了解一点点unix环境,C基本啥都干不了。

额,你让人win c的情何以堪啊

你用win C,也得调用各种windows api吧?
人家大二的linus,学完C语言,就能写出linux内核。
咱们学谭老师的书的牛人们,学完C语言,马上就知道该干嘛?
你也是后来学的windows api吧?不学windows api,你能让c像vb一样弹个窗口出来?

GTK、、、不用学win api的、、、
如果学了CPP,还有Qt和wxWidgets呢、、

GTK里面调用的可是win Api。
Qt和wxWidgets也是对操作系统api的封装。
作为一本讲语言的书,要让人有兴趣,好理解,具点实际有用的例子会死人啊。
我不信Hello Ruby这本书就只讲语法,没有实际的例子。

不错、、最终都要调用底层系统实现呢、、
如果按照此思路,我学习一个C语言要先学操作系统啊、、学习操作系统要管理硬件啊、、我是不是还要先学电子电路?电子电路用的物理原理和化学原料,我是不是首先成为物理和化学砖家啊、、里面还有很多、、、、这样想啥都别学了、、

操作系统是硬件层的封装。在linux里面硬件已经被抽象为文件,在/dev/目录下。
所以后面的说法,只能是你抬杠,或者说难道你真不懂?

对啊、、库也是系统api的封装啊、、、学习语言首先学习对应的库就行了、、系统抽象层,api也罢、、那是提高学的、、基础学习还是纯粹点不较好、、、

@冰河垂钓 回复不能。。到上限了。

我擦了,这么长了

这个嵌套屌!

嗯嗯,确实很吊
0
真的是美女呀
0
美女
0

引用来自“原来能改昵称”的评论

为什么都黑谭浩强,知道谭浩强的夫人是严蔚敏吗

震惊了
0
不说别的,美女真漂亮!
0
围观
0
在天朝还是别祸害下一代了。。
0

引用来自“采女孩的小蘑菇”的评论

引用来自“Brin想写程序”的评论

引用来自“渡世白玉”的评论

引用来自“Brin想写程序”的评论

引用来自“渡世白玉”的评论

引用来自“Brin想写程序”的评论

引用来自“渡世白玉”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“飞翔的猴子”的评论

引用来自“Brin想写程序”的评论

引用来自“飞翔的猴子”的评论

那个时候你觉得谭老师的书不怎么好,是因为那个时候你没学好。你确定从那以后你再看过?你确定现在你再开还是那么“撕心裂肺”?入门其实挺难的。而C无辜中枪了

谭老师的书的问题,是把语言和操作系统分开了。
学习C必须涉及到操作系统。但是谭老师的书里面,一点操作系统都没提到。而这本书印的又太多,所以造成了不太好的影响。

那本书是高等教育出版社出的,作为教材使用的,个人认为,如果让一个计算机初学者一边入门编程一边还要兼顾操作系统,恐怕有点吃力。不是和你抬杠哈,就是个个人想法。

让初学者学C,本身就很2啊,关键是少了操作系统,C就跟没学会一样。我也是学完操作系统,才明白C是怎么回事。
K&R的the c language programming就写的很好,也很薄。。
给大家普及的话,PASCAL和BASIC要好很多。现在可以直接Python了。

c language programming里边有跟操作系统相关的东西吗

提到了一点点,就这一点点谭老师的书里面没有写,很多地方就难以理解了,思路就不通了。

没用过高教的教材,不过还是认为教c基础的书应该是标准c的,想往单个方向在发展有其他更深更专注的book,像apue啥的

Ansi C和unix结合太紧密了。如果不了解一点点unix环境,C基本啥都干不了。

额,你让人win c的情何以堪啊

你用win C,也得调用各种windows api吧?
人家大二的linus,学完C语言,就能写出linux内核。
咱们学谭老师的书的牛人们,学完C语言,马上就知道该干嘛?
你也是后来学的windows api吧?不学windows api,你能让c像vb一样弹个窗口出来?

GTK、、、不用学win api的、、、
如果学了CPP,还有Qt和wxWidgets呢、、

GTK里面调用的可是win Api。
Qt和wxWidgets也是对操作系统api的封装。
作为一本讲语言的书,要让人有兴趣,好理解,具点实际有用的例子会死人啊。
我不信Hello Ruby这本书就只讲语法,没有实际的例子。

不错、、最终都要调用底层系统实现呢、、
如果按照此思路,我学习一个C语言要先学操作系统啊、、学习操作系统要管理硬件啊、、我是不是还要先学电子电路?电子电路用的物理原理和化学原料,我是不是首先成为物理和化学砖家啊、、里面还有很多、、、、这样想啥都别学了、、

操作系统是硬件层的封装。在linux里面硬件已经被抽象为文件,在/dev/目录下。
所以后面的说法,只能是你抬杠,或者说难道你真不懂?

对啊、、库也是系统api的封装啊、、、学习语言首先学习对应的库就行了、、系统抽象层,api也罢、、那是提高学的、、基础学习还是纯粹点不较好、、、

@冰河垂钓 回复不能。。到上限了。

我擦了,这么长了

这个嵌套屌!
0
俺是来看妹纸的^_^
0

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“genreason”的评论

引用来自“Brin想写程序”的评论

引用来自“飞翔的猴子”的评论

引用来自“Brin想写程序”的评论

引用来自“飞翔的猴子”的评论

那个时候你觉得谭老师的书不怎么好,是因为那个时候你没学好。你确定从那以后你再看过?你确定现在你再开还是那么“撕心裂肺”?入门其实挺难的。而C无辜中枪了

谭老师的书的问题,是把语言和操作系统分开了。
学习C必须涉及到操作系统。但是谭老师的书里面,一点操作系统都没提到。而这本书印的又太多,所以造成了不太好的影响。

那本书是高等教育出版社出的,作为教材使用的,个人认为,如果让一个计算机初学者一边入门编程一边还要兼顾操作系统,恐怕有点吃力。不是和你抬杠哈,就是个个人想法。

让初学者学C,本身就很2啊,关键是少了操作系统,C就跟没学会一样。我也是学完操作系统,才明白C是怎么回事。
K&R的the c language programming就写的很好,也很薄。。
给大家普及的话,PASCAL和BASIC要好很多。现在可以直接Python了。

c language programming里边有跟操作系统相关的东西吗

提到了一点点,就这一点点谭老师的书里面没有写,很多地方就难以理解了,思路就不通了。

没用过高教的教材,不过还是认为教c基础的书应该是标准c的,想往单个方向在发展有其他更深更专注的book,像apue啥的

Ansi C和unix结合太紧密了。如果不了解一点点unix环境,C基本啥都干不了。

求不带主观色彩

个人喜欢unix*系列的
但是教任何一个主流的都是可以的
unix不代表万能

老师学生都精力有限
我们的数据库就是教sqlserver 也是一个挺主流的数据库
但是我一般只在linux下学习,学过了mysql 了解postgresql
但是老师教sqlserver我觉得也是很合理的
只要不是老师个人闲着蛋疼教一个从没听说过 的也没多少人用的很不主流的就行了
0

引用来自“拜仁慕尼黑”的评论

引用来自“采女孩的小蘑菇”的评论

引用来自“imzhi”的评论

ruby的推广真的做得好,太不缺传教士了。RUBY效率又低,又有什么语法糖,根本就远不如PYTHON易学易用

别扯了,现在py效率已经没ruby高了,语法糖是为了编码效率

ruby是小日本的。抵制日货。

非国产的你都抵制算了

都什么年代了还这样
0

引用来自“imzhi”的评论

ruby的推广真的做得好,太不缺传教士了。RUBY效率又低,又有什么语法糖,根本就远不如PYTHON易学易用

语法糖老二别说老大, python的各种monkey patch, meta class哪少了?

效率求别说, 1.8才是被碾压, 1.9拉近, 2.0有输有赢, 到了2.1 CPython就被各种虐, 当然你要硬说拿Cython开挂的程序或者干脆上PyPy去挑人家CRuby, 那勉强也说得过去.
顶部