开头

这里是一些个人开发者接私活和自己做软件加广告的一些科普知识。可是做软件,需要服务器,需要后台,对于一些小的开发者,想赚点广告费而又不想做后台使用服务器的人来说,网上提供了一些免费的接口,可以供我们使用,提供了许多数据。在这里我分享两个不错的提供WEB服务的网站。

正文

JVM 语言得摆正自己的地位,既要考量自己的能力,也得考虑历史的进程。

Java 是亲儿子,又是 JVM 的“原住民”,主导着 JVM 的发展方向,树大根深,枝繁叶茂,“此诚不可与争锋”。

对比其他 JVM 语言,Kotlin 算是能把自己的地位摆得比较正的了,没有“王侯将相宁有种乎”、取 Java 而代之的雄心壮志,反而始终坚持与 Java 的极强兼容性,大量使用 Java API,把臃肿的 Java 代码包装成简短的语句,默默做着“裱糊匠”的工作。目前来看,Kotlin 相当胜任这个角色,类型推断、扩展、空安全、高阶函数,哪个不是实用又强大的语法增强?

在我看来,Kotlin 对 Java 开发者最大的改变不是减少浪费在写代码上的时间,而是一系列思维方式的转变:

  • 与其让开发者手动控制循环,不如把循环封装在类库内部,类 C 语言的三段式 for 循环和 while 循环简直是 bug 和复杂代码的元凶;
  • 面向对象,但不能被类和对象捆住手脚,把函数解放出来!
  • 每一行代码都要用在刀刃上,尽量减少模板代码和多余的声明;
  • 编程语言要设计好“默认配置”,引导开发者多使用“默认配置”,比如类默认不可继承、访问控制符默认 public、集合默认只读、类型默认不为 null 等等;
  • **不变对象优于可变对象,**多用 val 少用 var、多用只读集合少用可变集合、多用非空类型少用可空类型;
  • **类要“回归本心”,只承担“抽象对象”的功能,**Kotlin 鼓励多使用扩展、少在类里塞一堆 API 和实现,尽量采用“类基本框架 + 外部扩展功能函数”的模式。

这些东西都是在学习 Kotlin、写 Kotlin 过程潜移默化地传达给开发者的,能够引导传统守旧的 Java 开发者拥抱现代编程语言。

Kotlin 不是一门学问,而是一套工具,它不像Scala,没有那么重的书卷气,一切特性都为实用、简洁而生;

Kotlin 不是革命者,而是改良者,它不是 Go,没有取天下而代之的野心,只有“让 Java 更好用”的踏实目标,积跬步而至千里;

Kotlin 不完美,但在不断改善,它不像 Java 被 Oracle 一家把持,不允许任何不受控制的特性出现,Kotlin 的诞生和发展都离不开社区推动,越来越多的新特性正在应开发者呼吁加入其中;

Kotlin 不会面面俱到,而是以补 Java 的短板为先,Kotlin 不会变成 C++。

尾声

评论里面有些同学有疑问关于如何学习material design控件,我的建议是去GitHub搜,有很多同行给的例子,这些栗子足够入门。

有朋友说要是动真格的话,需要NDK以及JVM等的知识,首现**NDK并不是神秘的东西,**你跟着官方的步骤走一遍就知道什么回事了,无非就是一些代码格式以及原生/JAVA内存交互,进阶一点的有原生/JAVA线程交互,线程交互确实有点蛋疼,但平常避免用就好了,再说对于初学者来说关心NDK干嘛,据鄙人以前的经历,只在音视频通信和一个嵌入式信号处理(离线)的两个项目中用过,嵌入式信号处理是JAVA->NDK->.SO->MATLAB这样调用的我原来MATLAB的代码,其他的大多就用在游戏上了吧,一般的互联网公司会有人给你公司的SO包的。
至于JVM,该掌握的那部分,相信我,你会掌握的,不该你掌握的,有那些专门研究JVM的人来做,不如省省心有空看看计算机系统,编译原理。

一句话,平常多写多练,这是最基本的程序员的素质,尽量挤时间,读理论基础书籍,JVM不是未来30年唯一的虚拟机,JAVA也不一定再风靡未来30年工业界,其他的系统和语言也会雨后春笋冒出来,但你理论扎实会让你很快理解学会一个语言或者框架,你平常写的多会让你很快熟练的将新学的东西应用到实际中。
初学者,一句话,多练。

由于文章篇幅问题复制链接查看详细文章以及获取学习笔记链接:前往我的GitHub

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐