Products · Product
NumPy
Raised as a usability problem by 32 people on Hacker News over 14 years (2012–2025), in 25 threads.
No issue was raised by at least 3 people in 3 threads this year.
No issue was raised by at least 3 people in 3 threads in the last 5 years.
Every issue, all time, most people first
Writing clear code requires tuning NumPy calls for performanceUnreviewed
20122026- Hard to write clear code; must spend effort tuning NumPy calls for performance2025-05-15
- Without helper libraries, NumPy is unusable for the author's work2025-05-15
- Users must spend time on performance tricks to use NumPy correctly2025-05-15
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 34 complaints
- 1d arrays are ambiguous row or column vectors, requiring constant workarounds and checking docs2025-12-16
- Unopinionated design that tries to do everything, so it's annoying to use2025-12-15
- Custom protocol type names are obscure and hard to interpret2025-10-15
- Indexing is constantly confounding; hard to know how to make code work2025-05-24
- Hard to learn because the library is poorly documented and internally complex2025-05-16
- Unclear which operations vectorize; silent type conversion surprises when multiplying poly1d objects2025-05-15
- Hard to write clear code; must spend effort tuning NumPy calls for performance2025-05-15
- Easy to accidentally allocate new arrays when forgetting in-place operations2025-05-15
- Without helper libraries, NumPy is unusable for the author's work2025-05-15
- Users must spend time on performance tricks to use NumPy correctly2025-05-15
- Implicit broadcasting works until it silently stops, leaving users confused about the underlying logic2024-12-02
- Too many overlapping ways to build views and multiply arrays, hard to remember2024-06-16
- Python's loose typing and tedious array notation make numerical work hard2023-07-11
- *args/**kwargs signatures without type hints are hard to figure out2023-06-24
- Unclear whether array operations are element-wise or cross products2023-01-03
- Confusing whether operations are element-wise, cross product, or indexing magic2023-01-03
- Library feels unintuitive and stiff to use, hard to work with2022-07-09
- Hard to tell what works with what because nothing has types2022-05-26
- 1d arrays behave unintuitively, causing silent wrong results and confusing stacking behavior2022-03-26
- Has to re-derive the broadcasting incantation for array dot products every time2021-11-26
- Indexing and broadcasting API is confusing, harder than in Mathematica and R2020-10-29
- Confusing mix of methods, in-place and non-modifying operations, and indexing2020-10-28
- Writing allocation-free code is hard, and operations beyond broadcasting become cumbersome and slow2020-10-20
- Writing fast vectorized code needs contorted 5-D broadcasting that takes lots of mental effort2020-09-18
- Hard for newcomers to write fast code; one if statement kills performance2020-09-16
- Must search docs for specific methods instead of using loops2020-09-16
- Numpy's style is unintuitive, so the user must keep consulting Stack Overflow to write code2020-04-09
- Indexing is highly unintuitive, taking hours of documentation to learn2019-05-14
- Multiple overlapping ways to do the same thing confuse students who are learning2018-04-26
- Slightly complicated array indexing takes hours of documentation reading and is easily forgotten2017-04-21
- API errors don't say which parameter caused the mismatch, making debugging hard2017-04-20
- Inconsistent names and many similar functions make it unclear which to use2015-10-22
- Entering matrices is verbose and clunky compared with MATLAB's bracket syntax2013-07-27
- Shared memory handling in NumPy is clunky to work with2012-12-17