The more modern “Functional Programming” languages are yet to show the popularity : Haskell, Scala, Clojure, Kotlin (Google / Jetbean). Reason: High learning curve and too abstract mathematics .
Since May 2017 Kotlin released by Google, 12.8% Java developers have converted to Kotlin, yet they still keep to the OO spirit of Java (for Interoperability) , not taking full advantage of FP capability of Kotlin. The OO Design Patterns of Android Java still being used instead of the FP more elegant “Monadic” Design.
1. Interview with Kotlin Designer:
2. Android Studio 3.0 Released : https://www.androidauthority.com/android-studio-3-released-810099/
2a. Android Studio v3.0 with Kotlin built-in & many improvements.
(The previous stable v2.3 needs seperate Kotlin plug-in)
2c: Gradle upgrade
3. Inner / Infix Function
4. Test (Mockito)
5. Function vs Procedure vs Method – Kotlin simplifies all 3 into 1 : Function which always returns a value or UNIT.
6. Kotlin has which Java lacks … “with“, “?”, …
7. Kotlin Operator Overloading aka “Convention”: ‘plus’ / ‘+’
8. JVM Byte Code Generation:
9. Reified Types
10. SICP: Sequence as conventional interfaces: eg. flatmap, map, reduce, fold
12. Generic : Kotlin入门(11)江湖绝技之特殊函数
13. Array <String>: Kotlin入门(4)声明与操作数组
14. ViewPager (Horizontal Swipe)
15. Kotlin 1.2 Beta & Multiplatform iOS
16. Kotlin Edu ( Android Studio 3.0)
17. Kotlin Style Guide
18. Android Layout Foundamental – ConstraintLayout
19. Android SDK
20. Javalin v1.0 – Web Framework for Java + Kotlin
22. Function literals with receiver
23. Sealed classes: (restricted types no “else”)
24. Android Intent
Can Abstract Math be intuitive, ie understood with concrete examples from daily life objects and phenomena ?
Yes! and Abstract Math should be taught by intuitive way!
1. 直观 线性空间 : Intuition in Linear Space
(Part I & II) 矩阵 (Matrix), 线性变换 (Linear Transformation)
Animation: English (Chinese subtitles)
2. 直观 群论 (Intuition in Group Theory)
Below is an excellent intuitive explanation (in Chinese) of the abstract concept Motif by Grothendieck:
Brief Summary – Motif is the source of all “beautiful things” expressed in different forms.
Example : God created Natural Numbers (N), we express N in different forms: Binary (0, 1), Decimal (0, 1, 2 …9), Hexadecimal (0,1, 2…9, a, b, c, …f), etc. However, the “Motif” behind these forms is they all follow for (+, *) operations the same TWO Laws : 1) Commutative; 2) Distributive.
Similarly, in Algebraic Geometry applying the cohomology from Algebraic Topology: étale cohomology, crystalline cohomology, de Rham cohomology are the different forms (~ Binary, Decimal, Hexadecimal), factored through the common “Motif” of the Universal cohomology (~N).
[My Analogy in IT Language]:
Motif is like Interface or Generic, it spells out only the specification, leaving out the implementation (method) in actual classes / functions.
Ref: Alain Connes [Paragraph : Motif in a Nutshell]