4 ms·
> It’s a sort of hybrid of a general purpose language and a DSL. Let’s call it a Specific Purpose Language, where the purpose in this case is “doing stuff to nu
by submeta 9y ago
> It’s a sort of hybrid of a general purpose language and a DSL. Let’s call it a Specific Purpose Language, where the purpose in this case is “doing stuff to numbers”
While I do appreciate and like both APL and J, I wonder why the author does not (or does he?) use Python + Pandas for this type of calculations.
- throwaway7645 9y agoI've used Pandas a bit and it certainly works well, but there are a lot of library functions to learn while J seems to basically be learn the two uses for every symbol and know how to do all math stuff ;). I'm always impressed to see derivative and both matrix inversion & transpose as elementary operations instead of googling for a library that is most likely poorly documented. Furthermore, since the vector is the basic data type, things like matrices crop up a lot more in J & APL. In Python they are for scientific pursuits. In J they will often crop up even if you're writing a blackjack game. I think this is why it doesn't appeal to many programmers without a strong mathematics background, but it's very appealing to those who have that kind of background and grow tired of writing incessant loops.
- hwayne 9y agoIn all honesty it's more a comfort thing: I'm so used to vanilla Python that the extra stuff in Pandas messes with my head. It's just easier for me to work in a completely different language. Also J is more fun as a puzzle language, so I use it for personal projects. If I was writing stuff for production I'd probably (if begrudgingly) use Pandas instead.