ThePromonkeyOf_HeLuo 2017-09-21 02:58 采纳率: 0%
浏览 29

Android程序员如何学习Kotlin?

陈老师,您好。我从事Android一年了,有Java基础。今年I/O大会时就看到了Kotlin的宣传。这几个月以来,在日常的工作之余。我看了一些Kotlin博客,但现在回想起来知识点零碎,分散。陈老师能给一个学习路线的指导嘛?例如:如何入门Kotlin?如何深入学习Kotlin,并将知识应用到项目开发中去?在学习中应重点把握什么?如何更深入的学习Kotlin?

  • 写回答

1条回答 默认 最新

  • 禅与计算机程序设计艺术 人工智能领域优质创作者 2017-09-21 09:54
    关注

    Hi,您好。( 老师,不敢当哦。其实,我也只是个学生。 :)

    Kotlin 相当易于学习——Kotlin语法简洁直观,看上去非常像Scala,但更简单。 它不遵循特定的编程哲学,如函数式风格或面向对象风格。

    以下内容摘自《Kotlin极简教程》1.2.6 小节:

    1.2.6 编程语言学习小结
    学习一门语言大概会经历如下几步。
    1.基本语法
    学习任何东西,都是一个由表及里的过程。学习一门编程语言也一样。对于一门编程语言来说,“表” 就是基本词汇和语法。对于基础语法的学习,我们可以看一些简短而又系统的教程。
    2.编码实践
    所谓“纸上得来终觉浅,绝知此事要躬行”是也,此处就不多说,总之,要掌握基础,持续练习。
    每一门编程语言的学习内容都会涉及:
     运行环境
     数据类型(数字、字符串、数组、集合、映射字典等)
     表达式
     流程控制
     类、方法与函数
    等基本内容,不同的语言还有一些不同的特性。我们可以通过对比学习来加深理解,并通过大量实践深入理解,达到熟练使用。后面还要再去深入了解面向对象编程OOP、函数式编程FP、并发、异常、文件IO、网络、标准库等内容,并辅以持续的练习,这些内容才能够让你真正进入编程领域并做出实际的软件。
    相信10000小时定律,“No Pain, No Gain。”
    学习一门新的语言的时候,要利用以前所学的语言的功底,但是也要保持开放的心态。这些在认知心理学中有相应的讲述。感兴趣的读者可以去了解一下。
    3.技近乎道
    基础语法学习,能让你快速上手,应用实践。对技巧和坑的关注,一定程度上拓展了你的知识面。系统学习,一方面会进一步拓展你的知识面。另一方面,也有利于你语言知识结构的形成。
    任何一门成熟语言,都有其特有的生态。这个生态包括: 框架、扩展包、解决方案、模式、规范等。
    在不断编码实践过程中,我们逐步熟练使用很多API库、框架,也不断踩坑填坑、看源代码、不断解决问题,不断加深对语言的理解,同时会看一些优秀的框架源代码。
    如果还有精力,我们再去学习语言更底层的东西,而不仅仅停留在应用层面。如Java中的集合类实现的算法与数据结构,如JVM是如何执行Java代码的。如Java的线程和操作系统线程的关系。以及一些操作系统方面的知识。
    最后,达到游刃有余的境界。进入这一层级,基本可入武林高手之列了。
    《庖丁解牛》中说到:“臣之所好者,道也,进乎技矣。始臣之解牛之时,所见无非牛者。三年之后,未尝见全牛也。方今之时,臣以神遇而不以目视,官知止而神欲行。依乎天理,批大郤,导大窾,因其固然,技经肯綮之未尝,而况大軱乎!”可以将这里的“牛”理解为我们所说的各种编程思想、编程范式、编程方法、编程技巧等等。最后,达到“运用之妙,存乎一心”之境也。
    4.创造新世界
    “编程的本质就是创造世界。”达到这个境界的,基本都是世界顶尖大牛了。

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘