Giter Club home page Giter Club logo

Comments (5)

csantanapr avatar csantanapr commented on May 31, 2024

We already started work on Kotlin runtime, work under construction once is stable IBM will contribute to Apache OpenWhisk https://github.com/ibm-functions/runtime-kotlin

from openwhisk-runtime-java.

markusthoemmes avatar markusthoemmes commented on May 31, 2024

Hmm, any reason why we'd build a specific Kotlin runtime vs. just using the Java one?

from openwhisk-runtime-java.

mkouba avatar mkouba commented on May 31, 2024

I think the reason is that java actions don't need kotlin standard library and so to keep the java runtime and java action jar minimal a dedicated runtime (with kotlin-specific stuff bundled) is considered.

from openwhisk-runtime-java.

seabaylea avatar seabaylea commented on May 31, 2024

There's really two reasons for having a specific Kotlin runtime:

  1. Platform and dependencies
    As @mkouba says, it means that we can embed the Kotlin standard library into the runtime and remove the need to include it in the action. It also means that in the future we have the option to switch to kotlin-native in the future if it makes sense to.

  2. Programming model and customisations
    It makes it much easer to customise for Kotlin and adopt a more idiomatic programming model. For example, experimental Kotlin runtime does simple things like append the "Kt" to the class name for you. The experimental runtime also adds a data class based API so that you can avoid having to work with JSON directly. The next step would be to look more at how to implement a Kotlin idiomatic async API.

from openwhisk-runtime-java.

mkouba avatar mkouba commented on May 31, 2024

The experimental runtime also adds a data class based API so that you can avoid having to work with JSON directly.

This is also possible in Java, using e.g. Gson. Of course, java does not data data classes and so it's much more verbose.

This should imho be definitely added to java runtime too.

Kotlin idiomatic async API

Makes sense.

from openwhisk-runtime-java.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.