zhurong325 / botton

problom
0 stars 0 forks source link

周总结 #5

Open zhurong325 opened 3 years ago

zhurong325 commented 3 years ago

英文文档:

wikipekal :complier,jvm 语言运行机制,IDE(集成开发环境), groovy kotlin

groovy:

Groovy是Java平台上设计的面向对象编程语言,这门动态语言可以作为Java平台的脚本语言使用,Groovy代码动态地编译成运行于Java虚拟机(JVM)上的Java字节码,并与其他Java代码和库进行互操作。 Groovy源代码文件可以当作未编译的脚本执行,如果它含有任何类定义之外的代码,或者它是具有main方法的类,或者它是Runnable或GroovyTestCase。 Groovy脚本在执行之前完成解析,编译和生成(类似于Perl和Ruby)。这发生在下一个层次,编译后的版本不会保存为进程的组件,

IDE支持: Eclipse,插件Groovy-Eclipse IntelliJ IDEA,默认就支持Groovy开发。 NetBeans 默认支持

Kotlin:

Kotlin是一种在Java虚拟机上运行的静态类型编程语言,它也可以被编译成为JavaScript源代码。它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言,虽然与Java语法并不兼容,但在JVM环境中Kotlin被设计成可以和Java代码相互运作,并可以重复使用如Java集合框架等的现有Java引用的函数库。 Kotlin除了编译成Java字节码运行,也可以作为脚本语言解释运行,此特性使得Kotlin可以以交互模式运行。交互模式是脚本语言具有的特性,解释器可以立即运行用户输入的代码,并反馈运行结果。典型的语言有Python、JavaScript(在V8引擎支持下)、Ruby。 2011年7月,JetBrains推出Kotlin项目,这是一个从零编写的面向JVM的新语言,Jetbrains希望这个新语言能够推动IntelliJ IDEA的销售。

IDE支持: IntelliJ IDEA

groovy和Kotlin的区别:

脚本:groovy oop+fp:kotlin

脚本语言几个特点:动态类型,解释执行,还有就是阉割了线程等特性,脚本普遍在多线程,并发领域的特性会薄弱一点,所以需要一个线程安全的环境,会更利于脚本语言的发挥 oop+fp:oop(适合做物理建模,针对物理世界的映射,行为简单,物体相对复杂,比如游戏),fp(适合数学建模,针对数学模型的映射,行为复杂,物体相对简单,比如数据处理,各种复杂公式),封装在object还是func里面要分割清楚,否则oop和fp不停的重构对方的代码,导致项目崩溃。