https://kotlinlang.org logo
a

altavir

11/30/2020, 8:49 AM
@alex cole By the way, I just rememebered that I had an article about migration from Python notebook to Kotlin notebook: https://levelup.gitconnected.com/a-first-dive-into-kotlin-jupyter-eab43dca9472. The visualization and tooling became much better since then.
a

alex cole

12/04/2020, 12:45 AM
It is a good read and you do make some comments on the downsides of using jupyter. I think there kotlin can be used with jupter it may not be as easy as python at least at first. I also watched your kotlin conference video and the only complaint there is the dislike of using docker for python as that can be useful for running on AWS. I think kmath can be as good as numpy but I am unsure of how you really want it to be better. Part of the problem is that numpy was really designed for people coming from matlab and mathmatica to have a replacement with an easy to use wrapper and decent documentation can make that an advantage for live documents such as jupyter. Comparing with matlab some of the basic functions for simple vector operations should simply be built in to make moving code over to kotlin easier for server side development and simulation software that is written in Matlab. With you being a principle maintainer I think one of the best things overall you could do to help the project would be to require something similar to the numpy docstring https://numpydoc.readthedocs.io/en/latest/format.html when handling pull requests so that some documentation exists.
a

altavir

12/04/2020, 6:30 AM
Unswering some questions:
How could it be better?
For example consider lambdas. Numpy is notorios for avoiding lambdas. To the point that a significant part of the library is made to remove lambdas. The reason is that lambdas are run in the python interpreter and thus are very slow. In kotlin we can fully embrace functional approach and simplify the workflow.
Need something simple for matlab/python users
I agree, but we found out that it is impossible to keep the type flexibility and safety and specialization at the same time. So the core is generic and requireds additional lines of code to do simple things with real numbers, but the module
kmath-for-real
adds number of extensions that allows numpy-like experience. So you can use only the core and get flexibility or you can use extension module and get similicity.
Need beeter documentation
Totally agree here. The code is already fully documended with "docstring" - kotlin kdoc. I think that we will create a github pages for the documentation shortly. But my primary concern are usage examples and I think it will be our focus for the nearest future.
a

alex cole

12/04/2020, 7:18 PM
So with wanting some examples what exactly would you want? If you could identify some problems and how you would want them worked I may be willing to help you there. My back ground is in chemical engineering but will soon go for an electrical engineering masters. Also: You might be able to add your own jetbrains edu problem set for training with kmath.
a

altavir

12/04/2020, 8:53 PM
It just requires some time that I do not seem to have right now. I would really appriciate some simple problems as separate issues. It would speed up things. The problem you've sent last time in kotlin should be completely rewritten using a single reduce loop instead of numpyish array operations. It does not really require a special library.
I will write the basic idea when I have the time
5 Views