美文网首页Android软件,程序
“一周一语言”是如何做到的?

“一周一语言”是如何做到的?

作者: stay4it | 来源:发表于2016-10-26 11:36 被阅读1286次

精益创业中推崇的是最小可行产品MVP(minimum viable product), 找到痛点,计算出最简原型,转为最小可行产品,在用户的反馈下不断做迭代。在产品从0到1的阶段,'最小可行产品'MVP非常实用。

在我们学习新知识时也一样,从0到1应以'学以致用'为主。将我们的最终目标简化到让它能够跑起来的配置,再用最快的速度搞定这些配置让它跑起来,之后再折腾什么也有个依托,这样就不致于变成孤立的知识点,转身就忘掉。

单纯的语言本身学习起来不难,主要是语法,函数,作用域。要掌握它们,一个月足够了。

对小白来说,对于新知识体系是没有感知的,只觉得最全最详细的最好。但真正去学的时候,大而全的体系会让人找不着北。一个个新知识蜂拥而上,消化不掉很容易放弃。

假如我们还是按填鸭式教育那样学习。买一本从入门到'精通'的书,从第一章顺序往下看。很有可能学到一半就放弃。就像是在用大石头画一幅巨图,在下面堆石头的人不知道现在画到什么程度了,一开始推石头还挺轻松,堆多了之后就不行了。

一门从入门到'精通'书籍,描述的是一个最终态。必需每一章都顶配,才能构建出这个最终态。而'最小可行系统'只要求最简配置就能跑起来,得到一些正反馈后再去强化升级。如果跟着书一章章学习,验证和反馈机制太漫长,学习效率就慢下来了。

'最小可行体系'是为了掌握某个新知识所需要的最简环境。每款游戏都有最小配置要求,你要做的就是配好最简环境,让你的知识先跑起来。只要它跑起来,惯性使它短时间不会停下来,然后再慢慢添加配置,最终达到稳定。

如何找到'最小可行体系'?

  1. 学习这个知识体系的目标是什么?
  2. 最短时间内到达目标需要那些知识点?
  3. 排好优先级
  4. 专注,一次只学一个知识点

举个例子:

打算学PHP,目标是做一套系统,提供API给移动端使用。

随便找本从入门到精通的PHP书,你会看到这样的学习路线

Paste_Image.png

如果按步就班的去学,那学习周期会非常长,如果还是业余学习,很容易就搁置了。

我们得筛选出最最简配置,PHP基础语法得学,最基本的数据结构以及函数。目标是为了提供API给移动端,可以暂时不用提供web端,前端内容都pass掉。数据库可以暂时优先级放低,先能让移动端调用到API,静态假数据都足够用了。再来就是部署到服务器,不用管分布式,也不用加cache,买个带PHP环境的vps,直接ssh部署就好了。

最最简配置(含优先级):语法,静态API,部署,RESTful API,数据库,权限

这是最核心内容,只要这些配置跑起来了,接下来就是不断往里面添加配置或者丰富配置。(怎么丰富我们在后续的文章中详细描述)

再看打算学Android,目标是以此找份工作。

Paste_Image.png

看,Android知识体系,东西不少对吧。假如一个个学过来,容易懵逼,整个UI component就得花一个月时间来学。反馈的太慢,越学越没有信心。

换个最简配:环境搭建,最小可行app(列表页,详情页,设置页),网络,缓存,权限

事实上,如果已经熟练掌握一门语言,其他语言的部分知识体系是重复的。例如网络,缓存,线程,权限设计等。无非是那些语言wrapper出来的API不一样罢了。

这样一周就能完成'最小可行体系',体验过后才能知道自己是否喜欢这个语言,是否想要深入下去。

其实我们学习时也是一个个'最小'知识节点,但它们是零散的,无法交织成体系。'可行体系'不是孤立知识点的堆积,而是对它们结构性的整合和组织。

从0到1的阶段,别盲目的听别人的建议,容易困惑。比如:

"java有什么好学的,PHP才是最好的语言。"
"Android要学的东西太多了。插件化,Material Design,Retrofit,Rxjava,lambda,gradle,ndk。还是学iOS吧,iOS简单"
"现在都不兴OC了,学swift吧"

假如你对什么语言感兴趣,设想一个'最小可行产品'场景,把需要的内容列出来,转换成需要的用到的知识点,碰到不会的再针对性的问google,问大神。Stay通过这个方法,陆续入门了OC Swift Ruby PHP Python。离全干工程师还有一个JS的距离。

学以致用,从0到1,相信你一定可以。

但有了'最小可行体系'还远远不够,这只是快速评估该语言是否适合你的开始。如果你还想让这个小体系变成一张知识结构网,就需要不断地围绕着它做优化,直到它能够成为你技术变现的一个出口。

如何优化,如何深入学习,如何将语言输出变现?这些大家怎么看呢?不妨讨论下吧。

本文为开篇,Stay会陆续出一个系列来展开自己的观点。希望和大家一起交流,寻找最佳算法。

​推荐阅读:
还需要再学习一门语言吗?
还在用应试教育那一套学编程?
程序员在'抽象化的OOP世界'里该如何发展?

相关文章

  • “一周一语言”是如何做到的?

    精益创业中推崇的是最小可行产品MVP(minimum viable product), 找到痛点,计算出最简原型,...

  • 《好好说话》第15周听课笔记

    周一:072【沟通】如何表达感谢 导师:周玄毅 问题:道谢,似乎是很容易的事,但是如何做到让对方真心想跟你聊下去,...

  • 学习语言,随时随地,只要留心

    在写作时常常感到语言枯燥,怎样使语言做到形象、生动、准确。 读汪曾祺老师的如何学习语言,很值得借鉴。 一、随时随地...

  • 如何写好细节(三)

    今天来谈谈如何写好语言描写! 语言描写,也可以称作对话描写,写好语言描写,人物的立体感更强。 写好语言描写,要做到...

  • 20170810-晨读感悟-言而有信

    语言的力量不可小觑。如何让语言有力量,言而有信是这个要点。 1说到做到 言而有信说的是说出来的话,就要用行动去证明...

  • 丹青医姐:情境再现

    语言的内部表达技巧,情境再现,是语言表达有意境的技巧之一。 那么,如何能够做到情境再现呢?应该是一幅幅的情景和画面...

  • 每周一包薯片,我是如何做到的

    这是一篇宝贵的经验分享帖。 作为一名资深薯片爱好者,听到过的关于对薯片最洞彻人心的告白来自一位的女生:“若不是薯片...

  • 《好好说话》第10周听课笔记

    周一:【沟通】如何做一个有趣的人? 导师:黄执中 问题:理工男、程序员如何摆脱无趣的烦恼?个性内向的人怎么做到有趣...

  • 至少会说三种语言的荷兰人,是如何做到的?

    荷兰人至少会说三种语言,被称为“多种语言翻译器”。荷兰人是如何做到的? 来德国居住前,对欧洲人的语言能力佩服得五体...

  • 在 C 语言中调用不定参数的外部函数

    前言 我曾经一直有个困惑,就是像 JavaScript、Python 这样的脚本语言,是如何做到调用一个外部声明的...

网友评论

  • HWilliamgo:牛逼!
  • ye汪汪:过来人的经验。针针见血!
  • inke:学以致用!
    新手没有总览全局的目光。
  • 一白说烘焙:一语中的的感觉!
  • 这一次我觉得我行:绝对正确,佩服
  • c781ff53488a:有心课堂,传递的不仅仅是技术 :smile:
  • 你家鹏大大:嗯,就是这么想的,要是不能直接看到成果,学习活的东西之间没有联系。学的东西就没有长尾效应,也很难继续坚持下去。一直在怀疑自己,但还是按照自己的思路学下来了。。。
  • 3dfd876eb868:老司机就是不一样

本文标题:“一周一语言”是如何做到的?

本文链接:https://www.haomeiwen.com/subject/rtmduttx.html