Pains

2403 pains collected

Category:
Tech:
Severity:

Semantic versioning requirement mismatches regulatory compliance workflows

4

The requirement to use semantic versioning doesn't align well with software under regulatory compliance, where version numbers often reflect multiple regulatory and product considerations rather than pure API compatibility.

compatibilityRust

Missing C99 Features: Variable-Length Arrays

4

C++ lacks variable-length arrays (VLAs) from C99, forcing developers to use heap allocation or fixed-size arrays as workarounds, adding complexity and runtime overhead for stack-based dynamic sizing.

compatibilityC++C99

Multilingual Comprehension Degradation

4

ChatGPT struggles with language switching and has limited proficiency in non-English languages, especially less commonly spoken ones. Response quality depends heavily on training data availability, with less cohesive and comprehensive outputs for languages other than English and Chinese.

compatibilityChatGPT

Enforcing code style and alignment

4

Aligning code to project coding standards and automatically enforcing style conventions is a pain point in C++ development workflows.

dxC++

Insufficient IDE support and modern tooling

4

Go lacks powerful IDE support and modern tooling compared to other ecosystems, with documentation and language features lagging behind contemporary standards.

dxGo

Missing support for Deno runtime

4

Prisma does not officially support the Deno JavaScript runtime, limiting options for developers building Deno applications that need database access.

compatibilityPrismaDeno

Object-oriented programming integration issues with numeric/data libraries

4

Python's object-oriented paradigm doesn't integrate well with numeric and data manipulation libraries like NumPy and Pandas, creating an awkward development experience when combining OOP with these tools.

ecosystemPythonNumPyPandas

Empty Collection Allocation Overhead

4

Habitually allocating new empty collections (arrays, lists) instead of using cached singletons causes unnecessary memory pressure and increases Garbage Collection overhead, especially in high-frequency loops.

performanceC#.NET

Limited and Non-Standardized RTTI Type Information

4

C++ RTTI provides only the type name without full type information, and type naming is not standardized across compilers, limiting reflection capabilities and making type-based dispatch unreliable across platforms.

compatibilityC++RTTI

Unsafe code required for aliased mutable borrows within structs

4

Getting mutable borrows to different fields of the same struct simultaneously requires unsafe code despite the compiler being able to verify memory safety, creating friction for common programming patterns.

dxRust

Lack of native usage monitoring and cost dashboards requires external tools

4

S3 does not provide built-in detailed usage monitoring dashboards. Teams must rely on integrations with external tools to track costs and usage, making it difficult to monitor spending and prevent runaway bills without manual setup and additional overhead.

monitoringAmazon S3

Static typing reduces flexibility for dynamic programming tasks

4

Rust's strict static typing makes it less flexible than dynamically typed languages like Python or JavaScript, creating challenges for certain types of programming tasks and edge cases that are easier in dynamic languages.

compatibilityRust

Missing built-in statistics and machine learning functionality

4

Python lacks integrated statistics and machine learning functionality in the standard library, requiring external library dependencies for these critical data science tasks.

ecosystemPython

Rails perception as outdated framework hurts recruitment and morale

3

Rails is no longer perceived as trendy or cutting-edge in 2025. Developers who want to work with technologies featured on Hacker News or Twitter may find Rails unfashionable, potentially creating recruitment challenges and team morale issues.

ecosystemRuby on Rails

Testing dependencies pollute go.mod

3

Testing dependencies appear in go.mod alongside production dependencies, creating unwanted coupling and making dependency management harder to reason about.

configGo

Slow template search UI causing developer friction

3

The template search feature in the Railway UI has poor performance, taking 3-4 seconds to search on reasonably powerful machines, causing unnecessary delays during project initialization.

dxRailwayReact

STL Iterator Verbosity and Missing Convenience Methods

3

STL iterators and algorithm calls are verbose and cumbersome. Common operations like finding elements in `std::set` lack template-based convenience methods, forcing developers to use verbose iterator-based approaches.

dxC++STL

Knex query API uses custom syntax unfamiliar to SQL developers

3

Knex's query API uses MongoDB-like syntax (e.g., `{ $in: [...] }`) that is neither standard SQL nor intuitive for developers familiar with SQL, creating a learning curve.

dxKnex

TCP Unused or Broken Protocol Features

3

TCP has a long history of unused or broken features (e.g., TCP urgent flag) that add complexity without functional benefit, creating legacy cruft that cannot be removed due to backward compatibility constraints.

compatibilityTCP

No user-defined operator overloading reduces code readability

3

Java does not support user-defined operator overloading, making code less readable for classes representing mathematical objects like complex numbers and matrices.

dxJava

Grammar and Spelling Errors in Long-Form Content

3

While ChatGPT produces technically correct responses, it frequently violates language rules, especially in long sentences with complex structures. Typos and grammatical errors negatively impact the quality of generated text.

dxChatGPT

Drafts-to-move feature adds confusing workflow step

3

Figma's 'Drafts to move' feature creates unnecessary friction in file management workflows. Users find it confusing and report it adds complexity without clear value.

dxFigma

Difficult to search through resolved/archived issues

3

User interface for searching and filtering through resolved issues is not intuitive or efficient. Time-consuming to find historical issues or archived data.

dxSentry

Uses inappropriate or unconventional Git commands

3

Claude Code uses weird or non-standard Git commands that may not work as intended or follow project conventions.

dxClaude CodeGit