badkins
2022-1-1 20:56:33

I’ve been researching Python for potential use in data science projects. While I appreciate the Python ecosystem for data science (the sole reason I’m interested), it really increases my appreciation for Racket as a programming language!


seanbunderwood
2022-1-1 22:29:05

That’s about where I am with Python vis-a-vis data science. I don’t actually like the language very much, but nothing else will let me get my job done anywhere near as efficiently.


seanbunderwood
2022-1-1 22:30:46

It’s funny, people like to complain about the GIL, and I suppose the lack of multithreading sometimes annoys me, too, but it’s also the secret sauce that makes C extensions possible, and I’m pretty sure C extensions are the secret sauce that makes Python’s scientific computing ecosystem work so well.


badkins
2022-1-1 22:37:56

Yes, I think extending with C/C++ is key for Python. I’m also fine with just embracing idiomatic Python for what it is vs. trying to code Racket/Scheme in Python :) Julia folks talk about solving the “two language problem”, which I think has merit, but there is also a benefit to the “two language problem” i.e. if folks are willing to create high performance libraries in another language for use in Python, that’s helpful.


badkins
2022-1-1 22:39:22

I’m actually kind of glad Julia didn’t work out for me. With Python, it’s easier to just view it as a pragmatic tool for getting stuff done, with no possibility of me being distracted from Racket as my primary programming language. I suppose there wasn’t that much chance of it in Julia, but certainly more than Python.


badkins
2022-1-1 22:41:10

The trick will be to identify the appropriate boundary between Racket and Python. I’m leaning toward doing more of my data acquiring/cleaning in Racket, and use Python for NumPy/SciPy/plotting.


seanbunderwood
2022-1-1 22:52:40

I’m watching Julia with interest, but it’s the honest truth that none of Python’s shortcomings particularly hurt me at work. I don’t think that’s a blub situation. I’m an avid polyglot, so I think I generally know what other options have to offer.


seanbunderwood
2022-1-1 22:55:53

You might be interested in hy, if you haven’t already tried it?

https://docs.hylang.org/en/alpha/


laurent.orseau
2022-1-2 07:24:18

How I crave for FFI bindings/port of Numpy to Racket…


laurent.orseau
2022-1-2 07:24:37

And Jax, so that doesn’t make it easier