Replies: 7 comments 27 replies
-
The Let's-plot Kotlin API was designed this way (copied from ggplot2 API, frankly) keeping in mind the people who use and love the original ggplot2 library in R or its Python ports (there are some, including Lets-plot itself). Note that Let's-plot API is not following neither Kotlin nor Python's PEP 8 style guides as its classes and functions alike use snake_case symbols. We are not planning to deprecate these symbols in Lets-plot (if this is your proposal) but, I heard there is another plotting API in development, which would be 100% Kotlin idiomatic so that one can choose according to preferences. |
Beta Was this translation helpful? Give feedback.
-
Although being a long term (10y+) R professional , it feels not kotlinesque (but imho rather inconvenient) to deviate from java/kotlin naming conventions here. One beauty of kotlin for data-science is, that it ties in naturally into complex domain models written in kotlin/java, so providing a natural API experience clearly outweighs the initial mental migration when coming from r to kotlin. A third strong argument imho in favor of kotlin naming conventions for lets-plot-jvm is, that the intersection of R users and kotlin developers is rather small. Even after years of searching for such like-minded colleagues, I have not personally met a single one yet (except myself in the mirror). Cleary there is a lot of perception bias in this argument, however I still think its valid more generally. A kotlin-naming-compliant ggplot API can look very natural, see https://github.com/holgerbrandl/kravis#first-example. Clearly, I'd prefer lets-plot here in the long run, because of its much better backend implementation (that does not rely on R/ggplot itself). |
Beta Was this translation helpful? Give feedback.
-
An expression like:
if brought in compliance with kotlin naming convention, would look:
All right, it less resembles ggplot2 and ugly on its face. I just don't see a value in such transition. |
Beta Was this translation helpful? Give feedback.
-
Is a good alternative and this would be a different, not ggplot-like API. The world, it seem is devided to folks who think that ggplot is elegant and to anti-ggplot crowd. I myself appreciate and on a regular basis compose plot features like:
From a library design standpoint, having an API class representing a plot layer is a lot superior in comparison to API methods, because this allows to factor various traits out to abstract classes and interfaces and then use inheritance to combine these traits. So, I have designed a ggplot-like API. Currently, the only example of such a specialized class is CorrPlot. |
Beta Was this translation helpful? Give feedback.
-
Hi guys, I have a linguistic / terminological question. We are renaming "linerange" is likely an existing word as well, so:
But what would be better for a) keep doing the same: Another question is about "2-dimentional" and "2-dimentional filled": Rename a) What do you think? |
Beta Was this translation helpful? Give feedback.
-
FYI: a bit of problem with Kotlin kernel: Kotlin/kotlin-jupyter#185 |
Beta Was this translation helpful? Give feedback.
-
Hi all, check-out the camelCase naming style in just released v2.0.1. |
Beta Was this translation helpful? Give feedback.
-
For reference, I'm linking the official naming conventions of Kotlin: https://kotlinlang.org/docs/coding-conventions.html#naming-rules
I'm suggesting to always keep the snake_case symbols at warning deprecation level for discoverability when people come from Python, quite like the deprecated symbols in kotlinx.coroutines for people coming from RxJava or RxWhatever, except that here, it'd compile and run, so you can see it work before making it idiomatic.
Beta Was this translation helpful? Give feedback.
All reactions