学习一样东西,你最看重的是什么?
不是,大多数人都在学
不是,简单易学
不是,它看起来很好
不是,......
学习一样东西,最要关心的是,
你最终得到了什么样的改变?
而最重要的改变,是思考方式的改变。
因为你不需要费任何气力,
就可以将你的思考方式,用在衣食住行的各个地方,
进而帮你产生更大的价值。
所以学习一门语言并不是,简单地学习一门语言,
而是学习思考的方式。
别废话,到底该学什么?
在我学习了众多编程语言之后,
如:java、python、nodejs、ruby、小程序开发等等,
我推荐你从这里入手,
https://guides.rubyonrails.org/getting_started.html
这是Ruby on Rails从0到实现一个博客网站的极简教程,
完成整个学习实现自己的第一个博客网站,
我只用了大约1个小时。
别着急。
我想先给你介绍一个人。
他们可能会成为你甚至你孩子的老师,
相信我花点时间是值得的。
每个家长都会去了解一下,学校的老师背景如何?
现实世界中的“超级学习者”戴维·海涅迈尔·汉森是 Ruby on Rails 的创造者,
Basecamp (https://basecamp.com/)的创始人和首席技术官,
以及 多本书的作者……
此外他还是一位专业的勒芒赛车手。
“把你头脑中那种‘学习的速度有上限’的想法剔除掉…,你可以把大部分学习的轨迹压缩到非常、非常短的时间里…”
—— 戴维·海涅迈尔·汉森(David Heinemeier Hansson)
DHH关于Rails 哲学给出了两个主要的指导原则:
这不容易,比如这篇文章,早上醒来的时候一下子写完了,
但是因为异常原因,文件没有保存上,我又重新写了一遍。
如果你有类似的经历,你一定对重复这件事深恶痛绝,
DHH会通过rails展示他是如何解决重复问题的。
这有点像小孩子玩游戏,总会约定谁扮演大坏蛋,谁扮演英雄,从而使事情非常的自然。
孩子们天生就懂得的东西,在成人的世界里失去了,
DHH在rails中找回了这种方式,你会学到在约定中如何编程,而不需要浪费多余的精力为数据库到底叫什么名字费心。
所以还记得吗?
你真正要从DHH的rails身上学习的,是思考的方式。
所以我建议你在阅读上面的资料的时候,
问一问自己,
为什么他会先讲这个?
为什么他会想到这个?
为什么在这里要这样做?
观察DHH先做了什么?又做了什么?这背后的习惯是什么?
我举一个例子,
教程中不只是告诉你如何做,DHH还会说明为什么要这样做。
当你执行下面的命令后,DHH会告诉你应当看到什么反馈,其中什么是最重要的。
bin/rails generate controller Articles index --skip-routes
这是一种暗示,你在行动前要明确为什么,如何做?
如同上面的两条指导原则,
关于减少重复,Rails 明确承认应用程序所做的大部分工作都是 CRUD(创建、读取、更新和删除),并提供了许多功能来帮助简化执行 CRUD 的代码。
在入门教程中专门有一章是讲重构的,
这很少出现在入门课程中,但是rails从最初就教给初学者养成良好的思维习惯,这很重要,
我建议这个部分你多看几次,反复得研究。
当然,学习编程不单单是一门语言。
事实上我建议你,多学几门语言,
但你应当从教给你学习思考方式的地方开始。
这些资料的目的就和前面我提到的一样。
我建议你多学几门语言。
别担心,
不要急于下定论。
如果上面的内容你和你的孩子觉得很难,
可以从这里,仔细地找找,
找一份自己喜欢的,从兴趣入手很必要。
https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-langs.md#ruby
这些资料不见得现在看,
你也不必都看,
把这当成一次探险,
或者是玩一场,现实生活的rpg游戏。
游戏里你唯一的资源是你的时间,
你想获得是什么就要用时间去兑换。
时间用在哪,最终的收获就在哪里。
捞干的,挑肉吃。
还有一个好消息告诉你,
如果你真心学习了上面的内容,
即便最后你没有学成上什么,
至少你的英语水平得到了提升。
说实话,类似上面的文章,网上的文章很多,
大多数都是从基础开始,比如:
Windows/mac系统操作、html&css、编程之道、git、ruby、rails、js,
我会从前面的DHH给出的指导手册入手,
毕竟这篇手册可以学到DHH的思考方式,
然后根据需要针对性的学习用得上的东西。
为此你可能会遇到类似下面的问题,
我把它们写在这里,当你动手学习时,如果遇到了相应的问题可以来看看:
遗憾的是,因为一些这样或那样的原因,
国外的一些网站我们访问起来是有问题的,
比如:MacOS系统使用 Homebrew 官方地址时,报错:
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443
解决办法:
使用国内源,
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
我建议你不要简单拿得一个答案,
事实上,你可以发现这个地址是国内的gitee仓库,
于是类似的问题,你应当学会去国内的网站寻找,
未必只是gitee,可供选择比你想象的要多,
只要你不是第一个走这条路的人,总是可以找到一些踪迹的,
我建议你也留下一些痕迹,就像我一样,不只是帮助后来者,
也是对自己收获的总结。
说实话,这是常有的事儿,我无法保证你和我的问题一样,
但是,我可以保证你总会遇到,
我的解决方案是关闭当前的窗口,重启电脑,
然后起身活动一下,喝杯水,做个拉伸运动,
甚至于去睡觉。
你可能会觉得这也太不负责任了吧,
不过,这是一种策略,
放松一下,你可能会有意外发现。
这个问题说实话受欢迎程度最低,但是最重要。
如果你花了几个月的时间,然后发现自己不能通过编程解决任何现实问题,
恭喜你,进步了,
你明白了编程并不是一切,你需要抬头思考一下,
什么才是最重要的?
你要解决的问题是什么?
然后才是要如何解决,
最后才是通过编程实现的。
我是昨天晚上和我弟聊天时,聊到了学什么语言,
但是,我想到了我还没用过rails,
所以我花了点时间(不到一个小时)学习它,
但是,我在学习之前的目标是想好了的,
我非常清楚我要做一个网站,把我日常查看的新闻地址汇总起来,
然后分类,
帮助那些像我之前一样不知道要看什么的人,更好的认识世界,
它现在是这个样子的,别着急,
我并没有按顺序学习一门语言,对我来说,我知道我要什么,我要学的只是刚好能满足我需要的部分。
最后,我想告诉你的是,不要相信我说的就全是对的,
但是,你应当明白,学习编程不是最重要的,
最重要的是思考方式,
我会向那些已经做出成绩的人学习。
抱歉,让大家久等了。
留言与评论(共有 0 条评论) “” |