Corda started out as a collection of prototypes to explore some new ideas and requirements that the consortium’s Architecture Working Group was interested in, particularly around limited data visibility, and a data model that gave the scalability of the “UTXO set” approach along with the generic programmability of Ethereum’s imperative smart contracts.īecause it wasn’t clear if these prototypes would turn into anything or just inform the thinking of other products on the market, we faced a tricky choice: on one hand, we wanted to rapidly explore algorithms and data structures in a way that was productive. In fact, when the project that would become Corda began in December 2015 (my first day on the job), there were no plans to build a new enterprise distributed ledger. Suffice it to say that if you want a scalable, thread-safe, garbage collected, cross platform runtime with a very large collection of well documented libraries that solve common business tasks then your field has already been narrowed to just the JVM and .NET.Īt the time Corda started development, it didn’t have a name and it wasn’t clear that it’d go ahead and turn into a product. The reasons for choosing the JVM as a platform are well understood in the enterprise space and not something that needs to be dwelled on much here. Having selected the JVM, which language targeting it? Java? If not, why not? And if not, then which of Scala, Ceylon, Clojure, Kotlin, Python, Ruby, Javascript or Haskell to use (as they all have implementations that target the JVM).Which platform to use? JVM, .NET, Node, Python/Ruby, Go, Haskell or native?.We can break this decision down into two parts: This was an unusual choice, so in this post I’ll give some background on why we did it and discuss experiences from our “year of enterprise Kotlin”. When people start looking at Corda’s code the things they notice immediately is that it’s written in Kotlin, a new programming language from JetBrains that targets the JVM and Javascript.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |