舟匪 2017-09-20 07:33 采纳率: 0%
浏览 58

Kotlin 学习难度怎么样? 曲线平缓吗?

Kotlin 学习难度怎么样? 曲线平缓吗?

Kotlin 这门语言学习曲线陡峭吗? 没学过Java 可以直接学习Kotlin 吗?

  • 写回答

1条回答 默认 最新

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

    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.创造新世界
    “编程的本质就是创造世界。”达到这个境界的,基本都是世界顶尖大牛了。

    评论

报告相同问题?

悬赏问题

  • ¥100 c语言,请帮蒟蒻看一个题
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)