Hacker News new | ask | show | jobs
by bradleyankrom 1692 days ago
Anecdotal, but in my industry (sports front office), we’ve seen a heavy shift from Rails to Python over the last few years. I don’t think it’s much to do with perceived shortcomings with Ruby/Rails, but rather alignment with what the analytics side of operations uses. Front office R&D groups (typically comprised of systems and analytics) are relatively small, and there’s a fair amount of collaboration between devs and analysts. The Ruby ecosystem doesn’t offer the data science tooling that Python does, so it has been easier for devs to align with analysts (by using Django, Flask, etc) than the other way around.
1 comments

May I ask you what are the tools and/or features that Python offers and Ruby does not? It'd be interesting to invest resources on it, given that Python is not very different from Ruby
Python has numpy and native bindings to Fortran. People often think of Fortran as archaic, but its math libraries are quite fast. With Python bindings, you don't need to write any Fortran in order to have access to those libraries.

Mind you, this is useless for web dev and a lot of other things, but that's still what has tipped the scales for many people.

As wgj says, it's mainly that Python easily interfaces with other languages without having to copy data. This means that we can use a vast amount of highly efficient mathematical libraries written in C, C++ and Fortran.

NumPy and SciPy are the main workhorses of numerical programming with Python, and provide bindings to extremely efficient libraries (mainly a BLAS and LAPACK implementation), that utilizes SIMD parallelism, adaptive thread parallelism based on workload and cache optimal algorithms to minimise communication between the CPU and RAM.

this gives Python multidimensional arrays that have the flexibility of Python types and speed we can only dream of obtaining if we wrote the low-level code ourselves.