This is a creation in Article, where the information may have evolved or changed. Why was the language that was born around 2010 (such as Golang, Rust, Swift) compiled directly into machine code? The question was asked because there was a problem with the question "Why are the languages born before and after 2010 (such as Golang, Rust, Swift) strongly typed + static?", most of which are talking about dynamic language problems
So according to this logic, these two languages are not compiled into intermediate code (Java bytecode and CIL) as Java, C #, and then JIT into machine code at run time, that is not to say the middle code this idea also has a problem?
1 reviews
Share Sort by PollSort by Time
2 answers
What is an answer summary? Summary of Answers
4 approval
objection, will not show your name
Anonymous User Shen,Colliot, Qumbe Others agree that you forgot the language on the JVM such as Scala and Clojure. So the premise of asking questions is not that you forget the language on the JVM such as Scala and Clojure. So the premise of asking questions is wrong. posted on 2015-09-09
Add a Comment
Thank
Share
Collection •No help •Report •Author reserves the right 5 approval
objection, will not show your name
Anonymous User users, Liu Hao,colliot and other people agree that Java and C # can be compiled into machine code, can also be JIT compiled, with the LLVM ir,c/c++/swift is not necessarily to be directly compiled into machine code. Apple has not allowed Swift-developed applications on the store to be compiled directly into machine code, but in the form of bitcode, similar to what the JVM's bytecode is intended to achieve. For example, one day the Apple chip change instruction set, s ... Show All Java and C # can be compiled into machine code, can also be JIT compiled, with the LLVM ir,c/c++/swift is not necessarily to be directly compiled into machine code.
Apple has not allowed Swift-developed applications on the store to be compiled directly into machine code, but in the form of bitcode, similar to what the JVM's bytecode is intended to achieve. For example, one day the Apple chip to change the instruction set, the store on the use of nothing to directly gain performance gains. The same is true of the JVM's bytecode, although Android Art supports AOT compilation, but the same is true for Android, which uses renderscript instead of OpenCL.
Another 2010 before and after the birth of a lot of languages, JVM, Dart/typescript and JS-related, Nim,elixir,crystal,kotlin,ceylon and so on, you see how many are directly compiled to machine code?
As for why Golang is compiled into machine code, can the go language shake Java's position in Android, Hadoop Big Data and cloud computing in the future? In this question, Mr Wang's answer "Dockerization's expenses" is very clear.
The key is not in the bytecode or machine code, but the "type system" of the strength and weakness of the problem is very important, and seems to have reached a consensus, even some FP language to add the type. edited on 2015-09-15
4 reviews
Thank
Share
Collection •No help •Report •Author reserves the right