HackerFriction Feedback

Products · Product

C

Raised as a usability problem by 165 people on Hacker News over 19 years (2008–2026), in 161 threads.

Ranked by people · period

No issue was raised by at least 3 people in 3 threads this year.

  1. 1
    Mixed pointer and non-pointer declarations are easy to misreadUnreviewed

    9 people in the last 5 years · 9 threads

  2. 2
    String handling is clunky with no native string supportUnreviewed

    5 people in the last 5 years · 5 threads

  1. 1
    Mixed pointer and non-pointer declarations are easy to misreadUnreviewed

    23 people since the beginning · 23 threads

  2. 2
    C syntax makes novice programmers prone to errorsUnreviewed

    10 people since the beginning · 10 threads

  3. 3
    String handling is clunky with no native string supportUnreviewed

    8 people since the beginning · 8 threads

  4. 4
    strncpy and strlcpy fail silently or truncate, causing errorsUnreviewed

    4 people since the beginning · 4 threads

  5. 5
    A missing semicolon produces a litany of unrelated errorsUnreviewed

    4 people since the beginning · 4 threads

  6. 6
    Splitting strings is hard since strtok is bannedUnreviewed

    4 people since the beginning · 4 threads

  7. 7
    Macros are extremely hard to debugUnreviewed

    4 people since the beginning · 4 threads

  8. 8
    Every call needs a return-code check, easy to get wrongUnreviewed

    3 people since the beginning · 3 threads

  9. 9
    Locale is process-global and can't be passed to library functionsUnreviewed

    3 people since the beginning · 3 threads

  10. 10
    Mismatched braces produce meaningless errors across the whole fileUnreviewed

    3 people since the beginning · 3 threads

  11. 11
    Segfaults are nearly impossible to debugUnreviewed

    3 people since the beginning · 3 threads

  12. 12
    No memory protection makes C programming very hardUnreviewed

    3 people since the beginning · 3 threads

Every issue, all time, most people first

  1. Mixed pointer and non-pointer declarations are easy to misreadUnreviewed

    23 people since 2012, in 13 different years · 2 this year

    2008: 0 people2009: 0 people2010: 0 people2011: 0 people2012: 1 person2013: 2 people2014: 1 person2015: 2 people2016: 0 people2017: 1 person2018: 1 person2019: 2 people2020: 2 people2021: 3 people2022: 3 people2023: 1 person2024: 2 people2025: 0 people2026: 2 people
    20082026
    Something wrong here?
  2. C syntax makes novice programmers prone to errorsUnreviewed

    10 people since 2011, in 7 different years · none this year

    2008: 0 people2009: 0 people2010: 0 people2011: 1 person2012: 0 people2013: 0 people2014: 0 people2015: 0 people2016: 2 people2017: 2 people2018: 1 person2019: 0 people2020: 2 people2021: 0 people2022: 1 person2023: 0 people2024: 0 people2025: 1 person2026: 0 people
    20082026
    Something wrong here?
  3. String handling is clunky with no native string supportUnreviewed

    8 people since 2016, in 7 different years · 1 this year

    2008: 0 people2009: 0 people2010: 0 people2011: 0 people2012: 0 people2013: 0 people2014: 0 people2015: 0 people2016: 1 person2017: 0 people2018: 0 people2019: 1 person2020: 0 people2021: 1 person2022: 1 person2023: 2 people2024: 1 person2025: 1 person2026: 0 people
    20082026
    Something wrong here?
  4. strncpy and strlcpy fail silently or truncate, causing errorsUnreviewed

    4 people since 2018, in 4 different years · none this year

    2008: 0 people2009: 0 people2010: 0 people2011: 0 people2012: 0 people2013: 0 people2014: 0 people2015: 0 people2016: 0 people2017: 0 people2018: 1 person2019: 1 person2020: 0 people2021: 1 person2022: 0 people2023: 0 people2024: 0 people2025: 1 person2026: 0 people
    20082026
    Something wrong here?
  5. A missing semicolon produces a litany of unrelated errorsUnreviewed

    4 people since 2013, in 4 different years · none this year

    2008: 0 people2009: 0 people2010: 0 people2011: 0 people2012: 0 people2013: 1 person2014: 0 people2015: 0 people2016: 0 people2017: 0 people2018: 1 person2019: 0 people2020: 1 person2021: 1 person2022: 0 people2023: 0 people2024: 0 people2025: 0 people2026: 0 people
    20082026
    Something wrong here?
  6. Splitting strings is hard since strtok is bannedUnreviewed

    4 people since 2013, in 4 different years · none this year

    2008: 0 people2009: 0 people2010: 0 people2011: 0 people2012: 0 people2013: 1 person2014: 0 people2015: 0 people2016: 0 people2017: 0 people2018: 0 people2019: 0 people2020: 1 person2021: 0 people2022: 0 people2023: 1 person2024: 1 person2025: 0 people2026: 0 people
    20082026
    Something wrong here?
  7. Macros are extremely hard to debugUnreviewed

    4 people since 2013, in 4 different years · none this year

    2008: 0 people2009: 0 people2010: 0 people2011: 0 people2012: 0 people2013: 1 person2014: 0 people2015: 0 people2016: 0 people2017: 1 person2018: 0 people2019: 1 person2020: 0 people2021: 1 person2022: 0 people2023: 0 people2024: 0 people2025: 0 people2026: 0 people
    20082026
    Something wrong here?
  8. Every call needs a return-code check, easy to get wrongUnreviewed

    3 people since 2018, in 3 different years · none this year

    2008: 0 people2009: 0 people2010: 0 people2011: 0 people2012: 0 people2013: 0 people2014: 0 people2015: 0 people2016: 0 people2017: 0 people2018: 1 person2019: 0 people2020: 0 people2021: 0 people2022: 1 person2023: 1 person2024: 0 people2025: 0 people2026: 0 people
    20082026
    Something wrong here?
  9. Locale is process-global and can't be passed to library functionsUnreviewed

    3 people since 2018, in 3 different years · none this year

    2008: 0 people2009: 0 people2010: 0 people2011: 0 people2012: 0 people2013: 0 people2014: 0 people2015: 0 people2016: 0 people2017: 0 people2018: 1 person2019: 0 people2020: 0 people2021: 0 people2022: 1 person2023: 1 person2024: 0 people2025: 0 people2026: 0 people
    20082026
    Something wrong here?
  10. Mismatched braces produce meaningless errors across the whole fileUnreviewed

    3 people since 2013, in 3 different years · none this year

    2008: 0 people2009: 0 people2010: 0 people2011: 0 people2012: 0 people2013: 1 person2014: 0 people2015: 0 people2016: 1 person2017: 0 people2018: 0 people2019: 0 people2020: 1 person2021: 0 people2022: 0 people2023: 0 people2024: 0 people2025: 0 people2026: 0 people
    20082026
    Something wrong here?
  11. Segfaults are nearly impossible to debugUnreviewed

    3 people since 2014, in 3 different years · none this year

    2008: 0 people2009: 0 people2010: 0 people2011: 0 people2012: 0 people2013: 0 people2014: 1 person2015: 0 people2016: 1 person2017: 0 people2018: 0 people2019: 0 people2020: 0 people2021: 0 people2022: 1 person2023: 0 people2024: 0 people2025: 0 people2026: 0 people
    20082026
    Something wrong here?
  12. No memory protection makes C programming very hardUnreviewed

    3 people since 2015, in 3 different years · none this year

    2008: 0 people2009: 0 people2010: 0 people2011: 0 people2012: 0 people2013: 0 people2014: 0 people2015: 1 person2016: 0 people2017: 0 people2018: 0 people2019: 0 people2020: 0 people2021: 0 people2022: 0 people2023: 0 people2024: 1 person2025: 1 person2026: 0 people
    20082026
    Something wrong here?

This list counts all time; the period switch above only changes the ranking. Each issue is a group of similar complaints raised by at least 3 people in 3 different months and threads. Each line under an issue is Claude Haiku's summary of one of its latest comments, not a quote; follow it to read the comment on Hacker News.

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 50 complaints